Установка серверов HL (Linux): различия между версиями

Материал из HLDM Wiki
Перейти к навигации Перейти к поиску
Строка 1: Строка 1:
 +
 +
== Общее о серверах ==
 +
 
Операционной системой будет Ubuntu/Debian
 
Операционной системой будет Ubuntu/Debian
  
Строка 19: Строка 22:
 
<br>
 
<br>
 
<br>
 
<br>
Требования к серверу HL</b> <br>
+
== Требования ==
 +
<br>
 
<br>
 
<br>
 
<strong>Процессор:</strong> 1000 МГц и больше<br>
 
<strong>Процессор:</strong> 1000 МГц и больше<br>

Версия 01:57, 16 июня 2012

Общее о серверах

Операционной системой будет 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