Half-Life DeathMatch
Сообщество

Форум сообщества Half-Life

Чат сообщества Half-Life
Онлайн

Онлайн: 1
Гостей: 1
Пользователи: 
отсутствуют

Роботы: 
отсутствуют

 Последние посетители: 
Популярное

Последние сообщения с форума
Тема Послед. сообщение
project_bs 2024-05-06 | Nyanicore
Идеи для карт. 2024-04-27 | Nyanicore
Армагедонец 2023-11-27 | Alice

Half-Life DeathMatch » Информация » Создание сервера Half-Life (Linux)

30-03-2012, 16:52 | Разместил: Nikita

Создание сервера Half-Life (Linux)

Создание сервера Half-Life (Linux)


Ниже подробно будет написано как создать сервер Half-Life.
Операционной системой будет Ubuntu/Debian.

Работа по созданию сервера выполняется в терминале. Если это удаленный компьютер то достаточно SSH соединения.
Скачивать готовый сервер Half-Life не советую, т.к. готовые сервера могут содержать уязвимости через которые недобрые игроки могут получить доступ к управлению сервером, будут ломать сервер, а это не слишком хорошо. Собрать свой сервер не на много труднее чем скачать готовый, вдобавок с ним будет меньше проблем в будущем.

Требования к серверу HL:

Процессор: 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

Более подробнее о тонкой настройке сервера Half-Life читайте здесь



Другие новости по теме:

GordonFreeman | ICQ: 50429042 | 4 April 2012 15:22


Публикаций: 3
Комментариев: 54
Хорошо, что у меня не линукс. А хостинг делает всё за меня сам. Слишком много команд надо исполнить, чтобы запустить HL сервер. Вон в windows тупо hlds.exe -game valve +map crossfire +maxplayers 10 и всё


TrueBlood | ICQ: | 21 December 2012 15:28


Публикаций: 0
Комментариев: 14
Слишком суровая инструкция по созданию пользователя. Можно сделать всё гораздо проще, даже без ущерба безопасности. :)

Папки /SAVE движок создаёт сам, при наличии нужных прав.

Давать права на запуск hlds_run не обязательно, если сервер устанавливается при помощи hldsupdatetool.bin :)


Добавить отзыв

Мониторинг серверов

ИМПЕРАТОР СЕРВЕР
HLDM.ORG:27015
Игроков: 3/32
Карта: focus

Развернуть



ВЕСЕЛЫЙ СЕРВЕР (FUN)
HLDM.ORG:27017
Игроков: 3/32
Карта: crossfire

Развернуть



GunGame 2.2
HLDM.ORG:27018
Игроков: 3/24
Карта: disposal

Развернуть



Кооператив (Sven Co-op)
HLDM.ORG:27025
Игроков: 0/32
Карта: abandoned

Развернуть



TF2 Classic #1. Custom Weapons
TF2C.HLDM.ORG:27015
Игроков: 0/24
Карта: koth_databank_rc3

Развернуть



TF2 Classic #2. Custom Weapons
TF2C.HLDM.ORG:27016
Игроков: /
Карта:

Развернуть




Администраторы серверов :
ET^NiK
ET^Pontiy
kissbb
NH.Kanm!!r
GordonFreeman
Kiler