Мы — долго запрягаем, быстро ездим, и сильно тормозим.

FreeBSD
  настройка
  подсчёт трафика
  программы
  почтовые системы
  Шелезяки
  Мелочи
  Файловая система
  WWW
  Security
  system
  Games Servers
  Quake III Arena
  Counter-Strike 1.6
  X-Bomber
  Transport Tycoon Deluxe
  PVPGN
  EA Battlefield 2 server
  WOW(mangos)serv
  Call of Duty 4
  Ragnarok Online
  Enemy Territory
  CS 1.6 server manual
  GTA San Andreas
  X11
  Programming
Очумелые Ручки
OpenBSD
Cisco


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)Патчи и моды к самой игре


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



    Ссылка на обсуждение: http://forum.lissyara.su/viewtopic.php?t=11634.

    размещено: 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 &


    Оставьте свой комментарий:
    Ваше имя:   *
    e-mail:  
    жирный
    наклонный
    подчёркнутый
    ссылка
    цвет
    Нынешний год:   *
     


  • Хостинг HOST-FOOD

    2014-07-27, lissyara
    gmirror

    Удалённое создание софтверного зеркала средствами gmirror, на диске разбитом с использованием gpart. Использование меток дисков для монтирования разделов.
    2013-08-20, zentarim
    Scan+Print server FreeBSD 9

    Настройка сервера печати и сервера сканирования под управлением операционной системы FreebSD 9 для МФУ Canon PIXMA MP540
    2011-11-20, BlackCat
    Разъём на WiFi-карту

    Делаем съёмной несъёмную антену на WiFi-карте путём установки ВЧ-разъёма
    2011-09-14, manefesto
    Настройка git+gitosis

    Настройка системы контроля версия исходного кода в связке git+gitosis+ssh
    2011-08-14, zentarim
    Wi-FI роутер + DHCP + DNS

    Настройка Wi-Fi роутера на Freebsd 8 + DNS сервер + DHCP сервер: чтобы Wi-Fi клиенты были в одной подсети с проводными, проводные и беспроводные клиенты получали адреса автоматически по DHCP, кэширующ
    2011-06-15, -ZG-
    Охранная система на FreeBSD+LPT

    В этой статье описана попытка реализации простой охранной системы на базе FreeBSD с подключением к ней охранных устройтсв на LPT порт и видеорегистрацией.
    2011-03-13, terminus
    ng_nat

    Описание работы ng_nat, практическое использование, достоинства и недостатки в сравнении с ipfw nat
    2011-02-20, Капитан
    Nagios+Digitemp

    Статья описывает создание системы оповещения о превышении температуры в специальных помещениях на основе Nagios с использованием программы Digitemp.
    2011-02-17, Le1
    Zyxel Configuration

    Скрипт для массового изменения конфига свичей Zyxel. Берет из файла iplist список ip-шек, заходит последовательно на каждый и выполняет комманды из файла commands, записывая происходящее в лог файл.
    2011-02-16, fox
    hast carp zfs ucarp cluster

    HAST (Highly Available Storage), CARP, UCARP, ZFS, Cluster настройка и одаптация плюс личные размышления…
    2011-02-04, BlackCat
    Восстановление ZFS

    История о том, как был восстановлен развалившийся RAIDZ ZFS-пул (перешедший в FAULTED) с помощью скотча и подручных средств. Или о том, какие приключения ожидают тех, кто не делает резервных копий.
    2011-02-03, Капитан
    1-Wire

    Статья описывает самостоятельное изготовление контроллера DS9097 для съёма показаний с датчиков температуры DS1820 с помощью программы Digitemp.
    2011-01-28, Капитан
    Температура в серверной

    Статья описывает построение системы наблюдения за температурой в помещении серверной с использованием программы Digitemp и выводом графиков в MRTG
    2011-01-21, m4rkell
    Syslog server

    Как то буквально на днях, у нас завалилось, что то в еве) или не в еве не суть. Суть в том, что когда захотели снять логи с хостов esx обнаружили, что хранят эти негодяи логии только за последнии сутк
    2011-01-07, lissyara
    Canon/gphotofs

    Монтирование цифровых фотоаппаратов Canon (PTP) как файловой системы, автоматизация этого процесса через события devd и внешние скрипты.
    2010-12-13, Al
    IPSec

    Описание принципов работы IPSEC и способов аутентификации.
    2010-12-07, manefesto
    FreeBSD on flash

    Было принято решении переехать на USB Flash и установить минимальный джентельменский набор для работы своего роутера. Делаем =)
    2010-12-05, Fomalhaut
    root ZFS, GPT

    Инструкция по установке FreeBSD с использованием в качестве таблицы разделов GPT и в качестве основной файловой системы - ZFS
    2010-09-05, Cancer
    Настройка аудиоплеера на ximp3

    Цели: Простенький аудиоплеер, для того что бы тетя продавец в магазине утром пришла нажала на кнопку Power и заиграла в зале музыка, так же был доступ по сети, общая шара куда можно заливать музыку, к
    2010-08-31, Cancer
    Установка и настройка OpenVPN

    На днях появилась задача - объединить головной офис и 3 филиала в одну сеть через интернет посредством OpenVPN, чтобы люди могли подключаться через RDP к базам 1С на серверах.
    2010-08-25, manefesto
    freebsd lvm

    Использование linux_lvm для работы с LVM разделами из-под FreeBSD. Проблемы которые возники при монтирование lvm раздела
    2010-04-30, gonzo111
    proftpd file auth&quota

    Proftpd - квоты и авторизация из файлов, без использования базы данных и/или системных пользователей
    2010-04-22, lissyara
    tw_cli

    Пошаговая инструкция по восстановлению RAID на контроллере 3ware, из которого выпал один диск. Настройка мониторинга состояния рейда и отчётов о его состоянии на email.
    2010-04-14, fox
    MySQL Master+Master

    MySQL (Master Master) and (Master Slave) Как настроить репликацию…
    2010-03-09, terminus
    DNS zones

    Краткий ликбез про управление DNS зонами. Примеры проведения делегирования прямых и обратных DNS зон.
    подписка

        вверх      
    Статистика сайта
    Сейчас на сайте находится: 20 чел.
    За последние 30 мин было: 113 человек
    За сегодня было
    13638 показов,
    888 уникальных IP
     

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

    © lissyara 2006-10-24 08:47 MSK

    Время генерации страницы 0.0392 секунд
    Из них PHP: 24%; SQL: 76%; Число SQL-запросов: 77 шт.
    Исходный размер: 99830; Сжатая: 19436