DEADSOFTWARE

3d48a625493664de7d2f58bcd0ab8502809399e0
[d2df-sdl.git] / man / ru / d2df.3.txt
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.