Создание HLTV-сервера на Linux

Сообщения
1,016
Реакции
818
Помог
10 раз(а)
Доброго времени суток, друзья! Подумав, решил написать руководство для поднятия собственного сервера HLTV под управлением OS:Linux
Для подготовки статьи специально был куплен виртуальный сервер (OpenVZ: debian-7.0-x86)
  • Первым делом, что нам необходимо сделать это выкачать с помощью SteamCMD актуальный, на сегодняшний день сервер, build 6153. Конечно, можно и более ранних версий, но я предпочитаю свеженькие файлы https://goldsrc.ru/uploads/emoticons/wink.gif Предположим, что у нас сервер раcположен по следующему пути: /home/hlds
  • Вторым делом мы создадим нового пользователя (для запуска HLTV) и нужные нам директории для дальнейшей работы. По умолчанию при создание нового пользователя директория имеет следующий путь: /home/hltv. При добавлении нового пользователя нам запросят ввести пароль, повторить пароль, ввести дополнительные данные (необязательно) и подтвердить корректность информации.
root@vds142:~# adduser 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
  • Для удобство создадим еще две директории внутри нашего нового пользователя. Это папка cstrike (куда будут записываться будущие demo-записи) и папка valve (куда будут вестись логи, если вам это необходимо)
root@vds142:~# mkdir /home/hltv/cstrike
root@vds142:~# mkdir /home/hltv/valve
  • Третьим делом мы скопируем все необходимые файлы из корня сервера hlds в нашу папку hltv. Нам понадобятся следующие файлы: hltv; core.so; proxy.so; filesystem_stdio.so; hltv.cfg(создаем сами).
root@vds142:~# cp /home/hlds/hltv /home/hltv
root@vds142:~# cp /home/hlds/core.so /home/hltv
root@vds142:~# cp /home/hlds/proxy.so /home/hltv
root@vds142:~# cp /home/hlds/filesystem_stdio.so /home/hltv
root@vds142:~# cd /home/hltv
  • Четвертым делом мы рекурсивно изменим права доступа файлов/директорий на нового пользователя hltv, так-как мы изначально работали из под root, соответственно файлы "принадлежали" ему.
root@vds142:/home/hltv# chown -R hltv:hltv /home/hltv/
  • Пятым делом попробуем запустить наш hltv сервер от имени нового пользователя HLTV.
root@vds142:/home/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 Исправим эту ситуацию.
root@vds142:/home/hltv# 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 Исправим и это, а так же снова изменим права доступа.
root@vds142:/home/hltv# cp /home/hlds/steamclient.so /usr/lib/
root@vds142:/home/hltv# mkdir /home/hltv/cstrike/dlls
root@vds142:/home/hltv# cp /home/hlds/valve/dlls/director.so /home/hltv/cstrike/dlls
root@vds142:/home/hltv# chown -R hltv:hltv /home/hltv
  • Пробуем еще раз запустить наш HLTV сервер с надеждой.
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.
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
root@vds142:/home/hltv# mkdir /home/hltv/.steam/
root@vds142:/home/hltv# mkdir /home/hltv/.steam/sdk32
root@vds142:/home/hltv# cp /home/hlds/libsteam.so /home/hltv/.steam/sdk32
root@vds142:/home/hltv# chown -R hltv:hltv /home/hltv
  • Если не запустится убиваем виртуальный сервер к чертям...
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.
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-запись началась. ) Всем спасибо за внимание.
 
Сообщения
57
Реакции
7
hltv@debian-8-32bit:~$ ./hltv +connect 185.158.113.20: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 185.158.113.20:27015 (1/3).
Get challenge (HASHEDCDKEY)
Connecting to 185.158.113.20:27015 (1/3).
>
BUILD 1001 SERVER (0 CRC)
Server # 308

Added 881 resources.
Received baseline with 96 entities.
Couldn't open config file director.cfg.
Director module initialized.
[S_API FAIL] SteamAPI_Init() failed; SteamAPI_IsSteamRunning() failed.
Setting breakpad minidump AppID = 10
>0702 dropped

>"mp_buytime" changed to "1.500000"

>"mp_round_infinite" changed to "1"

>"mp_freezetime" changed to "0"

Это норм Couldn't open config file director.cfg.? В папке cstrike пока не пишутся дэмки

+ После смены карты, вот такое
>
BUILD 1001 SERVER (0 CRC)
Server # 309

Added 881 resources.
Received baseline with 96 entities.
*** Error in `./hltv': munmap_chunk(): invalid pointer: 0x09f10ae8 ***
Aborted
 
Сообщения
1,016
Реакции
818
Помог
10 раз(а)
happyQQ, чтобы он начал записывать, в hltv.cfg необходимо указать: record "имя демо"
hostname "Game Force | HLTV"
name "Game Force | HLTV"
nomaster "1"
publicgame "0"
autoretry "1"
rate "10000"
updaterate "20"
maxrate "3500"
maxclients "0"
delay "0"
blockvoice "0"
signoncommands "voice_scale 2; voice_overdrive 16; volume 0.5"
record "pub"
chatmode "0"
logfile "0"
 
Сообщения
2,720
Реакции
2,997
Помог
60 раз(а)
Сообщения
83
Реакции
63
Помог
1 раз(а)
Added 781 resources.

Received baseline with 75 entities.
Couldn't open config file director.cfg.
Director module initialized.
[S_API FAIL] SteamAPI_Init() failed; SteamAPI_IsSteamRunning() failed.
opensslconnection.cpp (1375) : Assertion Failed: unable to load trusted SSL root certificates
Setting breakpad minidump AppID = 10
dlopen failed trying to load:
/home/tv/.steam/sdk32/libsteam.so
with error:
/home/tv/.steam/sdk32/libsteam.so: cannot open shared object file: No such file or directory
dlopen failed trying to load:
libsteam.so
with error:
libsteam.so: cannot open shared object file: No such file or directory

что поделать? уже зодолбался.... фйлик єсть.. даже руками закидал...
рещил.... .. не туда закинул...
 
Сообщения
1,536
Реакции
2,319
Помог
39 раз(а)
Для проверки, где находится файл, есть команда find:
find /home/tv -name libsteam.so

Можно так же переназначить путь поиска библиотек, добавив строку в свой скрипт запуска
LD_LIBRARY_PATH=/home/tv/; export LD_LIBRARY_PATH

Например так:
Код:
#!/bin/sh
LD_LIBRARY_PATH=/home/tv/; export LD_LIBRARY_PATH
./hltv +connect 123.00.00.11:27015 +exec hltv.cfg
 
Сообщения
2,143
Реакции
1,223
Помог
44 раз(а)
Вылезает такая ошибка:
Код:
./hltv: error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No such file or directory


Данный файл есть в папке hltv. Выставлял разные права доступа к файлу, но все равно...
14 Авг 2017
Подключался через root, и через пользователя, которого создал. Ничего не поменяло. И да, у меня не работает "sudo", хотя стоит Debian 8.
 
Сообщения
2,143
Реакции
1,223
Помог
44 раз(а)
fantom, сейчас попробуем.
14 Авг 2017
fantom, все равно...

Код:
./start.sh: line 1: #!/bin/sh: Нет такого файла или каталога
./hltv: error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No such file or directory

tE54tdM9ZzM.jpg
 
Сообщения
1,536
Реакции
2,319
Помог
39 раз(а)
Minni, попробуй заменить файлы
 

Вложения

  • 506.8 KB Просмотры: 121
Сообщения
1,016
Реакции
818
Помог
10 раз(а)
Minni, apt-get install lib32gcc1
16 Авг 2017
Если не поможет, попробуй файл: libstdc++.so.6 закинуть в /usr/lib/ с правами: 644
 
Сообщения
2,143
Реакции
1,223
Помог
44 раз(а)
Javekson,
Код:
Чтение списков пакетов… Готово
Построение дерева зависимостей
Чтение информации о состоянии… Готово
Уже установлена самая новая версия lib32gcc1.

16 Авг 2017
Короче, пересобрал заново и магическим образом заработало. Но, некоторые проблемы остались. Проблемы с подключением HLTV к серверу (в Reunion указан IP и в server.cfg стоит sv_proxies 1):
Код:

./start.sh
./start.sh: line 1: #!/bin/sh: Нет такого файла или каталога

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.
Executing file hltv.cfg.
Already recording initialized for test_hltv.
Type 'help' for a list of commands.
Challenging 185.*.*.*:27025 (1/3).
Get challenge (HASHEDCDKEY)
Connecting to 185.*.*.*:27025 (1/3).
Connection rejected: Proxy slots are full.

Automatic connection retry...
Challenging 185.*.*.*:27025 (1/3).
Get challenge (HASHEDCDKEY)
Connecting to 185.*.*.*:27025 (1/3).
Connection rejected: Proxy slots are full.

Код:
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.
Executing file hltv.cfg.
Already recording initialized for test_hltv.
Type 'help' for a list of commands.
Challenging 185.*.*.*:27025 (1/3).
Get challenge (HASHEDCDKEY)
Connecting to 185.*.*.*:27025 (1/3).
Connection rejected: Sorry, HLTV is not allowed on this server
Automatic connection retry...
 
Сообщения
2,143
Реакции
1,223
Помог
44 раз(а)
Алексеич, я понял причину ошибки. В Reunion был заблокирован HLTV (значение 5 было). Выставил на деффолт (7), вроде бы работает. Кто может подсказать, как вывести демки в онлайн режим? То есть, чтобы их можно было смотреть через сайт.
 
Сообщения
1,536
Реакции
2,319
Помог
39 раз(а)
В Reunion был заблокирован HLTV (значение 5 было). Выставил на деффолт (7)
Оно и должно быть заблокировано. Ниже нужно указать ip hltv, которое будет разрешено на сервере.
 
Сообщения
2,143
Реакции
1,223
Помог
44 раз(а)
Tranquillity, но почему тогда не пускает со значение 5? (IP в конфиге reunion указан)
 
Сообщения
391
Реакции
106
Помог
2 раз(а)
Обратите внимание, если вы хотите заключить сделку с этим пользователем, он заблокирован
Ребят, кто нибудь знает почему нет возможности подключиться к HLTV через команду steam://connect
Имеется вот такая ссылка к моему HLTV steam://connect/5.178.87.100:30056

Но ответ даётся вот такой 7vscq9EwDM4.jpg

При том, что к игровому серверу коннектит нормально
к HLTV также норм коннектит через команду connect в игре
12 Окт 2017
Отбой ребята. решил вопрос. Не хватало вот этих параметров

nomaster 0|1 - если 1, то прокси не будут регистрироваться на Мастере
forcemaster 0|1 - если 1, прокси будут регистрироваться на Мастере
heartbeat - высылает данные о статусе на Мастер сервер
 

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

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