Difference between revisions of "How to run a server"

From OdaWiki
m (Useful settings)
Line 48: Line 48:
 
=== Other variables ===
 
=== Other variables ===
 
Please see [[:Category:Server variables|Server variables]].
 
Please see [[:Category:Server variables|Server variables]].
 +
 +
== Handy Tips ==
 +
==== Setting game modes ====
 +
When running a server, the wanted game modes should always be set and others should be unset, for example:
 +
 +
* Cooperative:
 +
** set deathmatch 0
 +
** set teamplay 0
 +
** set usectf 0
 +
 +
* Deathmatch:
 +
** set deathmatch 1
 +
** set teamplay 0
 +
** set usectf 0
 +
 +
* Teamplay:
 +
** set deathmatch 1
 +
** set teamplay 1
 +
** set usectf 0
 +
 +
* Capture the Flag:
 +
** set deathmatch 1
 +
** set teamplay 1
 +
** set usectf 1
 +
 +
Not setting these correctly may have unusual/unwanted side-effects on the client or server.
 +
 +
==== Running a Cooperative server ====
 +
Some singleplayer maps with coop spawns aren't designed that well and the map may become unfinishable (doors become unopenable, paths become blocked etc).
 +
To mitigate this, set [[emptyreset]] 1, this allows the map to be reloaded each time when everyone leaves. Which has a higher chance of being finished, it also allows a fresh map to be played with all monsters alive again.
  
 
== Optional Services ==
 
== Optional Services ==

Revision as of 04:19, 11 August 2008

If you would like to run a server, then simply run the "odasrv" application from the installation directory. You should then automatically have a server up and running with default configuration.

Basics of Configuring a Server

The server can be started with or without command line parameters. The default behaviour is to bind to local UDP port 10666 (or the next available port; the server console will display the port). The server then finds and loads the WAD files (default: odamex.wad and doom2.wad), loads a map, and begins accepting connections. Unless you have made any changes to settings, the server will run with a default configuration. You should test the server with a client.

Public/private server

First of all, decide if you want your server to be displayed on the Odamex public server list. Set usemasters appropriately.

If you are running a public server, it is a good idea to give it a name. You can name it whatever you choose, but if you want to provide insight reflecting what kind of WAD and game type is being run on it, then do so. To name a public server you must type hostname "x" into the server console, where "x" is the name of the server (with quotes included). Check that the server appears listed on a master server.

Useful settings

Then you can customize server settings with variables and commands. Here are a few examples to get you going:

  • wad x.wad -- Loads the given PWAD, whose name is to be typed in place of the "x".
  • map MAPxx or ExMx -- Goes to the indicated map, where the "x"'s represent digits such as "01" for MAP01. "ExMx" is used when the Ultimate Doom or Shareware Doom is being run, where the "x"'s also represent digits, such as "1" and "1" for E1M1
  • deathmatch x -- Sets the indicated deathmatch mode, where "x" represents the value of the desired deathmatch mode. 1 would be regular deathmatch, while 2 would be altdeath deathmatch. 0 disables deathmatch and enables co-operative mode.
  • rcon_password x -- Sets a remote password for the server. This allows access to server control from within a client console. "x" is the password used within the server and client to set a password and login respectively.

Check out the Basic Server Settings article for a longer list of useful settings.

Further configuration

Map and WAD cycles

You may wish to set up a map or wad rotation using the addmap command.

Useful commands

rquit

You can use rquit instead of quit when quickly restarting a server, such as within a script. This will tell clients to reconnect immediately, and would provide a smooth transition. You should start a new server on the same port as soon as possible (otherwise players might get bored of waiting and leave).

usemasters

usemasters is used to set your server as either private or public.

if

The if command allows to run another command depending on the comparison of a cvar and a static expression. Allows you to script your server.

Other commands

Please see Server commands.

Useful variables

startmapscript and endmapscript contain the scripts that are to be run during map reloads. This can be used to override cvars, but the scripts cannot issue commands. A more flexible alternative to the classic mapcycling.

Other variables

Please see Server variables.

Handy Tips

Setting game modes

When running a server, the wanted game modes should always be set and others should be unset, for example:

  • Cooperative:
    • set deathmatch 0
    • set teamplay 0
    • set usectf 0
  • Deathmatch:
    • set deathmatch 1
    • set teamplay 0
    • set usectf 0
  • Teamplay:
    • set deathmatch 1
    • set teamplay 1
    • set usectf 0
  • Capture the Flag:
    • set deathmatch 1
    • set teamplay 1
    • set usectf 1

Not setting these correctly may have unusual/unwanted side-effects on the client or server.

Running a Cooperative server

Some singleplayer maps with coop spawns aren't designed that well and the map may become unfinishable (doors become unopenable, paths become blocked etc). To mitigate this, set emptyreset 1, this allows the map to be reloaded each time when everyone leaves. Which has a higher chance of being finished, it also allows a fresh map to be played with all monsters alive again.

Optional Services

We provide a range of extended services for running servers to improve experience of both players and server administrators.

Master servers

See information about out master servers.

Software updates

In the future, the server will be able to check and notify you of software updates. In some cases, it will even be able to run the software update automatically. This will keep your server up-to-date.

Getting help

You can easily talk to us if you have a specific problem or wish to make a request.