Установка серверов HL (Linux)
Общее о серверах
Операционной системой будет Ubuntu/Debian
Скачивать готовые сервера не советую по следующим причинам:
- Они могут содержать уязвимости из-за которыми могут воспользоваться недобросовестные игроки, что может привести к плачевным последствиям
- Готовые сервера собирают под свой вкус, который может не совпадать с вашим. В нем могут содержаться различные, ненужные, плагины, настройки и тп.
- Скачанные сервера содержат множество ошибок. Обычно спустя некоторое время начинают появляться ошибки типа "VALVE validation rejected"
- Да и вообще не известно что могут внедрить в готовый сервер.
Собрать свой сервер не на много труднее чем скачать готовый, вдобавок с ним будет меньше проблем в будущем.
Требования
Процессор: 1000 МГц и больше
Оперативная память: 128 Мб и больше
Место на жестком диске: 1.5 Гб и больше
Если система 64 битная то нужна библиотека поддержки 32 битных приложений
Ее можно установить введя команду
aptitude install lib32gcc1
Установка сервера:
Для установки сервера понадобятся права суперпользователя.
Подключаемся по SSH.
Если подключились не под пользователем root то выполняем следующую команду
sudo -s
Создаем директорию на сервере где будет находится наш HLDS
mkdir /opt/hldir
Безопасность сервера превыше всего. Ни в коем случае не нужно запускать наш будущий сервер через root. Нужно создать нового пользователя и дать ему ничтожные права, т.к. серверу HLDS много не нужно, в основном это запись логов, и чтение файлов.
Добавляем новую группу к которой будет принадлежать пользователь.
addgroup --system hldm
где hldm - имя будущей группы. От имени ничего не зависит, можно дать любое на свое усмотрение.
Добавляем пользователя hldm
adduser --system --home /opt/hldir --shell /bin/sh --ingroup hldm --disabled-password --disabled-login hldm
где
--home /opt/hldir - домашняя директория с игрой
--ingroup hldm - группа к которой принадлежит пользовель
--disabled-login hldm - имя нашего пользователя
Переходим в нашу директорию чтобы скачать неободимые файлы в нее
cd /opt/hldir
Скачиваем с сайта стима необходимый инструмент для автоматического создания сервера.
wget http://storefront.steampowered.com/download/hldsupdatetool.bin
Теперь даем необходимые для запуска права нашему файлу
chmod +x hldsupdatetool.bin
+x означает добро на выполнение файла
-x файл выполнятся не будет
Запускаем наш инструмент:
su hldm -c './hldsupdatetool.bin'
Можно также воспользоваться командой, если предыдущая не удалась, в этом случае программа будет выполняться от суперпользователя
./hldsupdatetool.bin
После запуска мы увидим лицензионное соглашение. Вводим YES что соглашаемся и жмем ENTER.
В папке с игрой появится еще несколько файлов. На нужен файл steam для создания сервера. Даем ему нужные права.
chmod +x ./steam
И запускаем
su hldm -c './steam'
Видим примерно следующее сообщение
Checking bootstrapper version ...
Getting version 45 of Steam HLDS Update Tool
Downloading. . . . . . . . . . . .
Steam Linux Client updated, please retry the command
Повторяем команду
su hldm -c './steam'
Видим теперь примерно следующее:
Checking bootstrapper version ...
Getting version 45 of Steam HLDS Update Tool
Downloading. . . . . . . . . . . .Steam Linux Client updated, please retry the command
CAsyncIOManager: 0 threads terminating. 0 reads, 0 writes, 0 deferrals.
CAsyncIOManager: 21 single object sleeps, 0 multi object sleeps
CAsyncIOManager: 0 single object alertable sleeps, 0 multi object alertable sleeps
Ну все, самое сложное в настройке сервера Half-Life завершилось. Теперь осталось скачать сам сервер и запустить.
Выполняем следующую команду
su hldm -c './steam -command update -game valve -dir .'
Или
./steam -command update -game valve -dir .
Где dir .
точка - это директория где и сам steam если вы хотите установить в другую папку то нужно указать ее, например dir team, dir gungame и тп.
Для тех кто устанавливает не Half-Life а Counter-Strike или другую игру
В параметре -game нужно указать не valve а cstrike
Теперь будут скачиваться все необходимые файлы для работы сервера. Как быстро это завершится зависит от интернет соединения.
После установки создаем необходимые для нормальной работы сервера папки
mkdir -p valve/SAVE
mkdir -p platform
mkdir -p platform/SAVE
Даем права на запуск сервера
chmod +x ./hlds_run
Запускаем наш сервер su hldm -c './hlds_run -game valve +ip (ip нашего сервера) +port 27015 +maxplayers 32 +map crossfire'
Обязательно запускайте из-под пользователя hldm, если отсуствуют необходимые права, например запись в папку logs то даем.
Запускать сервер из-под пользователя root крайне не рекомендуется.
Если вы все правильно сделали, то должно появится примерно следующее:
Auto detecting CPU
Using Pentium II Optimised binary.
Auto-restarting the server on crash
Console initialized.
Protocol version 48
Exe version 1.1.2.6/Stdio (cstrike)
Exe build: 16:56:12 Mar 8 2010 (4883)
STEAM Auth Server
Server IP address ....
[S_API FAIL] SteamAPI_Init() failed; unable to update local steamclient. Continuing with current version anyway.
couldn't exec listip.cfg
couldn't exec banned.cfg
[S_API FAIL] SteamAPI_Init() failed; unable to update local steamclient. Continuing with current version anyway.
Connection to Steam servers successful.
VAC secure mode is activated.
Если появляются ошибки, то попробуйте проверить следующее:
Параметры запуска сервера, например +port 27015, попробуйте другой порт, может 27015 занят.
Если программе не удалось узнать информацию о CPU то перед каждым запуском сервера выполняем
Ошибка:
[S_API FAIL] SteamAPI_Init() failed; unable to update local steamclient. Continuing with current version anyway.
Unable to determine CPU Frequency. Try defining CPU_MHZ.
Segmentation fault
Исправляем:
export CPU_MHZ=2000
Делаем сервер под себя
Устанавливаем metamod Устанавливаем amxxmod Если сервер нужен не Steam то надо установить dproto
Не забудьте настроить конфигурационный файл server.cfg