summaryrefslogtreecommitdiff
path: root/NetServer.cs
diff options
context:
space:
mode:
Diffstat (limited to 'NetServer.cs')
-rw-r--r--NetServer.cs11
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) {