diff --git a/TShockAPI/ConfigFile.cs b/TShockAPI/ConfigFile.cs index 67af949a..c708f7b3 100644 --- a/TShockAPI/ConfigFile.cs +++ b/TShockAPI/ConfigFile.cs @@ -83,7 +83,7 @@ namespace TShockAPI [Description("Not implemented")] public string RconPassword = ""; [Description("Not implemented")] public int RconPort = 7777; - [Description("Not implemented")] public string ServerName = ""; + [Description("Used when replying to a rest /status request.")] public string ServerName = ""; [Description("Not implemented")] public string MasterServer = "127.0.0.1"; [Description("Valid types are \"sqlite\" and \"mysql\"")] public string StorageType = "sqlite"; diff --git a/TShockAPI/GetDataHandlers.cs b/TShockAPI/GetDataHandlers.cs index 558604ca..b67d184e 100644 --- a/TShockAPI/GetDataHandlers.cs +++ b/TShockAPI/GetDataHandlers.cs @@ -932,7 +932,7 @@ namespace TShockAPI Log.ConsoleInfo(args.Player.Name + " authenticated successfully as user: " + args.Player.Name); return true; } - TShock.Utils.ForceKick(args.Player, "Incorrect User Account Password"); + TShock.Utils.ForceKick(args.Player, "Invalid user account password.", true); return true; } if (!string.IsNullOrEmpty(TShock.Config.ServerPassword)) diff --git a/TShockAPI/TSPlayer.cs b/TShockAPI/TSPlayer.cs index 7752778f..974e5e35 100644 --- a/TShockAPI/TSPlayer.cs +++ b/TShockAPI/TSPlayer.cs @@ -73,6 +73,7 @@ namespace TShockAPI public bool IgnoreActionsForClearingTrashCan; public PlayerData PlayerData; public bool RequiresPassword; + public bool SilentKickInProgress; public bool RealPlayer { diff --git a/TShockAPI/TShock.cs b/TShockAPI/TShock.cs index 39af00a7..9c258133 100644 --- a/TShockAPI/TShock.cs +++ b/TShockAPI/TShock.cs @@ -656,7 +656,11 @@ namespace TShockAPI if (tsplr != null && tsplr.ReceivedInfo) { - Utils.Broadcast(tsplr.Name + " has left", Color.Yellow); + if (!tsplr.SilentKickInProgress) + { + Utils.Broadcast(tsplr.Name + " left", Color.Yellow); + } + Log.Info(string.Format("{0} left.", tsplr.Name)); if (tsplr.IsLoggedIn) diff --git a/TShockAPI/Utils.cs b/TShockAPI/Utils.cs index b77f93f4..95338ba3 100644 --- a/TShockAPI/Utils.cs +++ b/TShockAPI/Utils.cs @@ -408,6 +408,15 @@ namespace TShockAPI Log.ConsoleInfo(string.Format("{0} was force kicked for : {1}", player.IP, reason)); } + public void ForceKick(TSPlayer player, string reason, bool silent) + { + player.SilentKickInProgress = true; + if (!player.ConnectionAlive) + return; + player.Disconnect(reason); + Log.ConsoleInfo(string.Format("{0} was force kicked for : {1}", player.IP, reason)); + } + /// /// Kicks a player from the server. ///