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 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);
return false;
}

View file

@ -790,7 +790,7 @@ namespace TShockAPI
}
private DateTime LastDisableNotification = DateTime.UtcNow;
public virtual void Disable(string reason = "")
public virtual void Disable(string reason = "", bool displayConsole = true)
{
LastThreat = DateTime.UtcNow;
SetBuff(33, 330, true); //Weak
@ -800,7 +800,14 @@ namespace TShockAPI
{
if ((DateTime.UtcNow - LastDisableNotification).TotalMilliseconds > 5000)
{
Log.ConsoleInfo(string.Format("Player {0} has been disabled for {1}.", Name, reason));
if (displayConsole)
{
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;
}
}

View file

@ -760,7 +760,7 @@ namespace TShockAPI
player.IgnoreActionsForDisabledArmor = check;
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) &&
Itembans.ItemIsBanned(player.TPlayer.inventory[player.TPlayer.selectedItem].name, player))