DEADSOFTWARE

814939aaf9c37cee7d41e645d523d705c3df9b64
[d2df-sdl.git] / man / en / d2df.3.txt
1 @title Doom2DF 3 08.03.2023 3 3
3 @h1 NAME
4 Custom configuration manual for a Doom 2D Forever dedicated server.
7 @h1 CONTENTS
9 1. Server setitngs
11 2. Game parameters
13 3. Events
15 4. Aliases
17 @h1 1. Server settings
18 The dedicated server uses its own configuration file, which is set up only with a text editor. It is not enough to simply change something in the main game and then copy it from its .cfg file into the server file - In the menu "My Game" not all settings for the server are displayed, and some variables from there you can not change. In this paragraph, we consider the most necessary parameters that must be prescribed.
21 @h2 Main options
22 sv_name "<name>"
23 Server name.
25 sv_passwd "<password>"
26 Lock server with password.
28 sv_port PORTNUMBER
29 The port number to be used by the server, by default it is recommended 25667. Overwritten by the parameter -port.
31 sv_public 1/0
32 Whether to show the server in the list or not, by default it is shown.
34 sv_maxplrs <number>
35 Maximum number of slots for players. Recommended 14-16.
37 sv_intertime <number>
38 After how many seconds the server will start the next round. For non-cooperative servers it is recommended to set -1 (this will set the timer for 15 seconds).
41 @h2 Administration option
42 sv_rcon 1/0
43 Enable rcon access to manage the server.
45 sv_rcon_password
46 Password for rcon, specify without spaces and quotes.
48 @h2 Ban options
49 sv_autoban_threshold <number>
50 After how many attempts to harm the server player should be banned (0 = off), the default 5.
51 sv_autoban_permanent 1/0
52 Set the permanence of the ban (0 = ban for a while), the default is 1.
53 sv_autoban_warn 1/0
54 Warn the client about penalty triggers, default is 0.
55 sv_auth_timeout <number>
56 The number of milliseconds it takes for the client to complete authentication to the server (0 = infinite) is by default 30.
57 sv_packet_timeout <number>
58 The number of milliseconds the client has to idle before kicking (0 = infinite) is 60 by default.
60 @h2 Optional options
61 sv_forwardports 1/0
62 Does the server have to pierce the ports itself through miniupnpc.
63 sv_reliable_interval <number>
64 Delay between objects position sending at reliable channel. Must be greater than sv_update_interval.
65 sv_update_interval <number>
66 Delay between objects position sending at unreliable channel.
67 sv_master_interval <number>
68 After how many seconds the server has to remind the master server.
71 @h2 Technical options
72 net_master_list <host>
73 To which master server address the data will be sent. You can specify more than one, for example mpms.doom2d.org:25665,deadsoftware.ru:25665
74 rdl_ignore_enabled 1/0
75 Enable or disable hash checking.
76 rdl_ignore_names <resource wad names>
77 The names of the resource files (from the wads folder without an extension) that should not be checked by the server for consistency.
78 rdl_hashdb_save_enabled 1/0
79 Saving hashes in the database on disk.
81 @h1 2. Game parameters
82 Game parameters are not required to be specified in the maplist, and serve rather to override the configuration file settings, so as not to change the values in it unnecessarily. To turn on you must set 1, to turn off - 0.
84 g_gamemode dm/tdm/ctf/coop
85 What mode will be set on the server.
87 @h2 Bots
88 g_max_bots <number>
89 The maximum number of bots that can be spawned.
90 g_bot_vsmonsters 1/0
91 Should bots fight monsters.
92 g_bot_vsplayers 1/0
93 Should bots fight players
96 @h2 Limits
97 g_scorelimit <number>
98 How many points are needed to end the round (0 = infinite).
99 g_timelimit <number>
100 The time limit after which the round ends (0 = infinite).
101 g_maxlives <number>
102 Number of player lives, enables Survival, LMS, TLMS gamemodes.
105 @h2 Time settings
106 g_item_respawn_time <number>
107 How much time (in seconds) should appear items, the default is 60.
108 g_warmup_time <number>
109 Warmup time for Survival mode and its derivatives, in seconds.
112 @h2 Spawn
113 g_spawn_invul <number>
114 Whether the player will be immortal after respawning. A value 0 turns off immortality after rebirth.
115 g_weaponstay 1/0
116 Whether to leave the weapon after a player picks it up.
119 @h2 Permissions
120 g_allow_dropflag 1/0
121 Enable or disable flag dropping in CTF mode.
122 g_throw_flag 1/0
123 How to throw the flag, 1 - with acceleration, 0 - under the player.
124 g_allow_exit 1/0
125 Enable or disable the ability to exit. For the cooperative to work properly, you must set 1.
126 g_allow_monsters 1/0
127 Allow or disallow monsters to spawn.
130 @h2 Stats
131 g_save_stats 1/0
132 Whether to save the statistics of the round, the default is 0. It is saved as a csv-table.
133 g_screenshot_stats 1/0
134 Whether to save a screenshot of the table at the end of the round, the default is 0.
137 @h2 Friendly-Fire options
138 g_friendlyfire 1/0
139 Turn friendly-fire on or off.
140 g_friendly_hit_trace 1/0
141 Enable or disable the passage of hitscan (bullet) through their teammates.
142 g_friendly_hit_projectile 1/0
143 Enable or disable the passage of projectiles (missiles, BFG or plasma balls) through your teammates.
144 g_friendly_absorb_damage 1/0
145 Enable or disable the absorption of some damage when bullets or projectiles pass through teammates.
146 Note: the values of the numbers change for the cooperative (1 - off, 0 - on).
148 @h1 3. Events
149 To control certain events on the server, there is a command event, through which you can relatively flexibly configure the behavior of the server in certain situations. The need to use the event command is directly related to proper server startup and map lists.@br
150 The command supports the following types of events:
152 onmapstart
153 Execute the given commands at the start of the next map.
154 onmapend
155 Execute the given commands at the end of the map.
156 oninter
157 Perform assigned commands at the end of the round (when the points table appears).
158 onwadend
159 Execute the given commands at the end of the megawad/campaing (after passing the last level).
161 Note: parameters may not work as expected, so it is recommended to use the examples below to ensure that aliases work.
163 @h1 4. Aliases
164 After defining all the parameters, it is necessary to configure the aliases. Through them set lists of maps, switching multiple parameters simultaneously, the implementation of multiple modes on the server with the correct settings for each, etc. If you plan to keep the server on a regular basis, then it is imperative that you set a list of maps on the server. This paragraph will specify working examples that you can use in your configuration file for the server.
166 Change gamemode to DM with its inherent settings, notify the players about it, as well as set the map directly:
168 @pre
169 alias dm "g_gamemode dm;g_warmup_time 16;g_maxlives 0;g_dm_keys 1;g_timelimit 900;g_scorelimit 0;sv_intertime -1;centerprint 100 GAMEMODE: DM;nextmap PrikolSoft.wad MAP01;event onmapend call cmap02;bot_removeall"
170 @endpre
172 Change gamemode to coop (with the ability to pass bullets through players)::
174 @pre
175 alias coop "g_gamemode coop;g_maxlives 0;g_dm_keys 0;g_timelimit 0;g_scorelimit 0;sv_intertime 30;g_friendly_hit_trace 0;centerprint 100 GAMEMODE: Cooperative;call coop01;bot_removeall"
176 @endpre
178 Change gamemode to coop (classic):
180 @pre
181 alias coop "g_gamemode coop;g_maxlives 0;g_dm_keys 0;g_timelimit 0;g_scorelimit 0;sv_intertime 30;g_friendly_hit_trace 1;centerprint 100 GAMEMODE: Cooperative;call coop01;bot_removeall"
182 @endpre
184 Change gamemode to survival:
186 @pre
187 alias survival "g_gamemode coop;g_warmup_time 60;g_maxlives 1;g_dm_keys 1;g_timelimit 0;g_scorelimit 0;g_friendly_hit_trace 0;g_weaponstay 1;g_friendlyfire 0;sv_intertime 30;centerprint 100 GAMEMODE: Survival;call coop01;bot_removeall"
188 @endpre
190 By the same example, you can set and batch switching of parameters during the game, just list in the alias needed to change the parameters.
192 Set a list of maps that will be used on the server (it must be looped!):
194 @pre
195 alias cmap01 "event onmapstart nextmap PrikolSoft.wad MAP01; event onmapend call cmap02"
196 alias cmap02 "event onmapstart nextmap SurMP.wad MAP01; event onmapend call cmap03"
197 alias cmap03 "event onmapstart nextmap PrikolSoft.wad MAP01; event onmapend call cmap01"
198 @endpre
200 Set up some list of megawads (it must be looped!):
202 @pre
203 # Set wads
204 alias wad01 "nextmap megawads/doom2d.wad MAP01"
205 alias wad02 "nextmap megawads/doom2d2.wad MAP01"
206 alias wad03 "nextmap megawads/VETERAN.wad MAP01"
207 alias wad04 "nextmap megawads/Bloodworks.wad MAP01"
209 # Set aliases for right calling megawads
210 alias coop01 "call wad01; event onwadend call coop02"
211 alias coop02 "call wad02; event onwadend call coop03"
212 alias coop03 "call wad03; event onwadend call coop04"
213 alias coop04 "call wad04; event onwadend call coop01"
214 @endpre
216 All aliases are invoked through commands:
218 callvote call <alias>
219 For players
220 rcon call <alias>
221 For administrator with rcon.
223 @h1 RECOMENDATIONS
224 At the moment, the use of custom configuration for servers, although preferable, also requires some additional commands to start the server correctly.
226 @h2 General
227 Between the aliases and the server configuration, set the following:
229 @pre
230 event oninter ""
231 event onmapend call cmap01
232 @endpre
234 Otherwise the server will not use the map list. In place of cmap01 you can specify what you used to name the aliases with maps.
236 @h2 Standart server (with DM or team gamemodes)
237 At the very end of the configuration, write for example:
239 @pre
240 map PrikolSoft.wad MAP01
241 @endpre
243 Then we start it with the command:
245 @pre
246 $ Doom2DF_H -map PrikolSoft.wad:\\\MAP01 -gm DM -port 25667 -exec maplist_dm.txt --log-file dfserver_dm.log
247 @endpre
249 So the server starts up and switches the map after a while after the start, applying all the necessary parameters and running the map call alias we set at the beginning.
251 @h2 Coop server
252 For a cooperative server, you can't prescribe any map calls at the end, otherwise it will be broken and you'll have to manually switch the map on the server.
254 The following command must be used to start it:
256 @pre
257 $ Doom2DF_H -map doom2d.wad:\\\MAP01 -gm COOP -port 25667 -exec coop_list.txt --log-file dfserver_coop.log
258 @endpre
260 The map you can put what you want from the beginning of the server. This will ensure that the megawads are switched correctly. Also, do not use when testing the cooperative server command endmap - it will switch you to any map in the folder, but not the next megawad map!
262 @h1 SEE ALSO
264 *d2df*(2)
266 @h1 AUTHOR
268 Written by Dmitry Lyashuk <lyashuk.voxx\@gmail.com>, Doom 2D: Forever Developers.