game: turn off debug log for randomization
[d2df-sdl.git] / man / ru / d2df.3.txt
blob43493b4fb71bd218aeaf952d4f69cfc400f6f3b4
1 @title Doom2DF 3 08.03.2023 3 3
3 @h1 ИМЯ
4 Мануал по кастомной конфигурации для выделенного сервера Doom 2D Forever.
7 @h1 СОДЕРЖАНИЕ
9 1. Настройка сервера
11 2. Игровые параметры
13 3. События
15 4. Алиасы
17 @h1 1. Настройка сервера
18 Выделенный сервер использует свой конфигурационный файл, который настраивается исключительно через текстовый редактор. Несмотря на это, недостаточно просто менять что-либо в основной игре и потом копировать это из её .cfg файла в файл сервера - в меню "Своя игра" отображаются не все настройки для сервера и некоторые переменные оттуда не изменишь. В данном пункте мы рассматриваем самые необходимые параметры, которые обязательно должны быть прописаны.
21 @h2 Основные параметры
22 sv_name "<ваше имя>"
23         Название сервера. В имени лучше использовать латиницу.
25 sv_passwd "<ваш пароль>"
26         Пароль, который необходимо будет ввести перед входом на сервер.
28 sv_port PORTNUMBER
29         Номер порта, что будет использоваться сервером, по-умолчанию рекомендуется 25667. Перезаписывается параметром -port.
31 sv_public 1/0
32         Показывать ли сервер в списке или нет, по-умолчанию показывается.
34 sv_maxplrs <число>
35         Максимальное число слотов для игроков. Рекомендуемое 14-16.
37 sv_intertime <число>
38         Через сколько секунд сервер начнёт следующий раунд. Для некооперативных серверов рекомендуется выставить -1 (это установит таймер на 15 секунд).
41 @h2 Администратирование
42 sv_rcon 1/0
43         Включить rcon-доступ для управления сервера.
45 sv_rcon_password
46         Пароль от rcon, указывать без пробелов и кавычек.
48 @h2 Параметры бана
49 sv_autoban_threshold <число>
50         Через сколько попыток навредить серверу игрока должно забанить (0 = выключить), по-умолчанию 5.
51 sv_autoban_permanent 1/0
52         Установить перманентность бана (0 = банить на время), по-умолчанию 1.
53 sv_autoban_warn 1/0
54         Предупреждать клиента о триггерах пенальти, по-умолчанию 0.
55 sv_auth_timeout <число>
56         Количество миллисекунд, за которое клиент обязан закончить аутентификацию на сервере (0 = бесконечно), по-умолчанию 30.
57 sv_packet_timeout <число>
58         Количество миллисекунд, которое должен простоять клиент перед киком (0 = бесконечно), по-умолчанию 60.
60 @h2 Необязательные параметры
61 sv_forwardports 1/0
62         Должен ли сервер пробивать порты самостоятельно через miniupnpc.
63 sv_reliable_interval <число>
64         Задержка между пакетами с позицией объектов, посылается по reliable-каналу. Должен быть больше sv_update_interval.
65 sv_update_interval <число>
66         Задержка между пакетами с позицией объектов, посылается по unreliable-каналу.
67 sv_master_interval <число>
68         Через сколько секунд сервер должен напомнить о себе мастер-серверу.
71 @h2 Технические параметры
72 net_master_list <адрес>
73         На какой адрес мастер-сервера будут посылаться данные. Можно указывать несколько, например, mpms.doom2d.org:25665,deadsoftware.ru:25665
74 rdl_ignore_enabled 1/0
75         Включить или выключить проверку хэша.
76 rdl_ignore_names <имена ресурсников>
77         Имена ресурс-файлов (из папки wads без расширения), которые не должны проверяться сервером на соответствие.
78 rdl_hashdb_save_enabled 1/0
79         Сохранение хэшей в базе данных на диске.
81 @h1 2. Игровые параметры
82 Игровые параметры необязательны к указанию в маплисте и служат скорее для переопределения настроек конфигурационного файла, чтобы не менять лишний раз значения в нём. Для включения необходимо выставить 1, для выключения - 0, если не указано обратное!
84 g_gamemode dm/tdm/ctf/coop
85         Какой режим будет установлен на сервере.
87 @h2 Боты
88 g_max_bots <число>
89         Максимальное количество ботов, что можно вызвать.
90 g_bot_vsmonsters 1/0
91         Должны ли боты сражаться с монстрами.
92 g_bot_vsplayers 1/0
93         Должны ли боты сражаться с игроками
96 @h2 Настройки лимитов
97 g_scorelimit <число>
98         Сколько очков необходимо для окончания раунда (0 = бесконечно).
99 g_timelimit <число>
100         Лимит времени, после которого раунд заканчивается (0 = бесконечно).
101 g_maxlives <число>
102         Число жизней игрока, включает режимы Survival, LMS, TLMS.
105 @h2 Время
106 g_item_respawn_time <число>
107         Через какое время (в секундах) должны появляться предметы, по-умолчанию 60.
108 g_warmup_time <число>
109         Таймер предподготовки для режима Survival и его производных, в секундах.
112 @h2 Спаун
113 g_spawn_invul <число>
114         Будет ли бессмертен игрок после респауна. Значение 0 выключает бессмертие после возрождения.
115 g_weaponstay 1/0
116         Оставлять ли оружие после подбора игроком.
119 @h2 Разрешения
120 g_allow_dropflag 1/0
121         Разрешить или запретить выбрасывание флага в режиме CTF.
122 g_throw_flag 1/0
123         Как выбрасывать флаг, 1 - с ускорением, 0 - под игроком.
124 g_allow_exit 1/0
125         Включить или выключить возможность выхода. Для правильной работы кооператива необходимо выставить 1.
126 g_allow_monsters 1/0
127         Разрешить или запретить спаун монстров.
130 @h2 Статистика
131 g_save_stats 1/0
132         Сохранять ли статистику раунда, по-умолчанию 0. Сохраняется в виде csv-таблицы.
133 g_screenshot_stats 1/0
134         Сохранять ли скриншот таблицы в конце раунда, по-умолчанию 0.
137 @h2 Настройки "Огня по своим"
138 g_friendlyfire 1/0
139         Включить или выключить огонь по своим.
140 g_friendly_hit_trace 1/0
141         Включить или выключить прохождение хитскана (пули) через своих союзников.
142 g_friendly_hit_projectile 1/0
143         Включить или выключить прохождение прожекттайлов (ракеты, снаряды БФГ или плазмы) через своих союзников.
144 g_friendly_absorb_damage 1/0
145         Включить или выключить поглощение части урона при прохождении пуль или снарядов через союзников.
146 Примечание: работает по следующему принципу: 1 - выключить (пули/снаряды будут сталкиваться с союзниками), 0 - включить (пули/снаряды будут проходить сквозь союзников).
148 @h1 3. События
149 Для контролирования определённых событий на сервере существует команда event, через которую можно относительно гибко настраивать поведение сервера в определённых ситуациях. Необходимость использования команды event напрямую связана с правильным запуском сервера и списками карт.@br
150 Сама команда поддерживает следующие типы событий:
152 onmapstart
153         Выполнять заданные команды при старте следующей карты.
154 onmapend
155         Выполнять заданные команды в конце карты.
156 oninter
157         Выполнять заданые команды в конце раунда (когда появляется таблица очков).
158 onwadend
159         Выполнять заданные команды в конце мегавада/компании (после прохождения последнего уровня).
161 Примечание: параметры могут работать не так, как ожидается, поэтому рекомендуется использовать примеры ниже для гарантированной работы алиасов.
163 @h1 4. Алиасы
164 После определения всех параметров, необходимо настроить уже непосредственно алиасы. Через них задаются списки карт, переключение нескольких параметров одновременно, реализация нескольких режимов на сервере с правильными для каждого настройками и так далее. Если вы планируете держать сервер на постоянной основе, то вам крайне необходимо задавать список карт, который будет крутиться на сервере. В данном пункте будут указаны рабочие примеры, которые можно будет использовать в своём конфигурационном файле для сервера.
166 Меняем игровой режим на DM с присущими ему настройками, уведомляем об этом игроков, а так же задаём карту напрямую:
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 Устанавливаем режим кооператива (с возможностью прохождения пуль сквозь игроков):
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 Устанавливаем режим кооператива (классический):
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 Устанавливаем режим выживания:
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 По такому же примеру можно устанавливать и пакетное переключение параметров во время игры, просто перечисляем в алиасе необходимые к изменению параметры.
192 Устанавливаем некий список карт, который будет использоваться на сервере (он обязательно должен быть зациклен!):
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 Устанавливаем некий список мегавадов (он обязательно должен быть зациклен!)
202         @pre
203         # Задаём мегавады
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         # Для правильного переключения, выставляем отдельные алиасы
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 Все алиасы вызываются через команды:
218 callvote call <алиас>
219         Для игроков
220 rcon call <алиас>
221         Для администратора через rcon.
223 @h1 РЕКОМЕНДАЦИИ
224 На данный момент использование кастомной конфигурации для серверов пусть и предпочтительно, но так же требует некоторых дополнительных команд для правильного запуска сервера.
226 @h2 Общий момент
227 Между алиасами и конфигурацией сервера выставьте следующее:
229         @pre
230         event oninter ""
231         event onmapend call cmap01
232         @endpre
234 В противном случае сервер не будет использовать список карт. На месте cmap01 можно указать то, что использовали вы для названия алиасов с картами.
236 @h2 Стандартный сервер (с режимом DM или командными режимами на старте)
237 Допустим, вы собираетесь запускать дм-сервер. В самый конец конфигурации пропишите, например:
239         @pre
240         map PrikolSoft.wad MAP01
241         @endpre
243 Затем запускаем при помощи команды:
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 Так сервер запускается и через некоторое время переключает карту после старта, применяя все необходимые параметры и запуская нами установленный в начале алиас вызова карты.
251 @h2 Кооперативный сервер
252 Для кооперативного сервера нельзя прописывать в конце никаких вызовов карт, иначе оно будет сломано и вам придётся вручную переключать карту на сервере. Вызов алиаса в начале необходимо устанавливать соответствующий.
254 Для запуска необходимо использовать следующую команду:
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 Карту можете подставить какую вы хотите с самого начала сервера. Это обеспечит правильное переключение мегавадов. Так же не стоит использовать при тестировании кооперативного сервера команду endmap - она переключит вас на любую карту из папки, но не на следующую карту вада!
262 @h1 СМОТРИТЕ ТАК ЖЕ
264 *d2df*(2)
266 @h1 АВТОР
268 Написан Дмитрием Ляшуком <lyashuk.voxx\@gmail.com>, разработчиками Doom 2D: Forever.