Издательский дом ООО "Гейм Лэнд"СПЕЦВЫПУСК ЖУРНАЛА ХАКЕР #33, АВГУСТ 2003 г.

ИГРАЕМ НЕ ПО-ДЕТСКИ.
Практика установки игровых серверов под Линь

Ушаков Андрей aka A-nd-Y

Спецвыпуск Xakep, номер #033, стр. 033-018-4


set bot_enable 1 - включаем ботов;

addbot uriel 3 100 - добавляем бота и задаем его параметры, вписывай аналогичную строку для каждого бота;

set "Administrator" "adm-name", set "Email" "adm@mail, set "URL" "http://q-admin.com", set "Location" "server-info", set "CPU" "hw-info" - устанавливает инфу о серваке и его админе.

Это лишь малая часть параметров из конфига Q3, но, думаю, проблем с его правкой у тебя возникнуть не должно. А вообще, можешь поискать готовый конфиг в Инете. Теперь можно запускать сервер командой:

./q3ded +set dedicated 1 +set +exec config.cfg

если ты находишься в директории Q3, куда мы установили сервер. Для упрощения жизни и избавления от ввода огромных команд рекомендую вписать команду в скрипт с приятным названием, например, q3start.

Создай текстовый файл следующего содержания (воспользуемся программой cat):

$ cat > q3start

#!/bin/sh

GAMESDIR=/home/game

export GAMESDIR

$GAMESDIR/q3/q3ded +set dedicated 1 +exec config.cfg

где +set dedicated 1 - указывает тип запуска сервера, +exec config.cfg - указывает тот конфиг, который следует использовать.

Нажми "Ctrl + C" для завершения ввода. Далее назначай права на исполнение для твоего скрипта:

chmod +x q3start

После этого ты сможешь запускать сервер простой командой из каталога сервера:

./q3start

Удобства на лицо :). Если ошибок при запуске не возникло, то могу тебя поздравить, сервер работает. Если что-то не так, проверь конфиг еще раз. Как правило, многие проблемы скрываются именно в ошибках конфига.

SCREEN ИЛИ BACKGROUND?

При запуске сервака, в частности, CS, ты, наверное, обратил внимание, что работает он только пока открыт терминал, в котором ты отдал команду на запуск сервера, при закрытии же терминала процесс сервера прекращается. Здесь нет ничего удивительного - терминал при завершении своей работы убивает все дочерние процессы. Поступить в данной ситуации можно следующим образом:

Первый способ - использовать так называемый screen. Screen - специальный экранный менеджер с эмуляцией терминала, который позволяет сохранять сессию, то есть все процессы, которые ты запустил в нем, и при последующем подключении продолжить работу с запущенными приложениями. Это может быть удобно, если ты админишь сервак удаленно и время от времени подключаешься к нему, чтобы отдать важные админские команды.

Скачать screen (если его нет в твоем дистрибутиве) можно по ссылке: http://www.gnu.org/software/screen/screen.html Там же ты найдешь и документацию к нему.

Пример использования:

screen -A -d -m -S Mysession command - запускаем команду command в screen, где опция -A - подгоняет размер окон под размер текущего терминала, -m -d - запускает новую сессию в detatch режиме (рекомендуется для стартовых скриптов), -S Mysession - задает имя для данной сессии.

screen -r Mysession - возобновляем сессию Mysession в screen.

screen -list - показать процессы, запущенные под screen'ом.

Ну и второй способ - можно запустить сервант в фоновом режиме, добавив в конец команды запуска амперсанд (&). Таким образом, ты переведешь его в фоновый режим (background), но в то же время потеряешь доступ к консоли управления сервером. Поэтому тебе придется позаботиться об установке дополнительных утилит администрирования. Выбирай сам, какой способ для тебя удобнее.

Назад на стр. 033-018-3  Содержание  Вперед на стр. 033-018-5