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

Материал из HLDM Wiki
Перейти к навигации Перейти к поиску
(Установка сервера)
(Установка сервера)
Строка 65: Строка 65:
 
Теперь даем необходимые для запуска права нашему файлу
 
Теперь даем необходимые для запуска права нашему файлу
 
<pre>chmod +x hldsupdatetool.bin</pre>
 
<pre>chmod +x hldsupdatetool.bin</pre>
 +
 
+x означает добро на выполнение файла
 
+x означает добро на выполнение файла
 
-x файл выполнятся не будет
 
-x файл выполнятся не будет
  
 
Запускаем наш инструмент:
 
Запускаем наш инструмент:
 
+
<pre>su hldm -c './hldsupdatetool.bin'</pre>
''su hldm -c './hldsupdatetool.bin'''
 
 
 
  
 
Можно также воспользоваться командой, если предыдущая не удалась, в этом случае программа будет выполняться от суперпользователя
 
Можно также воспользоваться командой, если предыдущая не удалась, в этом случае программа будет выполняться от суперпользователя
  
''./hldsupdatetool.bin''
+
<pre>./hldsupdatetool.bin</pre>
  
 
После запуска мы увидим лицензионное соглашение. Вводим YES что соглашаемся и жмем ENTER.
 
После запуска мы увидим лицензионное соглашение. Вводим YES что соглашаемся и жмем ENTER.
 
  
 
В папке с игрой появится еще несколько файлов. На нужен файл steam для создания сервера. Даем ему нужные права.
 
В папке с игрой появится еще несколько файлов. На нужен файл steam для создания сервера. Даем ему нужные права.
 
+
<pre>chmod +x ./steam</pre>
''chmod +x ./steam''
 
  
 
И запускаем
 
И запускаем
 
+
<pre>su hldm -c './steam'</pre>
''su hldm -c './steam'''
 
  
 
Видим примерно следующее сообщение
 
Видим примерно следующее сообщение
 
+
<pre>Checking bootstrapper version ...
''Checking bootstrapper version ...
 
 
 
 
Getting version 45 of Steam HLDS Update Tool
 
Getting version 45 of Steam HLDS Update Tool
 
 
Downloading. . . . . . . . . . . .
 
Downloading. . . . . . . . . . . .
 
+
Steam Linux Client updated, please retry the command</pre>
Steam Linux Client updated, please retry the command''
 
 
 
  
 
Повторяем команду
 
Повторяем команду
  
''su hldm -c './steam'''
+
<pre>su hldm -c './steam'</pre>
  
 
Видим теперь примерно следующее:
 
Видим теперь примерно следующее:
  
''Checking bootstrapper version ...
+
<pre>Checking bootstrapper version ...
 
 
 
Getting version 45 of Steam HLDS Update Tool
 
Getting version 45 of Steam HLDS Update Tool
 
 
Downloading. . . . . . . . . . . .Steam Linux Client updated, please retry the command
 
Downloading. . . . . . . . . . . .Steam Linux Client updated, please retry the command
 
 
CAsyncIOManager: 0 threads terminating.  0 reads, 0 writes, 0 deferrals.
 
CAsyncIOManager: 0 threads terminating.  0 reads, 0 writes, 0 deferrals.
 
 
CAsyncIOManager: 21 single object sleeps, 0 multi object sleeps
 
CAsyncIOManager: 21 single object sleeps, 0 multi object sleeps
 
+
CAsyncIOManager: 0 single object alertable sleeps, 0 multi object alertable sleeps</pre>
CAsyncIOManager: 0 single object alertable sleeps, 0 multi object alertable sleeps''
 
 
 
  
 
Ну все, самое сложное в настройке сервера Half-Life завершилось. Теперь осталось скачать сам сервер и запустить.
 
Ну все, самое сложное в настройке сервера Half-Life завершилось. Теперь осталось скачать сам сервер и запустить.
 
  
 
Выполняем следующую команду
 
Выполняем следующую команду
  
''su hldm -c './steam -command update -game valve -dir .'''
+
<pre>su hldm -c './steam -command update -game valve -dir .'</pre>
  
 
Или  
 
Или  
  
''./steam -command update -game valve -dir .''
+
<pre>./steam -command update -game valve -dir .</pre>
 
 
 
 
 
Где dir .
 
Где dir .
 +
точка - это директория где и сам steam если вы хотите установить в другую папку то нужно указать ее, например dir team, dir gungame и тп.
  
точка - это директория где и сам steam если вы хотите установить в другую папку то нужно указать ее, например dir team, dir gungame и тп.
 
  
 
Для тех кто устанавливает не Half-Life а Counter-Strike или другую игру
 
Для тех кто устанавливает не Half-Life а Counter-Strike или другую игру
 
 
В параметре -game нужно указать не valve а cstrike
 
В параметре -game нужно указать не valve а cstrike
  
 
Теперь будут скачиваться все необходимые файлы для работы сервера. Как быстро это завершится зависит от интернет соединения.
 
Теперь будут скачиваться все необходимые файлы для работы сервера. Как быстро это завершится зависит от интернет соединения.
 
 
 
После установки создаем необходимые для нормальной работы сервера папки
 
После установки создаем необходимые для нормальной работы сервера папки
  
''mkdir -p valve/SAVE
+
<pre>mkdir -p valve/SAVE
 
 
 
mkdir -p platform
 
mkdir -p platform
 
+
mkdir -p platform/SAVE</pre>
mkdir -p platform/SAVE''
 
 
 
  
 
Даем права на запуск сервера
 
Даем права на запуск сервера
 
+
<pre>chmod +x ./hlds_run</pre>
chmod +x ./hlds_run
 
 
 
 
 
  
 
Запускаем наш сервер
 
Запускаем наш сервер
''su hldm -c './hlds_run -game valve +ip (ip нашего сервера) +port 27015 +maxplayers 32 +map crossfire'''
+
<pre>su hldm -c './hlds_run -game valve +ip (ip нашего сервера) +port 27015 +maxplayers 32 +map crossfire'<pre>
  
 
Обязательно запускайте из-под пользователя hldm, если отсуствуют необходимые права, например запись в папку logs то даем.
 
Обязательно запускайте из-под пользователя hldm, если отсуствуют необходимые права, например запись в папку logs то даем.
Строка 165: Строка 138:
 
Если вы все правильно сделали, то должно появится примерно следующее:
 
Если вы все правильно сделали, то должно появится примерно следующее:
  
''Auto detecting CPU
+
<pre>Auto detecting CPU
 
 
 
Using Pentium II Optimised binary.
 
Using Pentium II Optimised binary.
 
 
Auto-restarting the server on crash
 
Auto-restarting the server on crash
 
 
Console initialized.
 
Console initialized.
 
 
Protocol version 48
 
Protocol version 48
 
 
Exe version 1.1.2.6/Stdio (cstrike)
 
Exe version 1.1.2.6/Stdio (cstrike)
 
 
Exe build: 16:56:12 Mar  8 2010 (4883)
 
Exe build: 16:56:12 Mar  8 2010 (4883)
 
 
STEAM Auth Server
 
STEAM Auth Server
 
 
Server IP address ....
 
Server IP address ....
 +
couldn't exec listip.cfg
 +
couldn't exec banned.cfg
 +
Connection to Steam servers successful.
 +
VAC secure mode is activated.
 +
</pre>
  
[S_API FAIL] SteamAPI_Init() failed; unable to update local steamclient. Continuing with current version anyway.
+
== Тонкая настройка сервера ==
  
 +
Делаем сервер под себя
  
couldn't exec listip.cfg
+
Устанавливаем [http://metamod.org/ metamod]
 
+
Устанавливаем [http://www.amxmodx.org/ amxxmod]
couldn't exec banned.cfg
+
Если сервер нужен не Steam то надо установить dproto
 
 
[S_API FAIL] SteamAPI_Init() failed; unable to update local steamclient. Continuing with current version anyway.
 
  
 +
Не забудьте настроить конфигурационный файл server.cfg
  
Connection to Steam servers successful.
 
  
   VAC secure mode is activated.
+
== Ошибки ==
''
 
  
 
Если появляются ошибки, то попробуйте проверить следующее:
 
Если появляются ошибки, то попробуйте проверить следующее:
 
 
Параметры запуска сервера, например +port 27015, попробуйте другой порт, может 27015 занят.
 
Параметры запуска сервера, например +port 27015, попробуйте другой порт, может 27015 занят.
 
 
Если программе не удалось узнать информацию о CPU то перед каждым запуском сервера выполняем
 
  
 
Ошибка:
 
Ошибка:
  
 
+
<pre>[S_API FAIL] SteamAPI_Init() failed; unable to update local steamclient. Continuing with current version anyway.
''[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.
 
Unable to determine CPU Frequency. Try defining CPU_MHZ.
 
+
Segmentation fault</pre>
Segmentation fault''
 
 
 
  
 
Исправляем:
 
Исправляем:
 
+
<pre>export CPU_MHZ=2000</pre>
''export CPU_MHZ=2000''
 
 
 
 
 
Делаем сервер под себя
 
 
 
Устанавливаем [http://metamod.org/ metamod]
 
Устанавливаем [http://www.amxmodx.org/ amxxmod]
 
Если сервер нужен не Steam то надо установить dproto
 
 
 
Не забудьте настроить конфигурационный файл server.cfg
 

Версия 02:06, 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'<pre>

Обязательно запускайте из-под пользователя hldm, если отсуствуют необходимые права, например запись в папку logs то даем.

Запускать сервер из-под пользователя root крайне не рекомендуется.

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

<pre>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 ....
couldn't exec listip.cfg
couldn't exec banned.cfg
Connection to Steam servers successful.
VAC secure mode is activated.

Тонкая настройка сервера

Делаем сервер под себя

Устанавливаем metamod Устанавливаем amxxmod Если сервер нужен не Steam то надо установить dproto

Не забудьте настроить конфигурационный файл server.cfg


Ошибки

Если появляются ошибки, то попробуйте проверить следующее: Параметры запуска сервера, например +port 27015, попробуйте другой порт, может 27015 занят.

Ошибка:

[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