User Tools

Site Tools


multiplayer:running_a_server

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
multiplayer:running_a_server [2017-03-20 11:46]
skyjake
multiplayer:running_a_server [2018-12-16 14:13] (current)
skyjake [Running a multiplayer server]
Line 1: Line 1:
 +<- ^ guide:​Multiplayer ^ shell_help|Shell ->
 +
 +====== Running a multiplayer server ======
 +
 +A //​multiplayer server// is an instance of [[guide:​doomsday-server]] running as a background process.
 +
 +
 +This page focuses on starting and running a server via the command line. For a GUI approach, see [[shell_help|Running a server using the Shell]].
 +
 +===== How to set up a server =====
 +
 +==== Requirements ====
 +
 +
 +  *  Both client and server should have the same WAD file. For instance: the identification number for **doom2.wad** v1.9 is ''​f36acb''​. While the game will '​work'​ with differing wad files, differences in geometry can have players spawning outside the map or in walls etc.
 +
 +
 +==== autoexec.cfg ====
 +
 +
 +Best thing to do is to set up a **.cfg** file where you set all the suitable console variables for the server. Things you will need...
 +
 +  *  **autoexec.cfg** (create yourself) and put the customized cvars from below into it.
 +  *  TCP port 13209 "​open"​ — to find out how to open your ports see http://​portforward.com/​
 +
 +In the "​autoexec.cfg"​ put the lines below:
 +
 +<​code>​net-ip-port 13209
 +server-game-deathmatch 1
 +server-game-nomonsters 1
 +server-name "​Dew'​s Deathmatch game!"
 +server-info "Come join my game"
 +server-player-limit 8
 +server-public 1
 +setmap 1 1
 +</​code>​
 +Note: ''​server-public 1'' ​ makes the server visible to all on the master server.
 +
 +
 +=== Possible cvars for the .cfg file ===
 +
 +
 +To find all variables and commands containing the word "​server",​ you can use the command:
 +  apropos server
 +
 +Below is a brief list of supported variables:
 +
 +<​code>​server-game-jump = 1
 +server-game-map = 0
 +server-game-mapcycle = "T:10 12* 11 17 18 19"
 +server-game-mapcycle-noexit = 1
 +server-game-mod-damage = 1
 +server-game-mod-gravity = -1
 +server-game-mod-health = 1
 +server-game-monster-meleeattack-nomaxz = 0
 +server-game-nobfg = 0
 +server-game-nomonsters = 1
 +server-game-noteamdamage = 0
 +server-game-radiusattack-nomaxz = 0
 +server-game-respawn = 0
 +server-game-respawn-monsters-nightmare = 1
 +server-game-skill = 3
 +server-info = "come join my game"
 +server-latencies = 0
 +server-name = "​Example'​s deathmatch game"
 +server-password = ""​
 +server-player-limit = 6
 +server-public = 1
 +
 +net-dev = 0
 +net-ip-address = ""​
 +net-ip-port = 13209
 +net-master-address = "​www.dengine.net"​
 +net-master-path = "/​master.php"​
 +net-master-port = 13209
 +net-name = ""​
 +net-nosleep = 0
 +net-queue-show = 0
 +
 +game-fastmonsters = 0
 +</​code>​
 +
 +==== On the desktop ====
 +
 +
 +The best way to run a server on your desktop is to use the [[shell]]. You can specify the location of your **autoexec.cfg** using the command line option:
 +  ​
 +  -p some/​path/​autoexec.cfg
 +
 +
 +==== In a terminal / command line ====
 +
 +
 +[[guide:​doomsday-server]] is intended to be run as a background process and has no UI of its own. While you can start it manually in a terminal, controlling the server is only possible using the [[Shell]].
 +
 +In Unix, please refer to the manual page //​doomsday-server(6)//​ for more information.
 +
 +Brief instructions:​
 +
 +  -  Specifying a game is mandatory (with ''​-game''​).
 +  -  Configure the TCP (''​net-ip-port''​) port number. The default port number is 13209.
 +    * This step has to be done only once because the port numbers are saved automatically into the game config file.  You may also wish to write your own **.cfg** startup script that  executes all the necessary commands.
 +  -  The current map can be changed with ''​setmap''​ (in **autoexec.cfg**).
 +
 +Example:
 +  doomsday-server -game doom2 -iwad ~/​games/​doom/​DOOM2.WAD \
 +      -file ~/​games/​doom/​dwango5.wad -p ~/​.doomsday/​conf/​autoexec.cfg
 +
 +
 +==== Docker ====
 +
 +
 +If you're using [[https://​en.wikipedia.org/​wiki/​Docker_(software)|Docker]],​ you may prefer hosting a Doomsday server in a container. For more information,​ see: [[https://​github.com/​ecliptik/​doomsday|ecliptik/​doomsday (GitHub)]].
 +
 +
 +===== Automatic map cycling =====
 +
 +Set up a mapcycle:
 +  server-game-mapcycle "T:10 1* 11 17 18 19"
 +
 +See [[map cycling]] for a description of the syntax.
 +
 +Start the cycle:
 +  startcycle
 +
 +Stop the cycle:
 +  endcycle
 +
 +===== See also =====
 +
 +  *  [[doomsday-host]]:​ Unix script for running dedicated servers in the background