diff --git a/Server/Program.cs b/Server/Program.cs index 521d6bd..706aa8a 100644 --- a/Server/Program.cs +++ b/Server/Program.cs @@ -26,7 +26,7 @@ server.ClientJoined += (c, _) => { c.Metadata["scenario"] = (byte?) 0; c.Metadata["2d"] = false; c.Metadata["speedrun"] = false; - foreach (Client client in server.Clients.Where(client => client.Metadata.ContainsKey("lastGamePacket")).ToArray()) { + foreach (Client client in server.ClientsConnected) { try { c.Send((GamePacket) client.Metadata["lastGamePacket"]!, client).Wait(); } catch { diff --git a/Server/Server.cs b/Server/Server.cs index 4280621..dfe19cd 100644 --- a/Server/Server.cs +++ b/Server/Server.cs @@ -10,6 +10,7 @@ namespace Server; public class Server { public readonly List Clients = new List(); + public IEnumerable ClientsConnected => Clients.Where(client => client.Metadata.ContainsKey("lastGamePacket") && client.Connected); public readonly Logger Logger = new Logger("Server"); private readonly MemoryPool memoryPool = MemoryPool.Shared; public Func? PacketHandler = null!;