feat : GameServer 패킷 메시지 단위 분할 / 플레이어 정보 변환 기능 변경

This commit is contained in:
qornwh1
2026-03-30 14:29:02 +09:00
parent 2ebd0120ab
commit 530f32420d
14 changed files with 1620 additions and 1 deletions

View File

@@ -0,0 +1,36 @@
using LiteNetLib;
using MMOserver.Game.Channel;
using MMOserver.Packet;
using ProtoBuf;
using ServerLib.Packet;
using ServerLib.Service;
namespace MMOserver.Game.Service;
/*
* 플레이어 공격 요청 메시지 핸들러
*/
public partial class GameServer : ServerBase
{
private void OnActionPlayer(NetPeer peer, int hashKey, byte[] payload)
{
ActionPlayerPacket packet = Serializer.Deserialize<ActionPlayerPacket>(new ReadOnlyMemory<byte>(payload));
ChannelManager cm = ChannelManager.Instance;
int channelId = cm.HasUser(hashKey);
if (channelId < 0)
{
return;
}
Player? player = cm.GetChannel(channelId).GetPlayer(hashKey);
if (player == null)
{
return;
}
// 같은 맵 유저들에게 행동 브로드캐스트 (나 제외)
byte[] data = PacketSerializer.Serialize((ushort)PacketCode.ACTION_PLAYER, packet);
BroadcastToMap(channelId, player.CurrentMapId, data, peer);
}
}