Как создать сервер Quake 3

Материал из WikiServia
Перейти к: навигация, поиск

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

Заходим в систему как root пользователь и скачиваем дистрибутив с официального сервера idSoftware (около 29Mb):

wget ftp://ftp.idsoftware.com/idstuff/quake3/linux/linuxq3apoint-1.32b-3.x86.run
chmod +x linuxq3apoint-1.32b-3.x86.run
./linuxq3apoint-1.32b-3.x86.run

В зависимости от того, в каком режиме (графическом или консольном) вы работаете, вы увидите различное представление одного и того же инсталлятора. Устанавливая quake 3, убедитесь, что выделена опция "Dedicated server". По умолчанию игра устанавливается в

/usr/local/games/quake3

В релизе есть далеко не всё, что нам надо, а надо нам файл "pack0.pk3". Взять его можно с диска с игрой или скопировать из уже установленной игры.

скопируем pack0.pk3 в папку на сервере baseq (1 команда)

cp /path/pack0.pk3 /path/with/game/baseq/

Дальнейшая установка может происходит под обычным пользователем.

Запуск сервера Quake 3

Запуск сервера /usr/local/games/quake3 с нужными нам параметрами (2 команды)

cd /usr/local/games/quake3
./q3ded +set fs_game osp +set sv_strictauth 0 +set sv_pure 0 +map q3dm6

в консоли вы увидите полный лог сервера, и после загрузки появится возможность вводить команды. Терминал, из которого был запущен сервер станет обычной консолью, к которой вы уже привыкли. Вам наверняка надоест каждый раз печатать кучу параметров для коммандной строки сервера. Этот процесс можно легко автоматизировать, создав простой скрипт. у пользователя нет прав писать в директорию /usr/local/games/quake3, поэтому создадим скрипт в домашней директории. назовём его q3.sh:

Создаем скрипт (1 командf)

nano -w /home/path/q3.sh

В открывшемся документе прописываем команды

#!/bin/bash
cd /usr/local/games/quake3/
./q3ded +set com_hunkmegs 32 +set net_port 27960 +set dedicated 1 +set vm_game 2 +set vm_cgame 2 +set vm_ui 2 +set fs_game osp
+set sv_strictAuth 0 +set sv_punkbuster 0 +set sv_lanForceRate 1 +set sv_maxrate 15000 +exec 1v1.cfg

Даем скрипту права на исполнение (1 команда)

$ chmod +x q3.sh

Разделение консолей сервера Quake 3

Логи сервера пишутся в домашнюю директорию пользователя. в Linux версии Quake III есть специальная переменная, которая определяет местоположение домашней директории - это переменная fs_homepath. Мы присвоим ей значение /home/user/.q3a-server1.

кроме того добавим удобный интерфейс для запуска и остановки сервера. Теперь скрипт будет выглядеть так:

#!/bin/bash
cd /usr/local/games/quake3/
case "" in
start)
nice -n 0 ./q3ded +cvar_restart
+set com_hunkmegs 32
+set net_port 27960
+set dedicated 1;
+set vm_game 2
+set vm_cgame 2
+set vm_ui 2
+set fs_game osp
+set fs_homepath /home/quake3/.q3a-server1
+set sv_strictAuth 0
+set sv_punkbuster 0
+set sv_lanForceRate 1
+set sv_maxrate 1500
+exec 1v1.cfg >&/dev/null &
exit
;;
stop
killall q3ded
;;
*)
echo "Usage: "
exit 1
esac
exit 0

Запуск сервера Quake 3: (1 команда)

$ /home/user/q3.sh start


Остановка сервера Quake 3: (1 команда)

$ /home/user/q3.sh stop