Создание HLTV-сервера на Linux ручками

  • Автор темы Javekson
  • Дата начала

Javekson

Модератор
GMF | Главный
Javekson

Javekson

Модератор
GMF | Главный
Статус
Offline
Регистрация
08.02.2020
Сообщения
97
Реакции
37
Steam
View
Лучшие ответы
1
Руководство о том, как создать HLTV сервер CS 1.6 на Linux

Доброго времени суток, друзья! Подумав, решил написать руководство для поднятия собственного сервера HLTV под управлением OS:Linux
Для подготовки статьи специально был куплен виртуальный сервер (OpenVZ: debian-7.0-x86)
  • Первым делом, что нам необходимо сделать это выкачать с помощью SteamCMD актуальный, на сегодняшний день HLDS сервер. Конечно, можно и более ранних версий, но я предпочитаю свеженькие файлы.
  • Предположим, что у нас сервер раcположен по следующему пути: /home/hlds
  • Вторым делом мы создадим нового пользователя (для запуска HLTV) и нужные нам директории для дальнейшей работы. По умолчанию при создание нового пользователя директория имеет следующий путь: /home/hltv. При добавлении нового пользователя нам запросят ввести пароль, повторить пароль, ввести дополнительные данные (необязательно) и подтвердить корректность информации.
Adding user `hltv' ...
Adding new group `hltv' (1000) ...
Adding new user `hltv' (1000) with group `hltv' ...
Creating home directory `/home/hltv' ...
Copying files from `/etc/skel' ...
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
Changing the user information for hltv
Enter the new value, or press ENTER for the default
Full Name []:
Room Number []:
Work Phone []:
Home Phone []:
Other []:
Is the information correct? [Y/n] y
Is the information correct? [Y/n] y - подтверждаем корректность информации
  • Для удобство создадим еще две директории внутри нашего нового пользователя. Это папка cstrike (куда будут записываться будущие demo-записи) и папка valve (куда будут вестись логи, если вам это необходимо)
mkdir /home/hltv/cstrike
mkdir /home/hltv/valve
  • Третьим делом мы скопируем все необходимые файлы из корня сервера hlds в нашу папку hltv. Нам понадобятся следующие файлы: hltv; core.so; proxy.so; filesystem_stdio.so; hltv.cfg(создаем сами).
cp /home/hlds/hltv /home/hltv
cp /home/hlds/core.so /home/hltv
cp /home/hlds/proxy.so /home/hltv
cp /home/hlds/filesystem_stdio.so /home/hltv
cd /home/hltv
  • Четвертым делом мы рекурсивно изменим права доступа файлов/директорий на нового пользователя hltv, так-как мы изначально работали из под root, соответственно файлы "принадлежали" ему.
chown -R hltv:hltv /home/hltv/
  • Пятым делом попробуем запустить наш hltv сервер от имени нового пользователя HLTV.
sudo -u hltv ./hltv +connect 37.230.210.77:27015 -port 27030
Console initialized.
FileSystem initialized.
Error:libsteam_api.so: cannot open shared object file: No such file or directory
WARNING! System::DispatchCommand: command "connect 37.230.210.77:27015" not registered.
Type 'help' for a list of commands.
WARNING! System::RunFrame: system time difference <= 0.
WARNING! System::RunFrame: system time difference <= 0.
  • К сожалению нам выдало ошибку о том, что отсутствует файл: libsteam_api.so Исправим эту ситуацию.
cp /home/hlds/libsteam_api.so /usr/lib/
  • Не будем отчаиваться и снова попробуем запустить сервер командной выше.
root@vds142:/home/hltv# sudo -u hltv ./hltv +connect 37.230.210.77:27015 -port 27030

Console initialized.
FileSystem initialized.
Network initialized.
Master module initialized.
Server module initialized.
World module initialized.
Demo client initialized.
Couldn't open config file hltv.cfg.
Proxy module initialized.
Type 'help' for a list of commands.
Challenging 37.230.210.77:27015 (1/3).
Get challenge (HASHEDCDKEY)
Connecting to 37.230.210.77:27015 (1/3).
>
BUILD 6153 SERVER (0 CRC)
Server # 1

Added 781 resources.
Received baseline with 68 entities.
qError:/home/hlds/cstrike/dlls/director.so: cannot open shared object file: No such file or directory
Couldn't open config file director.cfg.
Director module initialized.
[S_API FAIL] SteamAPI_Init() failed; SteamAPI_IsSteamRunning() failed.
dlopen failed trying to load: steamclient.so with error:steamclient.so: cannot open shared object file: No such file or directory
  • Но и тут нас ожидает неудача. Отсутствие двух путей/файлов: director.so и steamclient.so Исправим и это, а так же снова изменим права доступа.
cp /home/hlds/steamclient.so /usr/lib/
mkdir /home/hltv/cstrike/dlls
cp /home/hlds/valve/dlls/director.so /home/hltv/cstrike/dlls
chown -R hltv:hltv /home/hltv
  • Пробуем еще раз запустить наш HLTV сервер с надеждой.
Console initialized.
FileSystem initialized.
Network initialized.
Master module initialized.
Server module initialized.
World module initialized.
Demo client initialized.
Executing file hltv.cfg.
Recording initialized.
Proxy module initialized.
Type 'help' for a list of commands.
Challenging 37.230.210.77:27015 (1/3).
Get challenge (HASHEDCDKEY)
Connecting to 37.230.210.77:27015 (1/3).
>
BUILD 6153 SERVER (0 CRC)
Server # 1

Added 781 resources.
Received baseline with 68 entities.
[S_API FAIL] SteamAPI_Init() failed; SteamAPI_IsSteamRunning() failed.
Setting breakpad minidump AppID = 10
dlopen failed trying to load: /home/hltv/.steam/sdk32/libsteam.so with error: /home/hltv/.steam/sdk32/libsteam.so: cannot open shared object file: No such file or directory
  • Немного злимся, но исправляем ошибку с отсутствием пути/файла: libsteam.so
mkdir /home/hltv/.steam/
mkdir /home/hltv/.steam/sdk32
cp /home/hlds/libsteam.so /home/hltv/.steam/sdk32
chown -R hltv:hltv /home/hltv
  • Если не запустится убиваем виртуальный сервер к чертям...
Console initialized.
FileSystem initialized.
Network initialized.
Master module initialized.
Server module initialized.
World module initialized.
Demo client initialized.
Executing file hltv.cfg.
Recording initialized.
Proxy module initialized.
Type 'help' for a list of commands.
Challenging 37.230.210.77:27015 (1/3).
Get challenge (HASHEDCDKEY)
Connecting to 37.230.210.77:27015 (1/3).
>
BUILD 6153 SERVER (0 CRC)
Server # 1

Added 781 resources.
Received baseline with 68 entities.
[S_API FAIL] SteamAPI_Init() failed; SteamAPI_IsSteamRunning() failed.
Setting breakpad minidump AppID = 10
Start recording to clc-1605032107-de_dust2.dem.
  • О, чудо =DD Сервер успешно запустился и demo-запись началась. ) Всем спасибо за внимание.
 
Последнее редактирование:

Есть что сказать или остались вопросы?

Залогиньтесь, чтобы иметь возможность общаться

Быстрая регистрация

Всего 30 секунд нужно для регистрации через соц. сети

Зайти в аккаунт

Уже с нами? Отлично, с возвращением ;)

Похожие темы

Zesh
Ответы
3
Просмотры
150
Javekson
Javekson
Javekson
Ответы
0
Просмотры
78
Javekson
Javekson
K
Ответы
2
Просмотры
58
Mircs
Mircs
K
Ответы
0
Просмотры
39
krenko3
K
K
Ответы
2
Просмотры
58
Mircs
Mircs

Пользователи, просматривающие эту тему

Сейчас на форуме нет ни одного пользователя.
Верх