*****************************************

Jedi Knight II: Jedi Outcast MODIFICATION

*****************************************

~!~ JediDog Fix™ ~!~

~For JK2 1.04

Note: if you are reading this window'd in a notepad, I recommend maximizing it and going to format and checking word wrap, so it is easier to read.

*~~~~~~=~~~~~~=~~~~~~=~~~~~~=~~~~~~=~~~~~~*
Modification contains:
Patches & fixes:
-Anti model flood
-Anti saber flood
-Anti name flood
-Anti MSG Boom
-Anti Name Crash
-Anti Force Crash


*~~~~~~=~~~~~~=~~~~~~=~~~~~~=~~~~~~=~~~~~~*
Installation:
Put it in your base. After testing it appears you cannot run this mod with another mod. It is lame, I know but I guess for those of you who do not have any mods in your server this will be fine. It does not take the server off the list when you press Game Version: All/JK2... when it is on Jedi Knight II it'll still appear on the list.


*~~~~~~=~~~~~~=~~~~~~=~~~~~~=~~~~~~=~~~~~~*
Descriptions of how the exploits work in JK2 1.04:

--Model, Saber & Name Flood - the reason this lags you, lags you out, slows you down or doesn't harm you at all is quite simple. It lags you because the overflow you are loading onto your client, in front of some one is more vulnerable because you have to visually see the changes. If you have higher ping you are more vulnerable because it overflows the amount you have and since you have low connection to the server it's more dangerous. The reason(s) it doesn't harm you is because you have very low ping (around 50 ping) or your rate is too low. Change your rate by /rate 75000 that'll stop it if your ping is <100. If your ping is 150+ you're quite screwed. :)

--Force Crash - OK, the reason this works is also simple and sort of logical. If you change your force powers into a number that is not in the calculations of what is set to a proper amount of force (forcepowers 7-2-3333333333333333) it sort of glitches itself since it is not the correct number in the calculations of the force powers. Thus meaning since it is not in the correct calculations, it errors and messes up and causes the server to crash.

--MSGBoom Exploit - MSGBoom in JK2 1.04 is similar to a flood. It sends a large message to the server overflowing it and acting as a flood to client(s) possibly flooding you out.

--Illegal Characters Crash(IN THEORY) - I'm not really sure 100% why this works either but I have a theory. The reason I said "illegal characters crash" is because it doesn't have to be in the name, it just has to be from the source code sending the command. In the source code theres this little line right here: trap_SendServerCommand( -1, va("print \"anything can go here but if it has illegal characters in it like º¿¬§ïâ¡¶ it'll create the bug"));. That is why saying those characters do not work because it is not sent from the server's code. That is how I fixed the crash using a hex editor in JK2 1.02. If that message isn't there and there is no "SendServerCommand" the server can't be sent a message from that part which prevents it. Thus meaning that it 'implodes' itself by having it being send the illegal characters ending up in a crash like force crash.

*~~~~~*
The fixes in this mod that prevent those bugs above in JK2 1.04.

--Model, Saber & Name Flood - I tried making this blend in so it wouldn't be too noticable unless you actually tried to flood. It prevents UserInfoChanges from changing within .50 of a second. That's "wait 50;" is the max you can go in a UserInfoChange (model, saber, name, force). I used to have it as you have to wait three seconds in between changes but that was just too annoying, so I put it as .25 so it's nearly normal and less annoying.

--Force Crash - This fix is a work-around using Gamall's fix for it. The fix does not allow any force string that is not within the field of "#-#-################" the first # is what g_maxforcerank is on, 7 is Jedi Master. The second one can only be two numbers, either 1 or 2. One stands for light side of the force and two stands for dark side of the force. The last 16 numbers stand for whatever you chose. So the string shuld like like 7-1-332003023030303213.

--Illegal Characters Crash - This denies anyone access that has any illegal character in their name. This is a work-around to the bug because I didn't really know how to fix it, nor did I want to find a way since this works perfectly.

--MSGBoom Exploit - It will not flood out anyone nor crash the server with this mod. It basically drops any large msg coming to the server and doesn't allow it to be shared.

Note: This means your JK2 1.04 server is uncrashable. :)


*~~~~~~=~~~~~~=~~~~~~=~~~~~~=~~~~~~=~~~~~~*
BUGS: None that I am aware of after months of beta testing.


*~~~~~~=~~~~~~=~~~~~~=~~~~~~=~~~~~~=~~~~~~*
To Contact me & find more fixes and future updates go to
http://jedidog.freeforums.org/


----------------------------------------------------------------------------------
~*Credits for helping, creating & testing:
Dark (creating/helping)
Aluigi (helping)
Gamall (using his anti force crash)
Falassion (testing)
Ninn (testing and providing a server for me)
Anarchy (testing)
BigRob (testing)


=================================================================================
THIS MODIFICATION IS NOT MADE, DISTRIBUTED, OR SUPPORTED BY ACTIVISION, RAVEN, OR
LUCASARTS ENTERTAINMENT COMPANY LLC. ELEMENTS TM & © LUCASARTS
ENTERTAINMENT COMPANY LLC AND/OR ITS LICENSORS.