private static void ProcessReliableCommand(BitStream message) { uint commandSequence = message.ReadUInt32(); string command = message.ReadString(); if (commandSequence <= _lastExecutedReliable) { return; } string[] args = Command.Tokenize(command); switch (args[0]) { case "print": if (args.Length < 2) { break; } Log.Write(LogLevel.Info, "{0}", string.Join(" ", args, 1, args.Length - 1)); break; case "disconnect": State = ClientState.Idle; Log.Write(LogLevel.Error, "Disconnected from server: {0}", (args.Length == 2) ? args[1] : "no message"); break; } _lastExecutedReliable = commandSequence; _lastReliableMessage = commandSequence; }
private static void ProcessClientReliableCommand(ServerClient client, BitStream message) { uint commandSequence = message.ReadUInt32(); string command = message.ReadString(); if (commandSequence <= client.LastExecutedReliableCommand) { return; } string[] args = Command.Tokenize(command); switch (args[0]) { case "say": if (args.Length < 2) { break; } string msg = string.Format("{0}: {1}", client.Name, string.Join(" ", args, 1, args.Length - 1)); Log.Write(LogLevel.Info, msg); SendReliableCommand(null, "print \"" + msg + "\""); break; case "disconnect": DropClient(client, "Disconnected from server"); break; } client.LastReceivedReliableCommand = commandSequence; client.LastExecutedReliableCommand = commandSequence; }
private static void ProcessInitializationState(BitStream message) { _svStateID = message.ReadInt32(); // load the server's current map var mapName = message.ReadString(); MapManager.Load(string.Format("Maps/{0}.gmp", mapName)); }