diff options
| author | Sarah Bradley <git@sarahduck.ca> | 2023-12-25 01:50:06 -0800 |
|---|---|---|
| committer | Sarah Bradley <git@sarahduck.ca> | 2023-12-25 01:50:06 -0800 |
| commit | 828672047ffd306f78b93f11c3d9a8dfafa3d653 (patch) | |
| tree | 06cc9c9ef7c4554574ee3855dd681fd88b8b408a /NetServer.cs | |
| parent | ff3cbc5b49f8618531c5778d69b49c0aa4a9442a (diff) | |
Added spectator mode, and fixed some networking issues
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) { |
