Commit Graph

74 Commits

Author SHA1 Message Date
qornwh1
5221261d1e feat : 주석 업데이트 2026-03-30 17:29:57 +09:00
qornwh1
462f9d98f1 feat : 파일 정리 2026-03-30 14:29:13 +09:00
qornwh1
530f32420d feat : GameServer 패킷 메시지 단위 분할 / 플레이어 정보 변환 기능 변경 2026-03-30 14:29:02 +09:00
qornwh1
2ebd0120ab feat : 코드 주석 정리 2026-03-30 12:47:36 +09:00
qornwh1
0617e6a194 feat : 코드 단락 정리 2026-03-30 12:29:20 +09:00
cfc242f248 Fix: 보스 레이드 입장 시 503 응답 처리 추가
- BossRaidAccessAsync에서 ServiceUnavailable(503) 응답도 입장 거절로 처리
- 기존에는 503이 예외로 빠져 불필요한 3회 재시도 후 실패

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-23 22:04:04 +09:00
0f1ee36794 Fix: 보스 레이드 입장 실패 시 구체적 사유 전달
IntoBossRaidPacket에 Reason 필드 추가.
파티 없음, 파티장 아님, API 실패 등 실패 사유를
클라이언트에 전달하여 유저에게 안내.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-20 11:00:51 +09:00
64855c5a69 Fix: 플레이어 프로필 DB 연동, 파티 초대/추방 프로토콜 구현
- 채널 입장 시 API 서버에서 플레이어 프로필 로드 (레벨/스탯/위치)
- 채널 퇴장 시 위치/플레이타임 DB 저장 (SaveGameDataAsync)
- Player.cs에 AttackPower/AttackRange/SprintMultiplier/Experience 필드 추가
- ToPlayerInfo에서 전투 스탯 매핑 추가
- Session에 ChannelJoinedAt 추가 (플레이타임 계산용)
- PartyUpdateType에 INVITE/KICK 추가
- RequestPartyPacket에 TargetPlayerId 필드 추가
- GameServer에 INVITE/KICK 핸들러 구현
- Channel에 GetPeer() 메서드 추가
- RestApi에 GetPlayerProfileAsync/SaveGameDataAsync 추가

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-19 21:10:05 +09:00
qornwh1
4493729519 fix : 로그 수정 2026-03-19 10:42:36 +09:00
qornwh1
48c9f1031b fix : 서버 버그 수정 작업 머지
Merge branch 'fix/mmo-server-logic-bugs' of https://git.tolelom.xyz/A301/a301_mmo_game_server

# Conflicts:
#	MMOTestServer/MMOserver/Game/GameServer.cs
2026-03-19 09:12:18 +09:00
53eabe2f3d fix: MMO 서버 버그 수정 및 안정성 개선 (20건)
- 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>
2026-03-18 23:26:39 +09:00
qornwh1
9a155fa056 feat : 보스맵 종료후 -> 로비 맵 이동 처리 2026-03-17 14:28:39 +09:00
qornwh1
1c63b8532f fix : 코드 버그 수정 2026-03-17 12:58:04 +09:00
f27cee05bb fix: merge conflict 해결 — BossRaid 토큰 Dictionary 처리 및 개별 전송
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-17 12:55:25 +09:00
f9db0d26ca fix: BossRaid 토큰 처리 수정 및 merge conflict 해결
- RestApi.cs: Tokens를 Dictionary<string, string>?으로 수정
- BossRaidResult.cs: Tokens를 Dictionary<string, string>?으로 수정
- GameServer.cs: SendTo(peer) → SendTo(memberPeer) 버그 수정,
  각 파티원에게 개별 토큰 전송

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-17 12:49:14 +09:00
qornwh1
fb76f49ec0 feat : 보스 전용채널 제거, 채널 5개로 변경, config.json 정리 2026-03-17 10:33:08 +09:00
qornwh1
f8fa34edbc feat : 보스 응답 메시지 문제 수정 2026-03-17 09:15:41 +09:00
7f2cd281da fix: MMO 서버 로직 버그 6건 수정
1. PlayerId 스푸핑 방지: OnTransformPlayer, OnActionPlayer, OnStatePlayer에서
   브로드캐스트 전 packet.PlayerId = hashKey로 강제 교체

2. HP/MP 클라이언트 조작 방지: OnStatePlayer에서 범위 클램핑
   (0 ≤ Hp ≤ MaxHp, 0 ≤ Mp ≤ MaxMp)

3. CreateParty 파티원 등록 누락 수정:
   - memberIds 파라미터 사용 시 모든 멤버를 playerPartyMap에 등록
   - 리더 중복 추가 방지 (Contains 체크)

4. OnIntoChannel 채널 만석 유령 상태 방지:
   이전 채널 제거 후 새 채널 입장 실패 시 이전 채널로 복귀

5. HandleAuth async 경합 방지:
   authenticatingTokens HashSet으로 동일 토큰 동시 인증 차단

6. 레이드 맵 미반환 수정:
   TryReleaseRaidMap 헬퍼 추가, OnChangeMap/OnSessionDisconnected에서
   레이드 맵(1001+) 유저 0명 시 인스턴스 맵 해제

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-17 00:34:40 +09:00
qornwh1
39ef81d48a fix : 일단 메시지body 임시 처리 (hp, 경험치, 파워 등) 2026-03-16 20:47:22 +09:00
qornwh1
6faab45ecc feat : 레이드 이동 메시지 수정 모두에게 2026-03-16 20:36:24 +09:00
qornwh1
dd8dcc58d2 feat : 보스레이드 신청 메시지 응답 패킷 구현 2026-03-16 19:19:59 +09:00
qornwh1
f6b378cad7 feat : 보스 레이드 입장 메시지 기능 추가 2026-03-16 17:55:08 +09:00
46dd92b27d feat: 보스레이드 연동 — 입장 요청, 토큰 검증, 결과 보고 API 추가
- RestApi에 보스레이드 입장/검증/시작/완료/실패 엔드포인트 추가
- GameServer에 보스레이드 흐름 처리 로직
- Player 모델에 보스레이드 상태 필드 추가
- 보스레이드 관련 패킷 정의

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-16 17:51:33 +09:00
qornwh1
943302c2f1 fix : 맵 이동시 유저 진입 동기화버그 수정 2026-03-16 16:07:49 +09:00
qornwh1
523247c9b1 fea : Map단위로 캐릭터 이동 메시지 전달기능 추가 2026-03-16 15:16:42 +09:00
qornwh1
e4429177db feat : 맵관리 코드 추가 작업 2026-03-16 14:50:29 +09:00
qornwh1
f564199cb5 fix : 변수 네이밍 수정 2026-03-16 11:27:07 +09:00
qornwh1
f2bc3d7924 fix : 서버 설정파일 빼기 작업 2026-03-16 11:14:38 +09:00
qornwh1
f6067047d9 fix : 토큰인증 스펙 수정 2026-03-16 10:43:30 +09:00
qornwh1
2bc01f9c18 fix : 토큰 인증 수정 2026-03-16 10:22:00 +09:00
qornwh1
d626a7156d feat : 보스 채널은 안띄운다. 2026-03-12 16:09:13 +09:00
qornwh1
0ebe269146 feat : 보스전 채널 생성, 파티 함께 채널 이동 구현 2026-03-12 13:23:30 +09:00
qornwh1
4956a2e26d 도커 파일 포트 접속 추가 2026-03-11 19:45:50 +09:00
qornwh1
6e8a9c0b5e feat : 파티용 패킷 수정,
파티 CRUD 버그 수정
2026-03-11 19:36:00 +09:00
qornwh1
056ec8d0c3 feat : 파티 정보 업데이트 기능 추가 2026-03-11 15:09:06 +09:00
qornwh1
1487082cc6 fix : 도커 의존성 추가, 윈도우용 미니덤프 제거 Dotnet-dump사용 2026-03-11 12:55:24 +09:00
qornwh1
9828b967a1 feat : 파티 패킷 추가 / 채널 접속시 모든 파티 리스트 전달 2026-03-10 09:40:00 +09:00
qornwh1
a3bcbd073e fix : 덤프 남길때 현재 콜스택 저장 기능 추가 2026-03-10 09:03:46 +09:00
qornwh1
275d09001b feat : 0번 채널은 스킵 2026-03-09 16:17:38 +09:00
qornwh1
de4e344cdb feat : 채팅 기증 추가, 귓속말은 대상이 id라는 문제 있음 <= 현재는 그대로 둔다 2026-03-09 08:51:50 +09:00
qornwh1
5df664e05b fix : 패킷 Vector3 -> Position 변경 (유니티 호환성) 2026-03-08 23:46:34 +09:00
qornwh1
3188dbeb3d feat : 서버 실패 코드 메시지 기능 추가 2026-03-08 22:03:06 +09:00
qornwh1
06741f2a55 feat : 파티매니저 채널에 종속되도록 변경 2026-03-08 22:01:55 +09:00
qornwh1
a53d838e24 feat : 파티 구조 뼈대 완성 2026-03-08 21:48:34 +09:00
qornwh1
a5d3b48707 feat : 파티 요청 메시지 추가 2026-03-08 21:00:24 +09:00
qornwh1
5165b9e6dc fix : playerID == hashkey 통일 / long => int로 변경 2026-03-08 20:47:23 +09:00
qornwh1
1b7f0003fb feat : 파티 패킷 구조 1개로 통일(CRUD) 2026-03-08 20:13:07 +09:00
qornwh1
76c6f46bbe feat : UuidGenerator 여러곳에서 사용하도록 싱글톤 제거 2026-03-08 17:47:49 +09:00
qornwh1
aed5d7d0b6 feat: 싱글톤 제네릭 변경 2026-03-08 17:42:12 +09:00
qornwh1
b4ad85e452 fix : 닉네임 hashkey로 임시 대체 2026-03-06 17:11:44 +09:00