From 87e3fd347da0ac706a4dcb6feacd1fff93cad830 Mon Sep 17 00:00:00 2001 From: Darkvengance aka Sildaekar Date: Tue, 31 Jan 2012 11:31:58 -0600 Subject: [PATCH] Added 'restart' command --- TShockAPI/Commands.cs | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/TShockAPI/Commands.cs b/TShockAPI/Commands.cs index 698e46e7..ce920f03 100644 --- a/TShockAPI/Commands.cs +++ b/TShockAPI/Commands.cs @@ -26,6 +26,7 @@ using System.Text; using System.Threading; using Terraria; using TShockAPI.DB; +using System.Reflection; namespace TShockAPI { @@ -129,6 +130,7 @@ namespace TShockAPI add(Permissions.maintenance, ClearBans, "clearbans"); add(Permissions.whitelist, Whitelist, "whitelist"); add(Permissions.maintenance, Off, "off", "exit"); + add(Permissions.maintenance, Restart, "restart"); //Added restart command add(Permissions.maintenance, OffNoSave, "off-nosave", "exit-nosave"); add(Permissions.maintenance, CheckUpdates, "checkupdates"); add(Permissions.causeevents, DropMeteor, "dropmeteor"); @@ -1002,6 +1004,27 @@ namespace TShockAPI WorldGen.saveWorld(); Netplay.disconnect = true; } + //Added restart command + private static void Restart(CommandArgs args) + { + + if (TShock.Config.ServerSideInventory) + { + foreach (TSPlayer player in TShock.Players) + { + if (player != null && player.IsLoggedIn && !player.IgnoreActionsForClearingTrashCan) + { + TShock.InventoryDB.InsertPlayerData(player); + } + } + } + + TShock.Utils.ForceKickAll("Server restarting!"); + WorldGen.saveWorld(); + Netplay.disconnect = true; + System.Diagnostics.Process.Start(System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase); + Environment.Exit(0); + } private static void OffNoSave(CommandArgs args) {