Мы — долго запрягаем, быстро ездим, и сильно тормозим.
www.lissyara.su —> статьи —> FreeBSD —> Games Servers —> Enemy Territory

ET:QW. Enemy Territory - Server

Автор: Shaman.


Появилась у меня такое желание поднять сервер ENEMY TERRITORY : QUAKE WARS.
Поискал погуглил, ничего толкового не нашел пришлось все самому делать.
И вот решил поделиться опытом. Начинаем ......

Содержание:

  • Установка
         Подготовка системы
         Дистрибутив
         Инсталяция
  • Конфигурация
         Конфиги
         Запуск
  • Администрирование
  • Литература

  • Установка

    Подготовка системы
    Сервер линуксовый, поэтому необходим линукс эмулятор - linux_base-fc.
    Если у Вас не установлен linux_base-fc, тогда установим его сейчас.
    # cd /usr/ports/emulators/linux_base-fc4/ && make install clean
    

    Добавляем запуск при старте.
    # echo "linux_load="yes"">> /boot/loader.conf
    # echo "linux_enable="YES"" >> /etc/rc.conf
    

    Ребутимся и проверяем подгрузился ли у нас linux
    # kldstat
    Id Refs Address Size Name
    1 12 0xc0400000 31ba68 kernel
    2 1 0xc0723000 206c4 linux.ko
    3 1 0xc0744000 5dee4 acpi.ko

    Все хорошо, модули корректно подгрузились.
    Для игры создадим пользователя из под которого будем запускать игру например "game".


    Дистрибутивы
    Необходимо скачать дистрибутив сервера c сайта AusGamers Pty
    1.)Дистрибутив сервера ETQW-server-1.5-full.x86.run
    2.)Диск с самой игрой для клиента (WinXP).
    2.1)Патч для клиента ETQW-client-1.0-1.5-update.exe

    Инсталляция
    Cоздаем в домашнем каталоге директорию
    # mkdir /usr/home/game/etqw-server/
    

    Копируем в нее наш сервер
    # cp ETQW-server-1.5-full.x86.run /usr/home/game/etqw-server/
    

    В нашем случаи ETQW-server-1.5-full.x86.run и даем права на запуск
    # cd /usr/home/game/etqw-server/
    # chmod 0755 ETQW-server-1.5-full.x86.run
    

    Запускаем
    # ./etqw-server-1.5-full.x86.run
    

    Появляется стандартный соглашение с лицензией : соглашаемся yes
    Далее будет предложено ввести путь куда мы поставим сервер у меня
    /usr/home/game/etqw-server
    

    После нам будет предложенно установить
    PunkBuster
    

    PunkBuster — стороннее анти-чит приложение, разработанное 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

    Иначе сервер падает или не стартут вобще.

    Запуск
    Ну вот сервер стоит конфиг написан, осталось запустить.
    Редактируем стартовый скрипт под себя.
    # vi /usr/home/game/etqw-server/etqw-dedicated
    

    Доводим до такого вот вида.
    #!/bin/sh
    cd `dirname $0`
    export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:."
    LOGFILE=/home/game/etqw-server/server.log
    exec ./etqwded.x86 +set net_serverDedicated 0 +set net_ip 10.0.4.106
    +set net_port 27733 +exec server.cfg 2>&1 &

    И запускаем
    # ./etqw-dedicated
    

    Ждем конца загрузки
    ----------- 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    699  2.9 38.4 229836 197700  p0  S     7:42PM   4:53.42 ./etqwded.x86 
    

    Все норм сервер стартовал.
    Ну вот вроде как все.

  • Администрирование

    Для администрирования сервера правим файл
    # vi /usr/home/game/etqw-server/base/usergroups.dat
    

    а именно такие строки
    group Admin {
    password ваш пароль

    Пере запускаем сервер и можно логиниться в админке управления сервером через клиент.

  • Литература
    1)Конструктор для config сервера
    2)Небольшой фаг по серверу
    3)wiki по PunkBuster
    4)Патчи и моды к самой игре


    Сильно не пинать пишу впервые.



    размещено: 2008-11-12,
    последнее обновление: 2008-11-12,
    автор: Shaman


    Perec, 2009-01-04 в 10:45:07

    А кто-нибудь знает как статистику прикрутить и где ее взять???

    harmless, 2011-09-25 в 17:44:33

    Исправить нужно в стартовом скрипте:
    в конце предпоследней строки экран поставить!
    #!/bin/sh
    cd `dirname $0`
    export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:."
    LOGFILE=/home/game/etqw-server/server.log
    exec ./etqwded.x86 +set net_serverDedicated 0 +set net_ip 10.0.4.106 \
    +set net_port 27733 +exec server.cfg 2>&1 &



  •  

      Этот информационный блок появился по той простой причине, что многие считают нормальным, брать чужую информацию не уведомляя автора (что не так страшно), и не оставляя линк на оригинал и автора — что более существенно. Я не против распространения информации — только за. Только условие простое — извольте подписывать автора, и оставлять линк на оригинальную страницу в виде прямой, активной, нескриптовой, незакрытой от индексирования, и не запрещенной для следования роботов ссылки.
      Если соизволите поставить автора в известность — то вообще почёт вам и уважение.

    © lissyara 2006-10-24 08:47 MSK

    Время генерации страницы 0.1957 секунд
    Из них PHP: 34%; SQL: 66%; Число SQL-запросов: 77 шт.
    Исходный размер: 32905; Сжатая: 7904