diff --git a/TShockAPI/Commands.cs b/TShockAPI/Commands.cs index c4d0ee13..963b9625 100755 --- a/TShockAPI/Commands.cs +++ b/TShockAPI/Commands.cs @@ -204,6 +204,7 @@ namespace TShockAPI ChatCommands.Add(new Command("spawnrate", "cfg", SpawnRate)); ChatCommands.Add(new Command("time", "cfg", Time)); ChatCommands.Add(new Command("slap", "pvpfun", Slap)); + ChatCommands.Add(new Command("antibuild", "editspawn", ToggleAntiBuild)); ChatCommands.Add(new Command("protectspawn", "editspawn", ProtectSpawn)); ChatCommands.Add(new Command("help", "", Help)); ChatCommands.Add(new Command("playing", "", Playing)); @@ -213,7 +214,6 @@ namespace TShockAPI ChatCommands.Add(new Command("me", "", ThirdPerson)); ChatCommands.Add(new Command("p", "", PartyChat)); ChatCommands.Add(new Command("rules", "", Rules)); - ChatCommands.Add(new Command("antibuild", "editspawn", ToggleAntiBuild)); if (ConfigurationManager.DistributationAgent != "terraria-online") { ChatCommands.Add(new Command("kill", "kill", Kill)); diff --git a/TShockAPI/FileTools.cs b/TShockAPI/FileTools.cs index 0727d4fb..3a41efb0 100644 --- a/TShockAPI/FileTools.cs +++ b/TShockAPI/FileTools.cs @@ -35,6 +35,7 @@ namespace TShockAPI { File.Create(file).Close(); } + public static void CreateIfNot(string file, string data = "") { if (!File.Exists(file)) diff --git a/TShockAPI/TShock.cs b/TShockAPI/TShock.cs index bffc9a78..ed7065dc 100755 --- a/TShockAPI/TShock.cs +++ b/TShockAPI/TShock.cs @@ -228,6 +228,31 @@ namespace TShockAPI } e.Handled = true; } + if (text.StartsWith("exit")) + { + for (int player = 0; player < Main.maxPlayers; player++) + { + if (Main.player[player].active) + { + Tools.ForceKick(player, "Server shutting down!"); + } + } + } + if (text.StartsWith("playing")) + { + int count = 0; + for (int i = 0; i < Main.maxPlayers; i++) + { + if (Main.player[i].active) + { + count++; + Console.WriteLine(string.Format("{0} ({1}) [{2}]", Main.player[i].name, + Netplay.serverSock[i].tcpClient.Client.RemoteEndPoint, Players[i].Group.Name)); + } + } + Console.WriteLine(string.Format("{0} players connected.", count)); + e.Handled = true; + } } public override void DeInitialize() @@ -640,7 +665,7 @@ namespace TShockAPI if (tsplr.Group.HasPermission("adminchat") && !text.StartsWith("/")) { - Tools.Broadcast(ConfigurationManager.AdminChatPrefix + "<" + Main.player[ply].name + "> " + text, (byte)ConfigurationManager.AdminChatRGB[0], (byte)ConfigurationManager.AdminChatRGB[1], (byte)ConfigurationManager.AdminChatRGB[2]); + Tools.Broadcast(ConfigurationManager.AdminChatPrefix + "<" + tsplr.Name + "> " + text, (byte)ConfigurationManager.AdminChatRGB[0], (byte)ConfigurationManager.AdminChatRGB[1], (byte)ConfigurationManager.AdminChatRGB[2]); e.Handled = true; return; }