From 6964c3bbf43f3c0f96532ef0b9b44f826e3dd0b9 Mon Sep 17 00:00:00 2001 From: Sanae Date: Tue, 26 Apr 2022 23:24:40 -0600 Subject: [PATCH] Add max players to connect packet --- Server/Server.cs | 1 + Shared/Packet/Packets/ConnectPacket.cs | 9 ++++++--- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/Server/Server.cs b/Server/Server.cs index 7857409..13187f7 100644 --- a/Server/Server.cs +++ b/Server/Server.cs @@ -237,6 +237,7 @@ public class Server { MemoryMarshal.Write(tempBuffer.Memory.Span, ref connectHeader); ConnectPacket connectPacket = new ConnectPacket { ConnectionType = ConnectPacket.ConnectionTypes.FirstConnection, // doesn't matter what it is + MaxPlayers = Settings.Instance.Server.MaxPlayers, ClientName = other.Name }; connectPacket.Serialize(tempBuffer.Memory.Span[Constants.HeaderSize..]); diff --git a/Shared/Packet/Packets/ConnectPacket.cs b/Shared/Packet/Packets/ConnectPacket.cs index 6cb50b9..81e29a7 100644 --- a/Shared/Packet/Packets/ConnectPacket.cs +++ b/Shared/Packet/Packets/ConnectPacket.cs @@ -6,20 +6,23 @@ namespace Shared.Packet.Packets; [Packet(PacketType.Connect)] public struct ConnectPacket : IPacket { public ConnectionTypes ConnectionType = ConnectionTypes.FirstConnection; + public ushort MaxPlayers = 0; public string ClientName = "?????"; public ConnectPacket() { } - public short Size => 4 + Constants.CostumeNameSize; + public short Size => 6 + Constants.CostumeNameSize; public void Serialize(Span data) { MemoryMarshal.Write(data, ref ConnectionType); - Encoding.UTF8.GetBytes(ClientName).CopyTo(data[4..(4 + Constants.CostumeNameSize)]); + MemoryMarshal.Write(data[4..], ref MaxPlayers); + Encoding.UTF8.GetBytes(ClientName).CopyTo(data[6..(6 + Constants.CostumeNameSize)]); } public void Deserialize(ReadOnlySpan data) { ConnectionType = MemoryMarshal.Read(data); - ClientName = Encoding.UTF8.GetString(data[4..(4 + Constants.CostumeNameSize)]).TrimNullTerm(); + ConnectionType = MemoryMarshal.Read(data[4..]); + ClientName = Encoding.UTF8.GetString(data[6..(6 + Constants.CostumeNameSize)]).TrimNullTerm(); } public enum ConnectionTypes {