diff --git a/MMOTestServer/MMOserver/Api/RestApi.cs b/MMOTestServer/MMOserver/Api/RestApi.cs index 4de9bfa..7c418ec 100644 --- a/MMOTestServer/MMOserver/Api/RestApi.cs +++ b/MMOTestServer/MMOserver/Api/RestApi.cs @@ -98,7 +98,10 @@ public class RestApi : Singleton response.EnsureSuccessStatusCode(); BossRaidAccessResponse? raw = await response.Content.ReadFromJsonAsync(); - if (raw == null) return null; + if (raw == null) + { + return null; + } // API 응답 → 도메인 모델 매핑 return new BossRaidResult diff --git a/MMOTestServer/MMOserver/Game/GameServer.cs b/MMOTestServer/MMOserver/Game/GameServer.cs index d920875..4318702 100644 --- a/MMOTestServer/MMOserver/Game/GameServer.cs +++ b/MMOTestServer/MMOserver/Game/GameServer.cs @@ -1079,7 +1079,7 @@ public class GameServer : ServerBase BossRaidResult? result = await RestApi.Instance.BossRaidAccesssAsync(userNames, 1); // 입장 실패 - if (result != null) + if (result == null || result.BossId <= 0) { SendTo(peer, PacketSerializer.Serialize((ushort)PacketCode.INTO_BOSS_RAID, @@ -1142,13 +1142,13 @@ public class GameServer : ServerBase } SendTo(memberPeer, PacketSerializer.Serialize((ushort)PacketCode.CHANGE_MAP, response)); - } - // 파티장에게 입장 성공 응답 (할당된 실제 레이드 맵 ID 전달) - SendTo(peer, - PacketSerializer.Serialize((ushort)PacketCode.INTO_BOSS_RAID, - new IntoBossRaidPacket - { RaidId = assignedRaidMapId, IsSuccess = true, Session = result.SessionName, Token = result.Tokens })); + // 모두에게 레이드로 이동 (할당된 실제 레이드 맵 ID 전달) + SendTo(peer, + PacketSerializer.Serialize((ushort)PacketCode.INTO_BOSS_RAID, + new IntoBossRaidPacket + { RaidId = assignedRaidMapId, IsSuccess = true, Session = result.SessionName, Token = result.Tokens })); + } Log.Debug("[GameServer] INTO_BOSS_RAID HashKey={Key} PartyId={PartyId} AssignedRaidMapId={RaidId}", hashKey, party.PartyId, assignedRaidMapId);