Создание конфигов и запуск сервера.
Настроить конфигурацию для сервера не сложнее чем запустить его из ланчера. Впрочем, я всё уже написал в других разделах данной документации. Что нужно сделать чтобы запустить сервер в ZDaemon:
1)
Для запуска необходимо иметь: бинарник
zserv, файл "zdaemon.wad",
по крайней мере 1 IWAD файл, доступ к шеллу.
Дополнительно можно установить:
набор PWAD файлов и
DehackEd патчей, боты "zcajun",
внешний банлист.
2) Создание файла конфига.
Создайте файл с расширением .cfg (рекомендуется zserv.cfg) и запишите в него все необходимые серверные команды и переменные (в любом порядке), которые будут выполняться при запуске сервера. Можно редактировать уже имеющийся zserv.cfg, созданный разработчиками, следуя подсказкам в нём. Переменные, значение которых следует оставить по умолчанию, можно не записывать. Все изменения, сделанные во время работы сервера, в конфиг записываться не будут.
Пример конфига для Team DM сервера, здесь задействовано большинство серверных команд и переменных:
gameversion
cfg_activated 1
maxclients 12
maxplayers 10
log_disposition 1
spam_window 10
spam_limit 3
sv_gravity 800
sv_aircontrol 0.00390625
rcon_password "12345"
master_advertise 1
hostname "[iddqd] Dedicated server #5 (TDM)"
motd "!!!!!!! !! !!!!!! !!!!!! !!!!!!!!!! !!!!!! !!!!!!!<br>!! !! !! !! !! !! !!
!! !! !! !!<br>!! !! !! !! !! !! !! !! !! !! !!<br>!! !! !! !! !! !! !! !! !! !!
!!<br>!! !! !! !! !! !! !! !! !! !! !!<br>!! !! !! !! !! !! !! !! !! !! !!<br>!!
!! !! !! !! !! !! !!!! !! !! !!<br>!! !! !! !! !! !! !!!!!!!!!! !! !! !!<br>!!!!!!!
!! !!!!!! !!!!!! !! !!!!!! !!!!!!!<br><br>Welcome to Russian [iddqd] clan
dedicated server!<br>This is custom server #5: Udm3.wad Team DM<br><br><br><br>Happy
Fragging!<br><br>General administrator - StasBFG[iddqd]<br>"
website "http://servers.doomgod.ru/"
banlist_url "http://servers.doomgod.ru/bans"
email "doomgod@doomgod.ru"
skill 4
fraglimit 0
timelimit 0
dmflags 283812
dmflags2 4325376
teamplay 1
teamdamage 0.8
teamscorelimit 100
maxteams 2
maxplayersperteam -1
ctf 0
deathmatch 1
speed_check 1
restartemptymap 1
specs_dont_disturb_players 0
sv_deathlimit 60
sv_resend 0
sv_unlag 1
sv_new_unlag 1
sv_maxclientsperip 2
add_cvaroverride map01 timelimit 30
add_cvaroverride map03 dmflags2 0
add_cvaroverride map04 fraglimit 100
optional_wads "zvox2.wad"
clearmaplist
addmap map01
addmap map02
addmap map03
addmap map04
addmap map05
addmap map06
addmap map07
addmap map08
addmap map09
addmap map10
addmap map11
addmap map12
addmap map13
addmap map14
addmap map15
addmap map16
addmap map30
addmap map31
addmap map32
maplist
2) Создание responce файла.
Создайте файл с любым именем и расширением .rsp и запишите в него все необходимые параметры для запуска zserv по одному в каждой строке. Пример такого файла (для того же сервера):
-waddir ..\wads
-iwad "doom2.wad"
-file udm3.wad vgavno2a.bex zvox2.wad
-log
-port 10605
+exec autoexec.cfg
Команда exec используется для подключения дополнительного конфига. Это полезно, когда сразу несколько серверов используют одни и те же значения переменных. В данном случае сервер прочитает файл autoexec.cfg и выполнит все команды которые в нём записаны.
3) Дополнительные файлы:
zcajun боты: данных ботов можно взять из папки zcajun официального дистрибутива. папка zcajun должна лежать в той же папке, из которой запускается сервер.
банлисты:
есть 3 вида банлистов - глобальный, локальный и удалённый. глобальный
банлист загрузится автоматически, если значение переменной
master_advertise равно 1 или 3. локальный необходимо поместить в папку,
из которой запускается сервер, и назвать его "zd_bans.txt";
при изменении банлиста во время работы сервера этот файл будет
обновляться. удалённый банлист необходимо разместить в Интернете и сделать его
доступным для чтения по URL адресу, который необходимо
указать в переменной banlist_url. формат банлистов
имеет вид: "ip_mask#reason".
комментарии начинаются с ";".
пример:
;ZDaemon ban file
111.222.*.*#[n00b]lamer: clan faking
4) Создание ярлыков для запуска
Теперь нужно выбрать вид сервера: консольный (zserv), или с графическим интерфейсом (zserv32). Для *nix систем существует только консольная версия.
Создание
batch файла в Windows:
Создайте файл с расширением .bat
или .cmd в папке с zserv или
zserv32 и впишите в него строку такого вида:
zserv32.exe @myserver.rsp
Параметр @myserver.rsp
(имя responce-файла)
передаст серверу всю необходимую информацию и запустит его со всеми настроенными
параметрами.
Для автоматического восстановления
сервера при падении используйте программу
ZSMon.
Создание
shell скрипта в unix:
Создайте файл с расширением .sh
в папке с zserv и вставьте в него следующий код:
#!/bin/bash
ulimit -c 0
while (true)
do
./zserv -noinput @myserver.rsp < /dev/null > /dev/null 2>&1 &
PID=$!
trap "kill -15 $PID; exit 0" 15
wait
echo `date '+%d.%m.%Y %H:%M:%S'` : ZServ crash >>
zserv.crashlog
sleep 5
done
Данный скрипт перезапустит сервер в случае падения и запишет время и причину в файл "zserv.crashlog".
5) Запуск сервера.
В Windows используйте созданный batch файл для запуска. В unix используйте команду: "./run.sh > /dev/null 2>&1 &".