Another Bugfix

[WHO]Them[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-->

Comments

  • [WHO]Them[WHO]Them You can call me Dave Join Date: 2002-12-11 Member: 10593Members, Constellation
    I haven't been able to adequately test this on my own server, does any have any comments as to whether it works effectively or not.
  • playerhaterplayerhater Join Date: 2002-11-13 Member: 8405Members
    edited January 2003
    I loaded SPMO on one of our NS servers yesterday. Its hard to say if it works. Is there a forum post somewhere that explains its use. I read the readme and the command functions work. In console I type spmo_commandwatch and I get a message saying that I will recieve something, etc. is this all there is to it?


    Anyway it does seem to be working just fine. Thanks [WHO]them!
  • [WHO]Them[WHO]Them You can call me Dave Join Date: 2002-12-11 Member: 10593Members, Constellation
    that's all there is for the client side.

    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.
  • HtNickoliHtNickoli Join Date: 2002-11-24 Member: 9786Members
    edited January 2003
    <!--QuoteBegin--[WHO]Them+Jan 4 2003, 07:54 AM--></span><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td><b>QUOTE</b> ([WHO]Them @ Jan 4 2003, 07:54 AM)</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-->
    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.
  • [WHO]Them[WHO]Them You can call me Dave Join Date: 2002-12-11 Member: 10593Members, Constellation
    thats why the commandwatch is there <!--emo&:p--><img src='http://www.unknownworlds.com/forums/html/emoticons/tounge.gif' border='0' valign='absmiddle' alt='tounge.gif'><!--endemo-->

    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
  • voogruvoogru Naturally Modified (ex. NS programmer) Join Date: 2002-10-31 Member: 1827Members, Retired Developer, NS1 Playtester, Contributor, Constellation
    Personally, I don’t see why you don’t release a plug-in that’s open source and has no "un-needed" stuff (Such as all those admin commands that really are not needed for the bug fixes, a lot of people will be using the mod only because it will fix the bugs they don’t want to be exploited.

    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.
  • [WHO]Them[WHO]Them You can call me Dave Join Date: 2002-12-11 Member: 10593Members, Constellation
    edited January 2003
    that's just the thing, it's not commands in a bugfix, it's a bugfix in a set of commands mainly because i'm too lazy to start a whole new metamod project
  • [WHO]Them[WHO]Them You can call me Dave Join Date: 2002-12-11 Member: 10593Members, Constellation
    edited January 2003
    okeedokee, here we go folks, by voogru's complaining nature I have made a new project and stripped out all the spidermonkey stuff, so here's just the 3 bugfixes AND the source.

    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"
  • [WHO]Them[WHO]Them You can call me Dave Join Date: 2002-12-11 Member: 10593Members, Constellation
    I would like to note one thing about the sourcecode included for anyone that is looking at it.

    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 :/
  • ECA_ShocK-TroopeRECA_ShocK-TroopeR Join Date: 2002-12-24 Member: 11472Banned
    i wondered why you had a sdk_util.h in "header files" and "external dependencies" that were different. i thought maybe i had old code <!--emo&:D--><img src='http://www.unknownworlds.com/forums/html/emoticons/biggrin.gif' border='0' valign='absmiddle' alt='biggrin.gif'><!--endemo-->

    u = silly <!--emo&:p--><img src='http://www.unknownworlds.com/forums/html/emoticons/tounge.gif' border='0' valign='absmiddle' alt='tounge.gif'><!--endemo-->
  • [WHO]Them[WHO]Them You can call me Dave Join Date: 2002-12-11 Member: 10593Members, Constellation
    WHOOPS,

    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.
  • SirusSirus Join Date: 2002-11-13 Member: 8466Members, NS1 Playtester, Constellation
    I think you can bind alien join and readyroom to a key, do it fast enough and it cant recognize if your a new player or not so it gives your starting res, and since you leave so fast it dumps that in the pool...do it over and over and you have alot of res, that my theory, but im guessing its pretty close to the real thing.
Sign In or Register to comment.