 _________________
|                 |
|  CSPSP Server   |
|  version 1.41   |
|  by Kevin Chen  |
|  2011           |
|_________________|


 __________
|-UPDATES- |
|__________|

   Added support for CSPSP version 1.81
   Fixed bug where the round would end while players are still alive
   Fixed a bug where grenades were not dropped on death
   Added respawntime config property
   Added default spawn gun property
   Added temporary invincibility config property
   Made gameplay default to tdm if map doesn't contain the right ctf or ffa info
   Added more error checking when reading packets (should hopefully prevent some crashes)
   Added autobalance as people join in ctf


 ________
|-INTRO- |
|________|

   This is version 1.41 of the game server application for CSPSP. 
   

 _______________
|-INSTALLATION- |
|_______________|

   Extract the CSPSPServer folder to any location you want and run CSPSPServer.exe (requires the Microsoft .NET Framework). The server will automatically minimize to the tray (the notification area at the bottom right of the screen). Double-click the icon or right click it and press "Restore" to bring up the server again.

***If you are behind a router, you will have to port foward the port (udp only) specified in config.txt (default is 42692). Similarly, if you are using a firewall, you will have to unblock/open the port. Since the steps for these procedures vary among router types and different firewalls, I won't give any specific instructions here. A very helpful tutorial by xXxSpectre@ is available at the CSPSP forums (http://z4.invisionfree.com/CSPSP/index.php?showtopic=150).***
   

 ________________
|-CONFIGURATION- |
|________________|


   To configure your server, open up data/config.txt. Inside, you'll find a few settings that you can change. They should be pretty self-explanatory, but I'll give short descriptions of them here:


   "name" - the name of your server (max 32 characters)

   "autobalance" - enables/disables team auto-balance ["on"/"off"]

   "friendlyfire" - enables/disables friendly fire ["on"/"off"]

   "alltalk" - enables/disables chat between dead players/spectators and players still alive ["on"/"off"]

   "maxplayers" - the maximum number of players that can join the server (max 32)

   "roundtime" - the duration of a round in seconds (minimum 10)

   "freezetime" - the freeze time before a round in seconds (max 10)

   "buytime" - the time in the beginning of a round allowed to buy weapons 

   "maptime" - the duration of a map in minutes (maximum 120)

   "port" - the port that the server will use (between 1024 and 65536)

   "respawntime" - the time it takes someone to respawn after dying in seconds (max 30)

   "spawngun" - the index of the gun you want players to spawn with in ctf and ffa (for example, 11 is the MP5; -1 is just the default pistols)

   "invincibletime" - the time a player is invincible for after respawning in seconds (max 10)

   
   To change the map cycle, open up data/mapcycle.txt. List the maps in the order that you want them to cycle in, in the format [map name] [type] on each line, where type is either "tdm", "ctf", or "ffa".

   To manually ban players, open up data/banlist.txt and enter their name, with one name per line. Make sure that you use only their account name, excluding any clan tags (For example, you would enter only "name" to ban someone named "[clan]name").

   To add admins, open up data/admins.txt and enter their name, with one name per line. Make sure that you use only their account name, excluding any clan tags (For example, you would enter only "name" to ban someone named "[clan]name"). Admins basically have access to the same commands as the server owner (such as kick, ban, etc), except they can do so remotely when in-game.

   You can also modify the data/guns.txt, although extreme values for any of the gun properties might not work well online.


 ___________
|-COMMANDS- |
|___________|

   Commands can be entered in the input line (indicated by ">") on the top or bottom of the server, depending on if your running the console or gui version. Here's a list of the available commands:


   /help - lists available commands and their arguments

   /timeleft - shows remaining time left for current map

   /kick [player name] - kicks player with specified name*

   /ban [player name] - bans+kicks player with specified name*

   /unban [player name] - unbans player with specified name*

   /map [map name] [type] - changes to a new map (type can either be tdm, ctf or ffa; default is tdm)

   /resetround - starts a new round and resets scores

   normal text - sends a server message to all players


*name refers to the player's account name, without the clan tag. For example, the account name of someone named "[clan]name" would just be "name".


 ________________
|-COMMON ERRORS- |
|________________|

   Here is a list of a few error messages and their explanations/solutions:


   "Error: Map could not be loaded" - the map could not be loaded (this probably means that the map itself has problems)

   "Error registering server: Server already registered" - the server was not unregistered correctly the last time it was closed. This is more of a warning than an error, and the server will still function normally.

   "Error registering server: Version outdated" - a new version of the server application is available. Although the server will still run, only people with compatible CSPSP clients will be able to join. It's recommended that you update as soon as possible.

   "Error contacting master server" - the master server that holds the list of servers is unavailable (or your internet connection isn't working). The server will still run, and people who have it saved in favorites will still be able to connect.

   "Error registering server: Supplied IP does not match" - the IP sent to the master server differs from the IP that the master server sees. This error is usually uncommon; try restarting the server application if this happens.


 _______
|-TODO- |
|_______|

   More settings to change

   More commands for the admin of the server
