diff --git a/TrueCraft/QueryProtocol.cs b/TrueCraft/QueryProtocol.cs index 825fc5e..ec53178 100644 --- a/TrueCraft/QueryProtocol.cs +++ b/TrueCraft/QueryProtocol.cs @@ -115,11 +115,18 @@ namespace TrueCraft var stats = GetStats(); var response = GetStream(); WriteHead(Type_Stat, user, response); + WriteStringToStream("SPLITNUM", response.BaseStream); foreach (var pair in stats) { WriteStringToStream(pair.Key, response.BaseStream); WriteStringToStream(pair.Value, response.BaseStream); } + response.Write((byte)0x01); + WriteStringToStream("player_\0", response.BaseStream); + var players = GetPlayers(); + foreach (string player in players) + WriteStringToStream(player, response.BaseStream); + response.Write((byte)0x00); SendResponse(response, clientEP); } @@ -187,6 +194,14 @@ namespace TrueCraft stats.Add("hostip", Program.ServerConfiguration.ServerAddress); return stats; } + private List GetPlayers() + { + var names = new List(); + lock (Program.Server.ClientLock) + foreach (var client in Program.Server.Clients) + names.Add(client.Username); + return names; + } public void Stop() {