Anyone with the appropriate computer and bandwidth resources can operate their own Carball server. Many companies offer professional game server hosting and most who offer Unreal Tournament 2004 (UT2004) hosting will allow the installation of mods such as Carball.
This document is based off of "The UT2k4 Server Setup Guide" written by Carball Dev Team member UrDaddy. In fact some sections of this document have been copied directly from that guide, with UrDaddy's permission. However this document is not nearly as through as The UT2k4 Server Setup Guide.
Although this document does provide a lot of information and should assist those who have had some experience with game servers run a Carball specific server, it is highly recommended that users read the original UT2k4 Server Setup Guide. Not only does that guide provide more in-depth information, it offers advice on related issues such as stat tracking, server logs, mutators, and recommendations for professional game hosting companies. The UT2k4 Server Setup Guide can be found on the Official Carball web site.
You may start a game server by selecting "Host Game" from the main title screen menu. If you have already installed Carball it will appear as a selectable game type option when you set-up your server.
There are three different types of UT2004 servers, LAN, listen and dedicated.
A LAN server is a Local Area Network server. Only people on your network will be able to join your LAN server.
Listen servers are meant for those users who want to use the same computer for playing the game as they do for running the server.
Dedicated servers are meant for users who want to dedicate their computer to just running the server without playing from the server machine. This mode allows the computer to dedicate more resources to being a game server.
A "full" dedicated server is a game server that runs from a game server software package that is meant only to be used as a server. It does not contain the full game. You would be unable to play UT2004 using the full dedicated server package. It is smaller than the full game and free to run. However, it is more complicated to implement than other types of game servers.
Most users who run their own servers rent them from professional game server hosting companies. You may wish to read the recommendations for various game hosts from The UT2k4 Server Setup Guide. It is worth noting here that the guide very strongly warns users away from using VSK Gaming Servers, citing complaints such as the ones found here and here.
Please note that as it is impractical for most people to host a game server from their own personal computer, most of this document is directed at those users who have chosen to rent a professional game server.
Once you have chosen a game server provider, you must set-up your server in order for it to be able to serve Carball games. Below we describe the basic set-up information and the actions you must take. This guide focuses on what you need to do for your server, but not how or why. For details as to why and how all this works, you should once again refer to The UT2k4 Server Setup Guide.
In order to have a functioning Carball server you must upload certain files to your server. It is very important to note that whenever you are uploading or downloading files between yourself and your game server that the server should be stopped. This is to prevent crashes and make it easier for you to restart your server, something that is normally required to implement changes anyway.
Start by acquiring an archive, not a UMOD, of the latest version of Carball. (This would normally be a ZIP file.) Uncompress the archive and upload the files to your server, but remember the following stipulation: The files must go into the appropriate UT2004 directories, not the CBall directory. The client version of Carball that players use to play the game online has a directory called "CBall" that contains most of the files necessary to play Carball. The situation with the server is different. For the Carball server, you must place the Carball files inside the regular UT2004 directories.
Files ending in ".u" or ".ucl" or ".int" (without the quotes) go into the System directory.
Files ending in ".utx" (without the quotes) go into the Textures directory.
Files ending in ".usx" (without the quotes) go into the Static Meshes directory.
Files ending in ".ukx" (without the quotes) go into the Animations directory.
Files ending in ".ut2" (without the quotes) go into the Maps directory.
Files ending in ".ogg" (without the quotes) go into the Music directory.
It is recommended that you make sure your server works with a plain standard Carball install before adding extra maps, mutators, etc. Extra maps (custom or otherwise) simply go into the UT2004 Maps directory.
Server Admins may wish to read up on the Carball specific mutators.
Please note that whenever you upload a non-default map to your server (that is to say any map not included with the original UT2004 install, and this means all Carball maps) your server will create a .ucl file in your System directory associated with that map. Whenever you delete a map make sure you should also delete the corresponding .ucl file for the appropriate map in your System directory. If you leave the .ucl file in your System directory for a deleted map the server will act as if the map is still present and it will cause serious issues whenever the server attempts to switch to the now missing map.
Additionally, you must configure an INI file in order to have a functioning Carball server.
After you have uploaded all the appropriate files to your server, go into your System directory and download the file called "ut2004.ini". (Some game server providers will rename this file to "server.ini".) UT2004 INI files are just plain ASCII files and can be opened in any text editor.
It is very important to note that the INI files contain a great amount of configuration information. Changing an entry in your INI file to something incorrect can result in serious issues. You should only change information in the INI files if you have to and/or you know what you are doing.
An example INI file can be found here. Please remember that this is just an example, not a working file. A local copy has been included with this manual, located at UT2004/CBall/Help/Exampleut2004.ini.
Under the [Engine.GameEngine] section of the ut2004.ini file add the entry "ServerPackages=CBall" without the quotes at the bottom of the section.
Under the [IpDrv.TcpNetDriver] section make sure that the AllowDownloads entry is set to "True" without the quotes. You should also change the Tick and Client Rate (NetServerMaxTickRate and MaxClientRate) entries in the [IpDrv.TcpNetDriver] section. For more information on the complexities of the Tick and Client Rates please see both The UT2k4 Server Setup Guide and this article written by the Clan Vikings. The suggested settings on a Carball server for NetServerMaxTickRate is 30 and the suggested setting for the MaxClientRate is 15000. This suggestion is the general consensus that comes from the most experienced Carball server administrators (admins). However, it is still very highly recommended that server administrators test different settings in order to discover what is best for their particular server. Please note that the higher the Tick Rate the more processing resources used on the server computer.
Next you should set redirect instructions under the [IpDrv.HTTPDownload] section. Redirect instructions will send file download requests from the game server to another server ("the redirect server"). The redirect server is normally not a game server but another type of server that is superior at transferring files than a game server. This takes stress off of the game server allowing it to better run the game as well as giving the connecting players a chance to download the needed files faster. Some game server hosts will provide a redirect server. You may learn about a free redirect server here. Please see The UT2k4 Server Setup Guide for more information on this subject, including how to properly prepare your files for the redirect server.
Under the [IpDrv.HTTPDownload] section add the URL of your redirect server to the "RedirectToURL=" entry.
The [Engine.GameReplicationInfo] section can be configured to display information about your server. It is not mandatory to change these entries, but it is helpful to do so. Whatever text you place in the Server Name, Admin Name and Admin Email entries will be displayed by the server as its name, the admin's name and the admin's email address respectively. Whatever text is placed in the Message Of The Day entry will be displayed to the players when they first enter the server or whenever they use the in game menu to check the Message of the Day.
One can administrate many functions of their server through a web browser interface called WebAdmin. In order for you to utilize WebAdmin you will need to configure some entries under the [Uweb.WebServer] section of the ut2004.ini file.
Please note that you can only connect to the server through WebAdmin while your server is up and running. When you stop the game server running on the server computer or if the game or server crashes you will not be able to connect through WebAdmin until the server is restarted.
Under the [Uweb.WebServer] section, you should make sure the "bEnabled=" entry is set to "True" without the quotes.
The ListenPort entry shows what port you need to access the WebAdmin interface from. This information should have been provided to you by your game server hosting company. In fact they may even configure this entry for you.
UT2004 uses two types of administrative systems, the Basic Admin System and XAdmin System. The Basic Admin System has one user name and corresponding password that allows one person to access the entire system. The XAdmin System allows multiple users to administrate the system and for the owner to assign different levels of access to each administrator.
You can change your server to the XAdmin System by altering the AccessControlClass entry under the [Engine.GameInfo] section of the ut2004.ini file. Change the AccessControlClass entry to "AccessControlClass=XAdmin.AccessControlIni" without the quotes and you will enable the XAdmin System.
Stat Logging can be enable by changing the bEnableStatLogging entry located under the [Engine.GameInfo] section. Set bEnableStatLogging to "bEnableStatLogging=True" without the quotes to enable stat logging.
These necessary edits to the ut2004.ini file are summarized together in a list found in the Charts and Lists section of this manual.
After making all of the above changes to the ut2004.ini file, save the file and then upload it to your server. Restart the server. Once the server is started you will be able to connect to it via WebAdmin. To connect via WebAdmin open a web browser and set the URL to the IP address of your server and the port number specified under the Listenport entry described above. The default Username and Password are Admin and Admin. It is important to change this right away by selecting the "Admins & Groups" hyperlink near the top of the screen, then selecting the "Browse Users" hyperlink on the left hand side of the screen and then choosing your admin name. Choosing your admin name will allow you to edit your username and password.
Once you have WebAdmin up and running you can configure aspects of the actual Carball game as it will be run by your server.
It is important to note that in order to implement any changes made via WebAdmin you have to select the "Accept" button at the bottom of the WebAdmin pages. The changes become effective when a new map is started.
Below we describe some of the commands you can access through WebAdmin and how to use them to finalize the set-up of your server for Carball games.
Access the list of maps you wish to run on your server by clicking on "Defaults" near the top of the WebAdmin homepage. The first Defaults page that loads up contains the "Maps" section. Click on the gametype drop down menu at left of the page and change the gametype to Carball, then select "Update". Upon selecting "Update" the gametype map list will change to show Carball maps. You should make sure that all of your Carball maps are in your current map list. If you want to add or remove any maps use the arrow keys to move them in or out of the cycle. Once you have chosen which maps you want to be in the server rotation you may click on the "save" button near the top of the centre of the page, located underneath the "Game MapList Management" header to keep the list you just created.
Next, click on the "Game" section on the left side of the screen. This will allow you to set game rules such as the maximum Goal Score or the Time Limit. Setting the Time Limit to 0 will tell the server to end the match when the Goal Score is reached but no earlier, and setting Goal Score to 0 will tell the server to end the match when the Time Limit is reached and no earlier. If the score is tied at the end of the Time Limit there will be overtime.
You can now enable and choose options for "Kick Voting" by clicking on the Kick Voting section located on the left side of the screen. Similarly, you may click on the "Map Voting" section to enable map voting and change some of the options associated with it. Repeat Limit is the number of previously voted maps that will not be available until that number is reached. Voting Time Limit is how much time the server gives players to vote for the next map once a match has ended.
The next important section is the "Voting GameConfig" section, where you can setup the map voting choices for any gametype, and add/remove mutators for any mapvoting selection. Make sure if you are planning on using MapVote (which you should as all good servers have this turned on) that you add at least one mapvoting selection for whatever game type your server will run.
You can kick or ban players from your server by clicking on the "Current" link near the top of the page, then selecting the "Players" hyperlink on the left. This will show you a list of players that are currently on your server, and you can kick or ban from there. Also if you click on the "Defaults" link on the top, then go to the "Access Policies" section you can see all the current players that are banned on your server.
Selecting "Rules" entry (on the Defaults page) will allow you to set basic rules for the matches, including stipulations specific to Carball. Examples of Carball specific games rules include Maximum Spider Mines, Overtime Delay, Timeouts, and the Timeout Delay. Should the "Force Respawn" option be turned on there will be no suicide delay in matches. A suicide delay is highly recommended for Carball, however not all players like the delay. You should experiment to determine your own preference. If the "Players Must Be Ready" option is chosen, maps will not start until all players have pressed the fire button.
The "Server" section gives you access to several important functions. Under this section you can change the Server Name, Message Of The Day (MOTD), Admin Name and Admin Email. You can also set a server password by typing a password into the Game Password field. Players will not be able to play on your server without knowing this password. If you leave the Game Password field blank a password will not be needed in order to connect to your server. The maximum number of players and spectators simultaneously allowed to connect to your server can be adjusted under the Server section. How many players can join your server at once is usually based off of how much bandwidth your server has available. It is common to set Carball servers to a maximum of eight players and use remaining bandwidth to allow spectators to connect. Setting a time in the Kick Idlers Time option will tell the server to disconnect any player who has idled for more than the set amount of time. Not setting a time for this option will mean that an idle player can stay connected to the server indefinitely.
There is a lot more you can do from WebAdmin, however the above should get you started with successfully administrating a Carball server.
Some basic admin commands you can do from the console are described bellow. You need to be logged in as an administrator in order to perform these commands, with the exception of the Adminlogin command. Press the Tilde Key (~) while in the game in order to access the console. Please note that commands can be case sensitive, especially when referring to file names, such as the name of a map. Square brackets indicate arguments to the command and are not literal.
Admin Map [full map name, E.G. CB-Spaced2] - Changes to map specified.
Admin Switchlevel [mapname?game=game type?mutator=mutator] - Changes the current level to the specified level, game type, and mutators.
Adminlogin [username password] - Logs you onto the server as an admin.
Adminlogout - Logs you off the server as an admin.
Admin Set Uweb.Webserver bEnabled True - Enables remote WebAdmin server if not already enabled. This will take affect after level change.
Admin Set Uweb.Webserver bEnabled False - Disables the remote WebAdmin server if it is enabled. This will take affect after the level changes.
Kick [playername] - Kicks the specified player from the server.
Kickban [playername] - Bans the specified player from the server using their IP address.
Although efforts have been made to ensure accuracy in this document, users should use The UT2k4 Server Setup Guide as the more definitive server guide. Any user who plans on running a UT2004 game server on a regular or long term basis should read that guide.