- VerifyTokenAsync 인증 우회 차단 (빈 문자열→null 반환) - HandleAuth/OnIntoBossRaid async void→async Task 전환 - await 후 스레드 안전성 확보 (sessionLock 도입) - 보스레이드 파티원 세션/토큰 개별 전달 (tokens Dictionary 타입 수정) - 409 Conflict 처리 추가, bossId 하드코딩 제거 - 채널 이동 시 레이드 맵 해제, 플레이어 상태 보존 - 파티원 닉네임 손실 수정, HandlePartyLeaveOnExit 알림 타입 수정 - PacketCode enum 명시적 값 할당, MaplId→MapId/BossRaidAccesss→Access 오타 수정 - Channel.UserCount 음수 방지, HandleAuth 재연결 로직 수정 Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
81 lines
2.0 KiB
C#
81 lines
2.0 KiB
C#
namespace MMOserver.Packet;
|
|
|
|
public enum PacketCode : ushort
|
|
{
|
|
// 초기 클라이언트 시작시 jwt토큰 받아옴
|
|
ACC_TOKEN = 1,
|
|
|
|
// 내 정보 로드 (서버 -> 클라)
|
|
LOAD_GAME = 2,
|
|
|
|
// 모든 채널 로드 - jwt토큰 검증후 게임에 들어갈지 말지 (내 데이터도 전송)
|
|
// (서버 -> 클라)
|
|
LOAD_CHANNEL = 3,
|
|
|
|
// 나 채널 접속 (클라 -> 서버)
|
|
INTO_CHANNEL = 4,
|
|
|
|
// 파티 채널 접속 (클라 -> 서버)
|
|
INTO_CHANNEL_PARTY = 5,
|
|
|
|
// 새로운 유저 채널 접속 (서버 -> 클라) / 유저 채널 나감 (서버 -> 클라)
|
|
UPDATE_CHANNEL_USER = 6,
|
|
|
|
// 채널 나가기 (클라 -> 서버)
|
|
EXIT_CHANNEL = 7,
|
|
|
|
// 맵 이동
|
|
CHANGE_MAP = 8,
|
|
|
|
// 단체로 맵 이동
|
|
PARTY_CHANGE_MAP = 9,
|
|
|
|
// 파티장이 보스 레이드(인스턴스 던전) 입장 신청 (클라 -> 서버)
|
|
INTO_BOSS_RAID = 10,
|
|
|
|
// 플레이어 위치, 방향 (서버 -> 클라 \ 클라 -> 서버)
|
|
TRANSFORM_PLAYER = 11,
|
|
|
|
// 플레이어 행동 업데이트 (서버 -> 클라 \ 클라 -> 서버)
|
|
ACTION_PLAYER = 12,
|
|
|
|
// 플레이어 스테이트 업데이트 (서버 -> 클라 \ 클라 -> 서버)
|
|
STATE_PLAYER = 13,
|
|
|
|
// NPC 위치, 방향 (서버 -> 클라)
|
|
TRANSFORM_NPC = 14,
|
|
|
|
// NPC 행동 업데이트 (서버 -> 클라)
|
|
ACTION_NPC = 15,
|
|
|
|
// NPC 스테이트 업데이트 (서버 -> 클라)
|
|
STATE_NPC = 16,
|
|
|
|
// 데미지 UI 전달 (서버 -> 클라)
|
|
DAMAGE = 17,
|
|
|
|
// 파티 생성/삭제, 파티원 추가/제거 (서버 -> 클라)
|
|
UPDATE_PARTY = 18,
|
|
|
|
// 파티 참가/탈퇴/생성/해산 요청 (클라 -> 서버)
|
|
REQUEST_PARTY = 19,
|
|
|
|
// 채팅 (클라 -> 서버 & 서버 -> 클라) - GLOBAL / PARTY / WHISPER
|
|
CHAT = 20,
|
|
|
|
// ECHO
|
|
ECHO = 1000,
|
|
|
|
// DUMMY 클라는 이걸로 jwt토큰 안받음
|
|
DUMMY_ACC_TOKEN = 1001,
|
|
|
|
// 요청 실패 응답 (서버 -> 클라)
|
|
ERROR = 9999
|
|
}
|
|
|
|
public class PacketHeader
|
|
{
|
|
public PacketCode Code;
|
|
public ushort BodyLength;
|
|
}
|