Fix Skeletron Prime Crash Exploiting people, naughty naughty

Set secondUpdate to stop displaying, because apparently no one knows that not being logged in is breaking the rules when requirelogin:true
This commit is contained in:
Zack Piispanen 2013-10-11 21:02:05 -04:00
parent c112f433c5
commit 0d350d53fa
3 changed files with 12 additions and 5 deletions

View file

@ -2955,8 +2955,8 @@ namespace TShockAPI
var pvp = args.Data.ReadBoolean(); var pvp = args.Data.ReadBoolean();
var crit = args.Data.ReadBoolean(); var crit = args.Data.ReadBoolean();
if (dmg > 10000) //Abnormal values have the potential to cause infinite loops in the server. if (dmg > 12000) //Abnormal values have the potential to cause infinite loops in the server.
{ { //12000 because Skely Prime Head does 10339 or some bs during the day.
TShock.Utils.ForceKick(args.Player, "Crash Exploit Attempt", true); TShock.Utils.ForceKick(args.Player, "Crash Exploit Attempt", true);
return false; return false;
} }

View file

@ -790,7 +790,7 @@ namespace TShockAPI
} }
private DateTime LastDisableNotification = DateTime.UtcNow; private DateTime LastDisableNotification = DateTime.UtcNow;
public virtual void Disable(string reason = "") public virtual void Disable(string reason = "", bool displayConsole = true)
{ {
LastThreat = DateTime.UtcNow; LastThreat = DateTime.UtcNow;
SetBuff(33, 330, true); //Weak SetBuff(33, 330, true); //Weak
@ -799,8 +799,15 @@ namespace TShockAPI
if (!string.IsNullOrEmpty(reason)) if (!string.IsNullOrEmpty(reason))
{ {
if ((DateTime.UtcNow - LastDisableNotification).TotalMilliseconds > 5000) if ((DateTime.UtcNow - LastDisableNotification).TotalMilliseconds > 5000)
{
if (displayConsole)
{ {
Log.ConsoleInfo(string.Format("Player {0} has been disabled for {1}.", Name, reason)); Log.ConsoleInfo(string.Format("Player {0} has been disabled for {1}.", Name, reason));
}
else
{
Log.Info("Player {0} has been disabled for {1}.", Name, reason);
}
LastDisableNotification = DateTime.UtcNow; LastDisableNotification = DateTime.UtcNow;
} }
} }

View file

@ -760,7 +760,7 @@ namespace TShockAPI
player.IgnoreActionsForDisabledArmor = check; player.IgnoreActionsForDisabledArmor = check;
if (CheckIgnores(player)) if (CheckIgnores(player))
{ {
player.Disable("check ignores failed in SecondUpdate()"); player.Disable("check ignores failed in SecondUpdate()", false);
} }
else if (!player.Group.HasPermission(Permissions.usebanneditem) && else if (!player.Group.HasPermission(Permissions.usebanneditem) &&
Itembans.ItemIsBanned(player.TPlayer.inventory[player.TPlayer.selectedItem].name, player)) Itembans.ItemIsBanned(player.TPlayer.inventory[player.TPlayer.selectedItem].name, player))