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 revisionPrevious revision
Next revision
Previous revision
multiplayer:server [2018-12-12 16:18] – ↷ Page name changed from multiplayer:multiplayer_server to multiplayer:server skyjakemultiplayer:running_a_server [2018-12-16 12:13] (current) – [Running a multiplayer server] skyjake
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