RFC (Request for Comments, Запрос на комментарии) - серия документов, публикуемая сообществом исследователей и разработчиков, руководствующихся практическими интересами, в которой описывается набор протоколов и обобщается опыт функционирования Интернет.
Появилась у меня такое желание поднять сервер ENEMY TERRITORY : QUAKE WARS. Поискал погуглил, ничего толкового не нашел пришлось все самому делать. И вот решил поделиться опытом. Начинаем ......
Установка
Подготовка системы Сервер линуксовый, поэтому необходим линукс эмулятор - linux_base-fc. Если у Вас не установлен linux_base-fc, тогда установим его сейчас.
# cd /usr/ports/emulators/linux_base-fc4/ && make install clean
EvenBalance, Inc для борьбы с использованием читов в сетевых
многопользовательских играх.
Жмем галочку и соглашаемся установить PunkBuster и ждем завершения установки.
Конфигурация
Конфиги Все сервер установлен переходим к конфигурированию. Хочу сказать в этом есть нюанс, файла конфигурации сервера в инсталяторе нет. Есть два варианта создания конфигурационного файлв Первый вариант создаем конфиг сами.
# touch /usr/home/game/etqw-server/base/Config
# vi /usr/home/game/etqw-server/base/Config
Вот пример моего конфига
// Public and contact options set si_adminname "Games Sity" // Название проекта set si_website "http://games-sity.net" // Сайт сервера set si_email "aira@games-sity.net" // mail администратора сервера set si_irc "#ETQW" // канал в mirc
// General options set si_name "ET:QW Games Sity" // Название Сервера (отображается в игре) set net_serverPunkbusterEnabled "0" // Анти-чит 0\1 выкл\вкл set net_LANServer "0" // LAN или Internet Server 1\0 set si_maxPlayers "32" // max игроков в игре set si_privateClients "5" // приватные игроки
// Passwords set si_needpass "" set g_password "" set g_privatePassword "" set net_serverRemoteConsolePassword "###" // password от консоли администратора
// Game options set si_minPlayers "4" // min игроков в игре set si_readyPercent "80" // процент готовности игроков перед стартом set g_warmup "0.5" // время для разминки set g_allowLateJoin "1" // конект во время игры разрешить да\нет 1\0 set g_warmupDamage "1" // стрельба по своим да\нет 1\0
// Voting options set si_disableVoting "0" // голосование да\нет 0\1 set g_votePassPercentage "51%" // процент голосов для рестарта set g_voteWait "2.5" // время между голосованием
// Message of the Day (motd) // сообщение клиенту при заходе на сервер max 4 строки set si_motd_1 "" set si_motd_2 "" set si_motd_3 "" set si_motd_4 ""
// Bot settings // настройка ботов (не использую не разберался) set bot_enable "0" set bot_minClients "-1" set bot_uiNumGDF "-1" set bot_uiNumStrogg "-1" set bot_balanceCriticalClass "1" set bot_sleepWhenServerEmpty "1" set bot_skill "3" set bot_aimSkill "1" set bot_uiSkill "2" set bot_doObjectives "1" set bot_fakePing "0" set bot_sillyWarmup "0" set bot_useShotguns "0" set bot_useSniperWeapons "1" set bot_useVehicles "1" set bot_knifeOnly "0" set bot_useStrafeJump "0" set bot_useSpawnHosts "1" set bot_useSuicideWhenStuck "1" set bot_useTKRevive "1" set bot_useDeployables "1"
// Other options set si_spectators "0" // разрешить зрителей да\нет 0\1 set g_muteSpecs "0" // разрешить чат в игре да\нет 0\1 set g_maxSpectateTime "0" // время нахождения в зрителях (0-бесконечно) set g_kickBanLength "2" // время кик\бан set g_teamSwitchDelay "5" // set si_teamForceBalance "0" // балансеровка нет\да 0\1 set si_teamDamage "1" // set si_xpSave "0" // set g_gameReviewPause "0.5" // set g_gameReviewReadyWait "0" // set g_execMapConfigs "0" // set si_adminStart "0" // set si_rules "sdGameRulesCampaign" // тип игы
set m1 "set g_nextMap $m2; spawnServer campaign_africa" set m2 "set g_nextMap $m3; spawnServer campaign_northamerica" set m3 "set g_nextMap $m4; spawnServer campaign_northeurope" set m4 "set g_nextMap $m1; spawnServer campaign_pacific" vstr m1 spawnServer campaign_northamerica
Второй вариант воспользуемся конструктором конфигов с сайта Infinity-Gamehosting Идем на сайт Infinity-Gamehosting В config обязательно должны присутствовать строки
set m1 "set g_nextMap $m2; spawnServer campaign_africa" set m2 "set g_nextMap $m3; spawnServer campaign_northamerica" set m3 "set g_nextMap $m4; spawnServer campaign_northeurope" set m4 "set g_nextMap $m1; spawnServer campaign_pacific" vstr m1 spawnServer campaign_northamerica
Иначе сервер падает или не стартут вобще.
Запуск Ну вот сервер стоит конфиг написан, осталось запустить. Редактируем стартовый скрипт под себя.
----------- Loading Map Bot Actions ------------ thread priority set to 2 -------------------------------------- ----- idRenderModelManagerLocal::EndLevelLoad ----- 32 purged from previous 1405 kept from previous 90 new loaded all models loaded in 0.0 seconds --------------------------------------------------- ----------------------------------- 15540 msec to load maps/valley.entities Loaded map in 16 seconds Dedicated server signed in and is authenticated. hitch (100 msec) hitch (100 msec) hitch (100 msec)
Проверяем, что сервер нормально стартовал.
$ ps auxf
USER PID %CPU %MEM VSZ RSS TT STAT STARTED TIME COMMAND
game 6992.938.4229836197700 p0 S 7:42PM 4:53.42 ./etqwded.x86
Все норм сервер стартовал. Ну вот вроде как все.
Администрирование
Для администрирования сервера правим файл
# vi /usr/home/game/etqw-server/base/usergroups.dat
а именно такие строки
group Admin { password ваш пароль
Пере запускаем сервер и можно логиниться в админке управления сервером через клиент.