diff --git a/Classic/scripts/autoexec/MemPatches.cs b/Classic/scripts/autoexec/MemPatches.cs index db77650..15f3acf 100644 --- a/Classic/scripts/autoexec/MemPatches.cs +++ b/Classic/scripts/autoexec/MemPatches.cs @@ -24,4 +24,36 @@ function suppressTraversalRootPatch() memPatch("56AD8A", "90909090909090909090909090909090909090909090"); memPatch("56D114", "90909090909090909090909090909090909090909090"); $tvpatched = 1; +} + +if (!$CmdArmor::Patched) +{ + $CmdArmor::Patched = true; + //memPatch("6FC746", "66B8000090906683FE017408ACAA84C075FA89D05F5EC3"); + memPatch("6FC746", "83FE017408ACAA84C075FA89D05F5EC3"); + //Removed register size override (cmp si, 1 -> cmp esi, 1) and got rid of + //weird NASM garbage code at the beginning. Had a mov ax, 0 which did nothing + //and wasn't necessary anyways because of xor eax, eax in the original. It also + //generated several NOPs after that for no reason. +} + +function serverCmd(%client) +{ + // Stick your own administrative action code here + messageAll('msgAll',"\c3" @ %client.namebase SPC "is attempting to crash the server!"); + + messageClient(%client, 'onClientBanned', ""); + messageAllExcept( %client, -1, 'MsgClientDrop', "", %client.name, %client ); + + // kill and delete this client + if( isObject(%client.player) ) + %client.player.scriptKill(0); + + if ( isObject( %client ) ) + { + %client.setDisconnectReason("You have been banned for attempting to crash the server."); + %client.schedule(700, "delete"); + } + + BanList::add(%client.guid, %client.getAddress(), $Host::BanTime); } \ No newline at end of file