public static void onCommand(Server server, string cmd) { if (cmd == null) { return; } cmd = cmd.Trim(); if (cmd == "roomcount") { Console.WriteLine(">>room count:" + server.getRoomCount()); } else if (cmd == "playercount") { Console.WriteLine(">>player count:" + server.getPlayerCount()); } else if (cmd == "cls") { Console.Clear(); WriteHead(Program.Config); } else if (cmd == "roomlist") { Console.WriteLine(">>count:" + server.getRoomCount()); string json = server.getRoomJson(true, true); Console.WriteLine(json); File.WriteAllText("room.json", json); } else if (cmd.StartsWith("say ")) { try{ int count = server.Say(GameManager.getMessage("[Server] " + cmd.Substring("say ".Length), PlayerType.Yellow)).Count; Console.WriteLine(">>count:" + count); }catch { } } else if (cmd.StartsWith("warring ")) { try{ int count = server.Say(GameManager.getMessage("[Server] " + cmd.Substring("warring ".Length), PlayerType.Red)).Count; Console.WriteLine(">>count:" + count); }catch { } } else if (cmd.StartsWith("to ")) { string[] names = cmd.Split(' '); if (names.Length >= 2) { try{ if (server.Say(GameManager.getMessage("[Server] " + cmd.Substring(("to " + names[1]).Length + 1) , PlayerType.Yellow) , names[1]).Count > 0) { Console.WriteLine(">>send to " + names[1]); } else { Console.WriteLine(">>send fail. no find " + names[1]); } }catch { } } } else if (cmd.StartsWith("config ")) { string[] args = cmd.Split(' '); if (args.Length >= 3) { if (Program.Config.setValue(args[1], args[2])) { Console.WriteLine(">>" + args[1] + "=" + args[2]); } } } else if (cmd == "reload") { server.Reload(); Console.WriteLine(">>reload ok"); } else if (cmd == "banlist") { if (BanlistManager.Banlists != null && BanlistManager.Banlists.Count > 0) { Console.WriteLine(">>Banlist = " + BanlistManager.Banlists[0].Name); } } else if (cmd == "close") { Console.WriteLine(">>Server will close after 5 minute."); server.CloseDealyed(); } else if (cmd == "cancel close") { Console.WriteLine(">>Server cancel close."); server.CacelCloseDealyed(); } else if (cmd == "addai") { try{ GameRoom room = GameManager.GetRandomGame(); string _rname = GameManager.RandomRoomName(); if (room != null) { _rname = room.Game.Config.Name; } if (AddAI(_rname)) { Console.WriteLine("Add AI success:" + _rname + " " + (Program.Config.MaxAICount - AIs.Count) + "/" + Program.Config.MaxAICount); } else { Console.WriteLine("Add AI fail, max=" + Program.Config.MaxAICount); } }catch (Exception) { } } else if (cmd == "ai count") { Console.WriteLine(">>count " + AIs.Count + "/" + Program.Config.MaxAICount); } else if (cmd == "help") { Console.WriteLine(">>"); Console.WriteLine("roomcount room count"); Console.WriteLine("playercount plyaer count"); Console.WriteLine("cls clear"); Console.WriteLine("roomlist room list json"); Console.WriteLine("say xxx text is yellow"); Console.WriteLine("warring xxx text is red"); Console.WriteLine("config {key} {value} set key=value"); Console.WriteLine("load config reload config,but some config need restart."); Console.WriteLine("banlist look banlist"); Console.WriteLine("to xxx send msg to player"); Console.WriteLine("close close server"); Console.WriteLine("cancel close cancel close server"); Console.WriteLine("maxai max Ai count"); Console.WriteLine("addai add a AI to random room"); } else { Console.WriteLine(">>no this cmd", ConsoleColor.Yellow); } }