Установка Quake 3 сервера на Linux

  • 3 753
  • 1
  • 92,50%
  • 8

Для поднятия сервера по Quake 3 нам понадобится:

1. Оригинальные файлы игры. Взять их можно с диска с игрой, с любого сервиса цифровой дистрибуции (Steam, GOG), или еще где.
2. Рекомендуется не использовать оригинальные исполняемые файлы игры для поднятия сервера, а взять какие-нибудь модифицированные - например cnq3, ioquake 3, quake3e или еще какой. В данной статье в качестве примера будет использоваться quake3e (неофициальная пользовательская модификация оригинального кода). Скачать его можно по этой ссылке.

В качестве примера использовалась операционная система Debian 7 версии.

Если операционная система, где нужно поднять сервер по Quake 3, является 64 разрядной, а вы планируете запускать сервер для 32 разрядной системы, то необходимо выполнить следующую команду:

dpkg --add-architecture i386

Которая добавит в систему поддержку исполняемых файлов архитектуры i386 (32 битной).

Далее выполняем обновление базы доступных пакетов:

aptitude update

Теперь устанавливаем необходимые библиотеки:

aptitude install ia32-libs-i386

Устанавливаем программу screen для более приятного и удобного администрирования сервером:

aptitude install screen

Создаем папку под сервер - например по пути /usr/local/games/quake3.

Далее:

  • Копируем папку baseq3, где должны быть следующие файлы:
    • pak0.pk3
    • pak1.pk3
    • pak2.pk3
    • pak3.pk3
    • pak4.pk3
    • pak5.pk3
    • pak6.pk3
    • pak7.pk3
    • pak8.pk3
  • В корневой директории нужен только исполняемый файл выделенного сервера - quake3e.ded (или quake3e.ded.x64).

Кроме того, если стоит задача поднять сервер по какому-либо моду - например CPMA (Challenge Promode Arena - мод, на котором проходили все турниры последних лет, является заменой OSP), то необходимо:

  • Скачать дистрибутив cpma (ссылка) и его официальный маппак, который необходим для работы - ссылка;
  • Копируем содержимое архива в папку с сервером - папки baseq3 и cpma.

Теперь можно запустить сервер:

screen -d -m -A -S quake3_27960 /usr/local/games/quake3/quake3e.ded +set dedicated 2 +set net_ip ваш_ип +set net_port 27960 +set fs_basepath /usr/local/games/quake3 +set fs_homepath /usr/local/games/quake3/27960 +set fs_cdpath /usr/local/games/quake3 +set fs_game cpma +set vm_game 2 +set sv_maxclients 16 +exec server.cfg +map cpm22

Краткое описание того, что понаписано в параметрах запуска выше:

screen -m -A -S quake3_27960 - запускаем screen сессию, с именем quake3_27960. Теперь при рабочем сервере мы всегда можем на неё зайти, и посмотреть, что там происходит.
Делается это следующей командой

screen -x quake3_27960

Выйти из сессии screen без её закрытия можно клавишами ctrl +a; ctrl + d.

set dedicated 2 - запускает сервер в выделенном режиме;
net_ip - задает ip адрес, который будет использоваться для работы сервера;
net_port - задает используемый сервером порт;
fs_basepath - указывает папку в которой лежат файлы игры;
fs_homepath - указывает директорию, которая будет использоваться запущенным сервером для хранения логов или конфигов - очень удобно, если планируется запускать несколько серверов с одного исполняемого файла;
fs_cdpath - аналогична fs_basepath;
fs_game - указывает папку с используемым модом (если не планируется использование мода, то данная команда не нужна);
vm_game 2 - команда, которая необходима для корректной работы сервера cpma;
sv_maxclients 16 - максимальное количество клиентов на сервере;
map cpm22 - запускаемая карта по умолчанию, можно изменить на любую другую.

Если нужно запустить два сервера, то строка запуска должна выглядеть следующим образом:

screen -d -m -A -S quake3_27961 /usr/local/games/quake3/quake3e.ded +set dedicated 2 +set net_ip 46.38.51.104 +set net_port 27961 +set fs_basepath /usr/local/games/quake3 +set fs_homepath /usr/local/games/quake3/27961 +set fs_cdpath /usr/local/games/quake3 +set fs_game cpma +set vm_game 2 +set sv_maxclients 16 +exec server.cfg +map cpm22


Поделиться

Комментарии:

    • StAss

    в фаерволе надо порт 27960 UDP ещё открыть чтобы все чотк было =)
    спасибо за мануал!

Добавить комментарий

Ваш e-mail не будет опубликован.

Напоминаем Вам, что Ваше сообщение будет опубликовано только после проверки администратором сайта. Обычно это занимает 1-2 рабочих дня.