Another Bugfix
[WHO]Them
You can call me Dave Join Date: 2002-12-11 Member: 10593Members, Constellation
<div class="IPBDescription">thwart the alien resource hack</div> While I was working on the lastinv bugfix in spidermonkey today I decided I should address this issue as well since ppl have started doing it on my server.
This new spidermonkey attempts to stop the alien resource hack where an alien goes to the readyroom and rejoins the alien team dozens of times. Unfortunately, since I don't know exactly how that exploit works, I've just coded up a bunch of team joining restrictions that should slow down ANY kind of automation. Thankfully, your average player that walks into a portal to join a team and doesn't ditch the team 30 seconds into the game won't notice any difference in the game.
However, in the interest of saving myself some time in coding (seeing as how 1.04 should be out soon) and also in the interest of not limiting players from legitimately changing their mind about joining a team, this plugin doesn't stop the problem 100% of the time.
Here's what it does....
it keeps track of any time a player uses any of the following commands:
jointeamone
jointeamtwo
readyroom
and logs the time.
If the player attempts to use the "readyroom" command before 120 seconds have passed since one of those commands was typed then it simply tells them that they cannot ditch their team and refuses to let them into the readyroom.
If the player attempts to use either "jointeamone" or "jointeamtwo" before 120 seconds have passed since the time log, then the player will be instructed to use the team joining portals.
also, if a player leaves the game, any player that takes their slot will be bound by the same time restrictions of the last player (if a player does a "retry" then the restrictions will still stick).
So, to recap this whole post in a nutshell, this will not prevent all team based exploits, but it should at least slow them down.
oh, and taking some advice, I've shortened my banner a bunch, even though I *know* you all love looking at all that text <!--emo&:p--><img src='http://www.unknownworlds.com/forums/html/emoticons/tounge.gif' border='0' valign='absmiddle' alt='tounge.gif'><!--endemo-->
This new spidermonkey attempts to stop the alien resource hack where an alien goes to the readyroom and rejoins the alien team dozens of times. Unfortunately, since I don't know exactly how that exploit works, I've just coded up a bunch of team joining restrictions that should slow down ANY kind of automation. Thankfully, your average player that walks into a portal to join a team and doesn't ditch the team 30 seconds into the game won't notice any difference in the game.
However, in the interest of saving myself some time in coding (seeing as how 1.04 should be out soon) and also in the interest of not limiting players from legitimately changing their mind about joining a team, this plugin doesn't stop the problem 100% of the time.
Here's what it does....
it keeps track of any time a player uses any of the following commands:
jointeamone
jointeamtwo
readyroom
and logs the time.
If the player attempts to use the "readyroom" command before 120 seconds have passed since one of those commands was typed then it simply tells them that they cannot ditch their team and refuses to let them into the readyroom.
If the player attempts to use either "jointeamone" or "jointeamtwo" before 120 seconds have passed since the time log, then the player will be instructed to use the team joining portals.
also, if a player leaves the game, any player that takes their slot will be bound by the same time restrictions of the last player (if a player does a "retry" then the restrictions will still stick).
So, to recap this whole post in a nutshell, this will not prevent all team based exploits, but it should at least slow them down.
oh, and taking some advice, I've shortened my banner a bunch, even though I *know* you all love looking at all that text <!--emo&:p--><img src='http://www.unknownworlds.com/forums/html/emoticons/tounge.gif' border='0' valign='absmiddle' alt='tounge.gif'><!--endemo-->
Comments
Anyway it does seem to be working just fine. Thanks [WHO]them!
this plugin does three general things:
1. Patch up some bugs that have been found in NS v1.03
2. Add miscellaneous serverside commands that can do things such as giving players jetpacks to increasing their health to 9 billion
3. Add's a couple clientside commands, mostly for monitoring if the plugin is being used for cheating.
<!--QuoteEnd--></td></tr></table><span class='postcolor'><!--QuoteEEnd-->
HAHahHAAHHAH,
God I don't know how many times with low health I've used jet packs to jump outa harms way, only to have it run out of "power" and kill me on impact with the ground. But of course useing the plugin to add jet packs and adjust health is rather evil.
I'll add it to my server and let you know how well it works. The bug blocking that is, LOL.
most of the commands *could* be used for a cheating purpose, so anybody that uses spmo_commandwatch will be notified in the chat area when any command that could possibly cheat is used and will be notified of it's exact parameters.
on another note, the health change is very evil indeed <!--emo&:p--><img src='http://www.unknownworlds.com/forums/html/emoticons/tounge.gif' border='0' valign='absmiddle' alt='tounge.gif'><!--endemo-->
to test it out for the first time in a big game i just kind of surprised everyone on the server with 9,999 health all at once. It was kinda funny after 30 seconds cuz everyone was in one big room and it was like a giant orgy of biting and machineguns. hehehehehehe
There’s no reason to have a connection message saying who made spider monkey and "This server runs spider monkey" because most admins wont ever use the other features on it. they will just use it because it fixes the bugs.
Another problem is the commands can be easily abused by admins, and many players wont know (or will be to lazy) to run the command watch thing.
<!--QuoteBegin--></span><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td><b>QUOTE</b> </td></tr><tr><td id='QUOTE'><!--QuoteEBegin-->2. Add miscellaneous serverside commands that can do things such as giving players jetpacks to increasing their health to 9 billion<!--QuoteEnd--></td></tr></table><span class='postcolor'><!--QuoteEEnd-->
What’s the point of those being in a bug fix? Its useless IMHO.
This is just my opinion, Not trying to start anything.
Bugfixes:
-"stopcommandermode" exploit (aliens become marines)
-"lastinv" while a commander exploit (commander can shoot anywhere on the map like a god)
-the alien resource exploit
this still has a two line banner letting ppl know the version, when it was compiled, and who made it (if you don't like it then nuts to you)
if you want to compile it yourself you're probably gonna have to change a few things as far as the include structure goes, here's how my source structure is laid out.....
sdk top is "/hlsdk"
the meta source is in "/hlsdk/multiplayer/metamod/metamod"
and this project is in "/hlsdk/multiplayer/metamod/quickpatch"
just before I released the code I made some attempts to clean it up and make it more readable....
one of those attempts to clean up involved splitting a header into two headers to maintain a separation of data and the new header was "sdk_util.h", for some reason it never even occured to me until now that this is also the name of the half-life engine's header that basically does the same thing and that i was already including that.
Basically in a nut-shell, if anyone gets confused as to why I #include <sdk_util.h> and also #include "sdk_util.h" in the same cpp, just know that it was a mistake :/
u = silly <!--emo&:p--><img src='http://www.unknownworlds.com/forums/html/emoticons/tounge.gif' border='0' valign='absmiddle' alt='tounge.gif'><!--endemo-->
I'm sorry to everyone that tried to install this on a windows server, I made a booboo that wouldn't let it load.
Here's a re-build of the previous version but now it should actually work on windows servers, no difference for linux servers.