diff --git a/MMOTestServer/MMOserver/Game/GameServer.cs b/MMOTestServer/MMOserver/Game/GameServer.cs index 5fa6e92..c88cfb2 100644 --- a/MMOTestServer/MMOserver/Game/GameServer.cs +++ b/MMOTestServer/MMOserver/Game/GameServer.cs @@ -1269,7 +1269,7 @@ public class GameServer : ServerBase { Log.Warning("[GameServer] INTO_BOSS_RAID 파티 없음 HashKey={Key}", hashKey); SendTo(peer, PacketSerializer.Serialize((ushort)PacketCode.INTO_BOSS_RAID, - new IntoBossRaidPacket { RaidId = packet.RaidId, IsSuccess = false })); + new IntoBossRaidPacket { RaidId = packet.RaidId, IsSuccess = false, Reason = "파티에 속해있지 않습니다." })); return; } @@ -1278,7 +1278,7 @@ public class GameServer : ServerBase { Log.Warning("[GameServer] INTO_BOSS_RAID 파티장 아님 HashKey={Key} LeaderId={LeaderId}", hashKey, party.LeaderId); SendTo(peer, PacketSerializer.Serialize((ushort)PacketCode.INTO_BOSS_RAID, - new IntoBossRaidPacket { RaidId = packet.RaidId, IsSuccess = false })); + new IntoBossRaidPacket { RaidId = packet.RaidId, IsSuccess = false, Reason = "파티장만 보스 레이드를 시작할 수 있습니다." })); return; } @@ -1303,7 +1303,7 @@ public class GameServer : ServerBase { SendTo(peer, PacketSerializer.Serialize((ushort)PacketCode.INTO_BOSS_RAID, - new IntoBossRaidPacket { RaidId = -1, IsSuccess = false })); + new IntoBossRaidPacket { RaidId = -1, IsSuccess = false, Reason = "보스 레이드 방을 배정받지 못했습니다. 잠시 후 다시 시도해주세요." })); Log.Debug("[GameServer] INTO_BOSS_RAID HashKey={Key} PartyId={PartyId} AssignedRaidMapId={RaidId} Failed", hashKey, party.PartyId, -1); diff --git a/MMOTestServer/MMOserver/Packet/PacketBody.cs b/MMOTestServer/MMOserver/Packet/PacketBody.cs index babf7c6..f24c926 100644 --- a/MMOTestServer/MMOserver/Packet/PacketBody.cs +++ b/MMOTestServer/MMOserver/Packet/PacketBody.cs @@ -827,6 +827,14 @@ public class IntoBossRaidPacket get; set; } + + // 실패 사유 (서버 -> 클라, IsSuccess == false 시) + [ProtoMember(5)] + public string Reason + { + get; + set; + } } // PARTY_CHANGE_MAP (클라 -> 서버 전용)