diff options
Diffstat (limited to 'NetServer.cs')
| -rw-r--r-- | NetServer.cs | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/NetServer.cs b/NetServer.cs index f275164..925567b 100644 --- a/NetServer.cs +++ b/NetServer.cs @@ -45,17 +45,18 @@ class Server ServerUser user = users[fromPeer.Id]; //Size limits for packet types - if (info.Type == PacketType.UserInfo && dataReader.AvailableBytes > 40000) return; + if (info.Type == PacketType.UserInfo && dataReader.AvailableBytes > 50000) return; else if (info.Type != PacketType.UserInfo && dataReader.AvailableBytes > 500) return; NetDataWriter writer = new(); if (info.Type == PacketType.UserInfo) { - user.UserInfo = dataReader.RawData; - new PacketInfo(PacketType.UserInfo, user.Id).Serialize(user.UserInfo); + string Username = dataReader.PeekString(40); - string Username = dataReader.GetString().LimitLength(40); + writer.ResetWithInfo(new PacketInfo(PacketType.UserInfo, user.Id)); + writer.Put(dataReader.GetRemainingBytes()); + user.UserInfo = writer.CopyData(); if (!user.Initialized) { //Send ID @@ -79,7 +80,7 @@ class Server } } - if (info.Type == PacketType.OnekoState || info.Type == PacketType.MouseState) { + else if (info.Type == PacketType.OnekoState || info.Type == PacketType.MouseState) { writer.ResetWithInfo(new PacketInfo(info.Type, fromPeer.Id)); writer.Put(dataReader.GetRemainingBytes()); foreach (ServerUser toSend in users.Values) { |
