![]() |
CSHP Client Side Hack Protection |
Release 4q - Version 01.04.24 |
(c) 2000, 2001, Creative Carnage, LLC |
What have you just installed?
CSHP is a
mod that will monitor clients that connect to your
server and keep a look out for illegal hacks such as aimbots, radars and the
works. CSHP represents the best line of defense against people looking
to have fun by ruining yours. This package is designed for server-admins.
Clients should not be installing it on their system, instead you should allow
CSHP to auto-replicate to you when you connect to your first CSHP server.
CSHP4q marks a change in direction for the project. We have split the CSHP off in to 2 separate mods. This portion will remain named CSHP and is designed to be run on Public Servers. UTPure will be released shortly and is designed for leagues, clans and tournament play. Unlike previous versions of CSHP, 4q is very forgiving and should work out of the box with 99.9% of all mods out there. UTPure will be very restrictive and support very few mods.
CSHP4q offers good protection and can stop any known public bot. This is why we suggest it for public servers. It does not have the in-depth scanning and tracking code as UTPure.
About Previous Versions?
People, it's a whole new world. Disregard any previous version of CSHP. Your best bet is to completely uninstall any previous versions and upgrade to 4q. You can do this by following these steps:
Step 1: Delete CSHP*.* in your UnrealTournament directory.
Step 2: Edit any .INI files associated with your server(s) and remove all
ServerPackages and ServerActor Entries pertaining to CSHP.
Step 3: Remove and [Section] entries from these INI files pertaining to CSHP.
You have now removed CSHP!
Installing from a .ZIP
Man, this was gonna be a big huge section. Then it turns out there is a problem with the Linux server-side stuff on some linux platforms. So while Mongo is off fixing that, I guess I'll just post the old standby instructions. But take heart, CSHP4q was created to work hand in hand with CSHPServer.
Anyway, to make a rather long story short.. here is the install instructions:
To install CSHP, you will want to unzip the contents of the distribution zip in to your UnrealTournament directory. The zip file contains additional directories so make sure you expand with pathnames. Once installed, you will need to load up UNREALTOURAMENT.INI in to a text editor. Multiple Servers Note: You will have to do this step for each .ini file you use to run your servers.
Find the section labeled [Engine.GameEngine]. This section contains all of the server actors and packages for UT. You will need to make 2 changes and they can be anywhere within this section. Add these 2 lines:
ServerPackages=CSHP4q
ServerActors=CSHP4q.CSHPServerActor
Once you have made these 2 changes, CSHP is ready to go. If you need to force additional packages to be approved, see "ADDITIONAL PACKAGES" below.
Running CSHP?
Once the above is installed, start your server as you always would. Simple as that. When it first starts, CSHP will make the following entry in to your log file:
ScriptLog: ###############################
ScriptLog: # Client Side Hack Protection #
ScriptLog: # Revision 4q #
ScriptLog: # version 01.04.24 #
ScriptLog: ###############################
ScriptLog: Security Level is.............. 1
ScriptLog: Clean up Rogue Objects......... True
ScriptLog: Tracking FOV................... False
ScriptLog: Only Admin Kick................ True
ScriptLog: Kick on TimeOut ............... True
ScriptLog: Use Numeric IP ................ False
ScriptLog: NGStat Players Only ........... False
Players will be able to tell they are connected to a CSHP server by a graphic that displays when they first connect.
Setting up CSHP
We have completely revamped the options available to server admins. If you are upgrading from a previous version of CSHP, please read the next section. If this is the your first install, you can skip it.
Unlike previous versions, CSHP now only has 1 operating mode. Currently there are 8 different options you can add to your INT setup file. They are explained here:
SecurityLevel=<0-2> |
The SecuirtyLevel tells CSHP how to react when someone is caught cheating. Here is how the different security levels work. Each level includes all the protection of the previous levels.
*No matter what security level you are running, CSHP will send cheat reports to the CSHP cheat server as well as make cheat log notations in your NGStats logs. Currently, no direct action is being taken with this information but that will change soon. For more information on what we have planned here, head to our web site! |
We suggest server admins use security level 1 for public servers. Level 0 is really for password protected servers where cheating is almost non-existant (such as SwineOnline, or some of the MyUnreal servers). Level 2 should be used very sparingly, however I do understand the need to keep the cheaters out.
When a cheater is caught, CSHP will display a message to the user via their console.
Advertise=<0-2> |
This option will cause CSHP to add the [CSHP] tag to your server name. This was a requested feature from you guys so you have it. The different settings are:
*Remember that changing your server name does effect your NGStats so please keep that in mind when using this option. |
Starting with version 4q, the [CSHP] tag will be added only if it cannot be found in your server name. If there are any additional advertise setting you would like me to consider, please feel free to email.
bOnlyAdminKick=<True|False> |
This variable allows you to limit the use of the "Mutate CheatKick" command to just people with Admin Access.
bNGStatsOnly=<True|False> |
This option is another user request option. When set to TRUE, your server will politely reject any player not participating in the NGWorldStats Ranking system. I'm probably going to regret this option, so please if you use, make it known in your Server name!
bUseNumericIP=<True|False> |
This option is for the some people in Linux crowd. Seems the DNS work needed to resolve the ip for the cheat server was creating some ghost processes. Setting this to True will cause CSHP to just use the current numeric IP.
bTrackFOV=<True|False> |
This variable tells CSHP to watch for people using the FOV zoom cheat. See the section on FOV cheating below for more information.
bAllowNoSmoke=<True|False> |
CSHP4q has the ability to detect the client side mod No Smoke. Some people consider this a legal mod as it can be used to increase their framerate. However, do not be confused. NoSmoke alters the play mechanics of the rocket launcher by removing the smoke. This allows the player to see clearly, even when launching 6 rockets.
Any Client-Side hack should be considered a cheat as it removes the ability for a server admin to decide what the rules of his server are. CSHP4q gives that choice back to the admin.
ADDITIONAL PACKAGES
CSHP4q no longer requires any type of Allowable Packs.
CONSOLE COMMANDS!
CSHP has 4 mutate commands available. To perform one of these commands open your console while connected to the server and type the command. Some of them may require Admin access.
*Using the CheatTest command sends additional data to the log about who activated it. |
What does a Cheat Report Look Like
Anytime CSHP logs a cheater, it will create a cheat report. This report has information about the person how has cheat, when it occurred and what type of cheat it was. The following is a sample Cheat Report:
####
-------------------------------- ####
#### HACKED CLIENT DETECTED ####
#### -------------------------------- ####
#### - Player Name : Mr. Cheater
#### - Player IP : 24.1.1.2
#### - Method : Illegal (AA) Aiming Device Found
#### - Action : Kicked
#### - Auth. Code : 1093565
#### - Date/Time: 03-16-00@10:42am
#### -------------------------------- ####
The following is a list of "Methods"
*The portion of the method that is ** is a device code that we can use to identify the hack. You can ignore it. |
As you can see, the number of things CSHP checks for has decreased. UTPure will be release shortly to take up the slack.
Rogue Actors
With some exception, CSHP will no longer check rogue actors. We will update it from time to time as new bots become available.
Skins
The choice of skins will now be limited to what's available on the ServerPackages list. This should solve the situations where one has black skins and such. If you find any combination where this is still faulty, just tell us and we will gladly improve the code.
Dying as a spectator
Spectators were able to die when reaching killing zones of certain maps. This should not be the case anymore. Administrators logging out should be fixed too.
Using CSHP on multiple servers
Multiple servers are a bitch. You admins love them, we coders have to deal with them :)
CSHP should be fairly multiple server friendly. Each server will have a separate log created by CSHP. It uses the following naming convention: CSHP-<server name>.log. It will be located in your \System directory. At the current time, the CSHP logs are written in Unicode.
The only restriction right now is that all servers share the same CSHP4q.int file. This is annoying, but with the latest version of CSHP using the server packages, it's not nearly as annoying as before.
Reporting Bugs | Suggestions
I'm no longer answering CSHP questions at my normal email
address and I'm also only answering questions/bugs from server ops and admins.
If you fit in to this group, join the CSHP mailing list. Details can be
found at http://www.creativecarnage.com/CSHP! I can
also sometimes be
found on #unrealscript on GamesLink.