About TRIBES
Demo
Support
Order
Manual

Subscribe to the TRIBES 2Newsletter

Enter your email address in the fields below to receive regular TRIBES 2 news from Sierra Studios.


Verify email address:




Subscribe to our newsletter by entering your email address in the space provided, and then verify it in the second space:

.

SERVER CORPS - BASIC ADMINISTRATION

    Hardware Requirements
    Basic Config File
    Starting the Server
    Remote Administration Using the Client
 

Hardware Requirements

This is basically a rough guide to give you an idea of how many players your machine will be able to support running a dedicated server.  "Listen" servers impose a much greater CPU load on your host machine, a rough guide for Listen servers would be to divide the number of players in the CPU table by two. The memory requirements are pretty straight forward, any dedicated server should have mnimum of 48 Megs of RAM for any number of players.  The following table gives a rough idea of player counts based on CPU speed:
 
CPU Speed Number of Players
166 16
200 20
266 24
333 32
400 32

Exceeding the player limit for your hardware can overload your machine (your CPU load will reach %100).  When this happens, your machine is no longer able to keep up with the game.  The players connected to your server will experience this as a form of "lag", which reduces the performance of the game.  If players on your server are often complaining of lag, then you may be overloading your system.

TRIBES has an internal limit of 128 players, but we don't recommend that you exceed 32, even if your server can handle it.  The more players you allow on you server, the more load you are also placing on the clients, who need to process and render all players visible to them.  Clients with lower end processors will not be able to play effectively on games with player counts of over 32.

Your Internet upstream & downstream rate also have a big impact on lag.  If your Internet bandwidth is not sufficient to support the number of player in the game, the players will experience this as lag.  Using the default $pref::packetRate and $pref::packetSize settings (mentioned below in the Basic Config File, and covered in more detail in the Advanced Administration page) each client to your server will consume 16Kbps.  Some Internet connections do not have equal upload and download rates, use the smaller number in this table:
 
Internet Connection Rate (Kbps) Number of Players
28.8 1
56 3
128 (ISDN) 8
256 16
300 (Upload rate for some Cable Modems) 16
1500 (T1) 32

All the player numbers are basically the connection rate in Kbps divided by 16. This table does not include the host, so if you are running a listen server on a 56Kbps modem, you could have a 4 player game (3 over the Internet plus yourself).  Bandwidth issues are covered in a little more detail on the a Advanced Administration page under Bandwidth.

Again, these are just rough numbers to get you started, check your CPU load, the responsivness of the game, reports of lagginess etc. and adjust your player count accordingly.

Basic Config File

The server config file consists of a plain text file placed in the tribes\config directory that is used to initialize a number of TRIBES console environment variables. The config file is executed after all the basic TRIBES initialization and will override the default variables declared in the serverPrefs.cs and clientPrefs.cs files also located in the tribes\config directory. The example config file given here declares the basic variables needed to get a dedicated server up and running. You can edit the values directly in the serverPrefs.cs and clientPrefs.cs files, but these files are also shared by the client, and if you are running the client and a dedicated server from the same directory, you should definitely make a separate config  file.

Save the Basic Config text file into a file called serverConfig.cs in your tribes\config directory.  Make sure to edit the Server::Hostname, Server::Info and AdminPassword fields.
CLICK HERE FOR basic serverConfig.cs file
 
$Server::HostName This is the name of your host (String)
$Server::MaxPlayers Maximum number of players on at one time (Int)
$Server::Info Information displayed about the server in the Game Info screen. Should contain the name and email of the server admin. (String)
$Server::JoinMOTD Message Of the Day displayed for new clients (String)
$Server::HostPublicGame Register this game with the master server (Bool)
$Server::Port The port address to used to communicate with clients (Int)
$Server::TimeLimit The time limit for a mission in minutes (Int)
$Server::Password Password required to connect to the server (String)
$AdminPassword Password to use in conjunction with SAD(password); to obtain admin rights. (String)
$pref::PacketRate Max packets/sec per client. We recommend setting this to 10. (Int) 
$pref::PacketSize Max packet size per client. We recommend setting this to 200. (Int)

Starting The Server

Once your config file is all setup, start the server as follows: open a DOS box, cd into the TRIBES root directory and type the following (assuming your server config file is called serverConfig.cs):

    infiniteSpawn *tribes +exec serverConfig -dedicated

The infiniteSpawn program will automatically restart the TRIBES server should it exit prematurely. The * in front of the tribes executable name is an option to display restart and uptime information. Shut the server down by pressing the Quit button on the infiniteSpawn window.  TRIBES can be run without infiniteSpawn program, by simply typing from the TRIBES root directory:

    tribes +exec serverConfig -dedicated

If you are running more that a single dedicated server from the same directory, you can create a config file for each one, server1.cs, server2.cs etc., where each config file sets a different $Server::Port address (28001,28002, etc.)  Start them all going:

    infiniteSpawn *tribes +exec server1 -dedicated
    infiniteSpawn *tribes +exec server2 -dedicated
    ...

Remote Administration Using the Client

Remote administration of a server is basically handled in two ways, either from a client (while playing the game) using the admin functions available on the server menu, or by connecting directly to a server. You can access the server directly by accessing it's dos box, or through a server's telnet port. Administrating using telnet is the same as operating from the server's DOS box, both are little more complicated than using the client, but do give you full access to the server (see Remote Administration using Telnet & Dos Window Administration). Administrating from the client only provides a minimal set of functions, kicking, changing missions, etc., but is easier to do, almost all of it is done through the server menu. Using the client, you must first get admin privileges by either being voted admin, or by knowing the server's admin password.  Admin yourself with the password by using the SAD command from the console:

    SAD("password");

See the Basic Config File on setting an admin password. Note that if you are connected to a game you are hosting (i.e., not running a dedicated server), you automatically have admin rights. Once you are an admin, the server menu will appear slightly different.  Whereas non-admin clients see options such as "vote to change mission", if you have admim rights, the menu will simply say "change mission".  No vote will be called, and the action will take place immediately.

There are a few console commands witch require arguments and are therefor not in the server menu.  These functions are client side scripts that effect changes on the server:
 
SAD("password"); Give yourself admin rights.
SADSetPassword("password"); Set the server password (not the admin password)
ADSetTimeLimit(time); Set the mission time limit
ADSetTeamInfo(team#,"teamName",skinBase); Set team information. Team#=0-n (Int), teamName is the name displayed on the score menu and in the objectives, (String), skinBase is the skin set base name, such as beagle or dsword. (String)