I made some changes to UTDC and the web admin of the dfb UT99 server.  Basically to make it easier to catch cheaters.

------

In UTDC I enabled kicking for UnrealScript bots and detecting illegal trace calls that may be coming from an Aimbot.  This setting may fuck up mods on the server.  You'll know when you see everyone being kicked for &quot;an illegal function call&quot;.  Take the function in the UTDC log and add it to TraceAllowList if this does happen.

------

I also configured UTDC to block an IDK 1.0.5d cheat Smartscript found, that was undetectable by UTDC 1.8 out of the box.  It isn't detected by UTDC as fast as the cheats stored in the UTDC dll but it will kick people.  One thing though- a person can come into the game and run the cheat after UTDC validates, UTDC doesn't do the check again until a bit later.  I tried to set the check frequency lower so they wont be playing with the cheat too long (without adding too much lag to the game because of the check).

This cheat stores an itp.dll file in the player's temporary directory, injects the dll into the ut exe and hooks onto the function '?PostRender@URender@@UAEXPAUFSceneNode@@@Z' in Render.dll.

If any other admin wants to block this cheat and can't run UTDC 2.0 yet, give them this to put in their UTDC.ini:

CAddr[0]=0
CAddr[1]=0
CAddr[2]=0
CInst[0]=0
CInst[1]=0
CInst[2]=0
Addr436[0]=279974308
Addr436[1]=0
Addr436[2]=0
Inst436[0]=82391
Inst436[1]=0
Inst436[2]=0
Addr451a[0]=279974298
Addr451a[1]=0
Addr451a[2]=0
Inst451a[0]=82577
Inst451a[1]=0
Inst451a[2]=0
Addr451b[0]=279974298
Addr451b[1]=0
Addr451b[2]=0
Inst451b[0]=82577
Inst451b[1]=0
Inst451b[2]=0
Addr440[0]=279974308
Addr440[1]=0
Addr440[2]=0
Inst440[0]=82391
Inst440[1]=0
Inst440[2]=0

I'm forcing the client version of UT to be 436 or above, just for the fact UTDC doesn't allow the ability to check addresses below version 436.

------

UTDC is now going to do a check on the files Engine.dll, Engine.u, ASH400.u and Render.dll just so people don't play with the contents of those files.

------

Once a player gets kicked a screenshot will be made, so whenever a player is kicked you can check the screenshot to get an idea what cheat the player was using.  You can also take screenshots manually from all the players, I may make it so it takes it automatically mid-game or at the end of the game if needed.  Keep in mind though that screenshots wont always tell if a player is using an aimbot/radar/cheat.  There are cheats (although very few as far as I know) that can modify the screenshot, or aimbots that don't have anything it draws on the screen.

If you want to take screenshots manually, login as admin on the server and type this in the console window:

To get a screenshot from everyone:
mutate utdc shot

To get a screenshot from a single player:
mutate utdc shot [PLAYER ID]

I also added a checkbox in the web admin to get a screenshot from there.  If you also want to kick/ban the person, take the screenshot first then check the &quot;Server Console&quot; to see if the screenshot file was made and then kick/ban the person.

------

Lastly, I made a log viewer tool to audit logs and screenshots.  You can get to it from the UT99 web admin or from here (same username and password as the UT99 web admin):

http://hosting.dfbgaming.com/utdfb/