/// <summary> /// Kicks a player from the server.. /// </summary> /// <param name="player">TSPlayer player</param> /// <param name="reason">string reason</param> /// <param name="force">bool force (default: false)</param> /// <param name="silent">bool silent (default: false)</param> /// <param name="adminUserName">string adminUserName (default: null)</param> /// <param name="saveSSI">bool saveSSI (default: false)</param> public bool Kick(TSPlayer player, string reason, bool force = false, bool silent = false, string adminUserName = null, bool saveSSI = false) { if (!player.ConnectionAlive) { return(true); } if (force || !player.Group.HasPermission(Permissions.immunetokick)) { string playerName = player.Name; player.SilentKickInProgress = silent; if (player.IsLoggedIn && saveSSI) { player.SaveServerCharacter(); } player.Disconnect(string.Format("Kicked: {0}", reason)); TShock.Log.ConsoleInfo(string.Format("Kicked {0} for : '{1}'", playerName, reason)); string verb = force ? "force " : ""; if (!silent) { if (string.IsNullOrWhiteSpace(adminUserName)) { Broadcast(string.Format("{0} was {1}kicked for '{2}'", playerName, verb, reason.ToLower()), Color.Green); } else { Broadcast(string.Format("{0} {1}kicked {2} for '{3}'", adminUserName, verb, playerName, reason.ToLower()), Color.Green); } } return(true); } return(false); }
/// <summary> /// Bans and kicks a player from the server. /// </summary> /// <param name="player">TSPlayer player</param> /// <param name="reason">string reason</param> /// <param name="force">bool force (default: false)</param> /// <param name="adminUserName">string adminUserName (default: null)</param> public bool Ban(TSPlayer player, string reason, bool force = false, string adminUserName = null) { if (!player.ConnectionAlive) { return(true); } if (force || !player.Group.HasPermission(Permissions.immunetoban)) { string ip = player.IP; string uuid = player.UUID; string playerName = player.Name; TShock.Bans.AddBan(ip, playerName, uuid, reason, false, adminUserName); player.Disconnect(string.Format("Banned: {0}", reason)); string verb = force ? "force " : ""; if (string.IsNullOrWhiteSpace(adminUserName)) { TSPlayer.All.SendInfoMessage("{0} was {1}banned for '{2}'.", playerName, verb, reason); } else { TSPlayer.All.SendInfoMessage("{0} {1}banned {2} for '{3}'.", adminUserName, verb, playerName, reason); } return(true); } return(false); }
/// <summary> /// Bans and kicks a player from the server. /// </summary> /// <param name="ply">int player</param> /// <param name="reason">string reason</param> /// <param name="force">bool force (default: false)</param> /// <param name="adminUserName">bool silent (default: null)</param> public bool Ban(TSPlayer player, string reason, bool force = false, string adminUserName = null) { if (!player.ConnectionAlive) { return(true); } if (force || !player.Group.HasPermission(Permissions.immunetoban)) { string ip = player.IP; string playerName = player.Name; TShock.Bans.AddBan(ip, playerName, reason); player.Disconnect(string.Format("Banned: {0}", reason)); Log.ConsoleInfo(string.Format("Banned {0} for : {1}", playerName, reason)); string verb = force ? "force " : ""; if (string.IsNullOrWhiteSpace(adminUserName)) { Broadcast(string.Format("{0} was {1}banned for {2}", playerName, verb, reason.ToLower())); } else { Broadcast(string.Format("{0} {1}banned {2} for {3}", adminUserName, verb, playerName, reason.ToLower())); } return(true); } return(false); }
/// <summary> /// Bans and kicks a player from the server. /// </summary> /// <param name="ply">int player</param> /// <param name="reason">string reason</param> public static bool Ban(TSPlayer player, string reason, string adminUserName = "") { if (!player.ConnectionAlive) { return(true); } if (!player.Group.HasPermission(Permissions.immunetoban)) { string ip = player.IP; string playerName = player.Name; TShock.Bans.AddBan(ip, playerName, reason); player.Disconnect(string.Format("Banned: {0}", reason)); Log.ConsoleInfo(string.Format("Banned {0} for : {1}", playerName, reason)); if (adminUserName.Length == 0) { Broadcast(string.Format("{0} was banned for {1}", playerName, reason.ToLower())); } else { Broadcast(string.Format("{0} banned {1} for {2}", adminUserName, playerName, reason.ToLower())); } return(true); } return(false); }
/// <summary> /// Kicks a player from the server without checking for immunetokick permission. /// </summary> /// <param name="ply">int player</param> /// <param name="reason">string reason</param> public static void ForceKick(TSPlayer player, string reason) { if (!player.ConnectionAlive) { return; } player.Disconnect(reason); 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)); }
/// <summary> /// Kicks a player from the server. /// </summary> /// <param name="ply">int player</param> /// <param name="reason">string reason</param> public static bool Kick(TSPlayer player, string reason, string adminUserName = "") { if (!player.ConnectionAlive) { return(true); } if (!player.Group.HasPermission(Permissions.immunetokick)) { string playerName = player.Name; player.Disconnect(string.Format("Kicked: {0}", reason)); Log.ConsoleInfo(string.Format("Kicked {0} for : {1}", playerName, reason)); if (adminUserName.Length == 0) { Broadcast(string.Format("{0} was kicked for {1}", playerName, reason.ToLower())); } else { Broadcast(string.Format("{0} kicked {1} for {2}", adminUserName, playerName, reason.ToLower())); } return(true); } return(false); }