Denis Yuriev

Записки бездельника

Главная » Linux » Игровые сервера » Counter-Strike 1.6 » Сервер CS1.6 — установка DProto

Сервер CS1.6 — установка DProto

Отличительная черта современных Public-серверов CS1.6 — возможность играть на них и Steam и Non-Steam игрокам. Ну так же независимость от версии протокола подключаемого клиента (на данный момент актуальный протокол 48, но так же всё еще попадаются уникумы с клиентом с протоколом версии 47).
Сегодня мы научим наш сервер принимать всех игроков, независимо от версии их клиента при помощи модуля DProto.

Скачиваем DProto

Для начала нам необходимо создать каталог для dproto в папке cstrike/addons

$ mkdir ~/hlds/cstrike/addons/dproto
$ cd ~/hlds/cstrike/addons/dproto

А теперь скачать туда свежую версию DProto.

$ wget https://www.denisyuriev.ru/dl/dproto.tar.gz
$ tar xfz dproto.tar.gz
$ rm dproto.tar.gz

Теперь в каталоге dproto у нас два файла:

$ ls -lh ~/hlds/cstrike/addons/dproto
итого 196K
-rw-r--r-- 1 denis denis 8,1K Июн  8 23:42 dproto.cfg
-rw-r--r-- 1 denis denis 177K Июн  8 23:42 dproto_i386.so

Файл dproto.cfg необходимо переместить в каталог cstrike:

$ mv ~/hlds/cstrike/addons/dproto/dproto.cfg ~/hlds/cstrike/

Ну всё, расположили всё как надо, теперь подключаем к серверу.

Подключаем DProto к серверу CS1.6

В принципе, DProto работает из коробки как надо и ползти настраивать его лишний раз не стоит, кроме одного нюанса, который рассмотрим чуть ниже. пока просто проверим работу.
Нам достаточно лишь добавить строку
linux addons/dproto/dproto_i386.so
в файл
~/hlds/cstrike/addons/metamod/plugins.ini
ну а если файла нет, то создать его:

$ echo "linux addons/dproto/dproto_i386.so">~/hlds/cstrike/addons/metamod/plugins.ini

Пробуем вновь запустить сервер:

$ cd ~/hlds
$ ./hlds_run -game cstrike +ip 0.0.0.0 +maxplayers 20 +map de_dust2
Auto-restarting the server on crash

Console initialized.
Using breakpad crash handler
Setting breakpad minidump AppID = 10
Forcing breakpad minidump interfaces to load
Looking up breakpad interfaces from steamclient
Calling BreakpadMiniDumpSystemInit
Protocol version 48
Exe version 1.1.2.7/Stdio (cstrike)
Exe build: 13:12:29 Aug 29 2013 (6153)
STEAM Auth Server
Server IP address 0.0.0.0:27015
   
   Metamod version 1.21p37 Copyright (c) 2001-2013 Will Day
     Patch: Metamod-P (mm-p) v37 Copyright (c) 2004-2013 Jussi Kivilinna
   Metamod comes with ABSOLUTELY NO WARRANTY; for details type `meta gpl'.
   This is free software, and you are welcome to redistribute it
   under certain conditions; type `meta gpl' for details.
   
Version 0.9.391 Linux
[DPROTO]: Done.
[S_API FAIL] SteamAPI_Init() failed; SteamAPI_IsSteamRunning() failed.
Looking up breakpad interfaces from steamclient
Calling BreakpadMiniDumpSystemInit

Connection to Steam servers successful.
   VAC secure mode is activated.

DProto скромно, но сообщил о своём присутствии.

Пару слов о безопасности

Существуют методы, благодаря которым игроки с Non-Steam клиентов могут подменить свой Steam_ID и тем самым «случайно» получить права администратора.
Чтобы этого недоразумения не случилось, необходимо поменять значение одного параметра в dproto.cfg

$ nano ~/hlds/cstrike/dproto.cfg

Там ищем параметр SteamIdHashSalt и присваиваем ему случайное значение:

# SteamIdHashSalt (string)
# Salt string for SteamIDs hashing. Irreversibly changes SteamIDs. Applies only to SteamIDs generated by emulator$
# Should be more than 16 chars length. If string is empty, hashing is not applied.
SteamIdHashSalt = fdsopcvyudssbubuybfvsdafdafdcrefasfads

Таким образом мнимый SteamID игроков с эмуляторами (Non-Steam клиентами) будут получать далеко не то, что планировали получить подменой SteamID.
В общем объяснять долго и не интересно. Главное набор символов свой используйте. Длина данной строки должна быть больше 16 символов.

Сделай приятное автору - поделись статьей в социальной сети.

10 Комментариев

  1. Классный, блог, уникальные статьи, переходы с гугла обеспеченны ;)
    Все очень классно, думал годика 4 назад создать блог о кс бо когда я только изучал норм мануалав небыло, приходилось кусок инфы с одного мануала кусок с другого брать, а щас вот уже как 4 года не занимаюсь серверами, решил вспомнить былое бо впс бесплатная есть, пустует, чего б не попрактиковатся и начал искать мануалы бо уже немного подзабыл что и как Гг
    У меня только один вопрос почему в прошлой статье(про метамод) у вас версия метамода 1.21, а на офф. сайте 1.20 О_о
    Это неофициалка или что?
    ____
    Былоб хорошо если б вы в следуйщих статьях написали скрипт управления сервером, или лучше демон, доя автоматического перезапуска сервера если он залагал или после краша и т.п.
    если конечно знаете перл или баш та тот же php згодится.
    Спасибо за качественный мануал

  2. Денис Юрьев

    Форк метамода. Официальный давно не обновлялся

  3. freegat1x

    Установил dproto на сервер, а у меня всё равно не заходит, и пишет steam userid keysize is bogus! Что делать!?

  4. devilwalker

    пишите в скайп d_evilwalker помогу с сервером!

  5. Подскажите, создал сервер полностью по инструкциям данного сайта, всё получилось. Проблема в том, что сервер виден только в Steam версии cs 1.6, как сделать что бы в пиратках он тоже находился? Пробывал пробывал прописывать Setmaster и т.д., не помогло.

  6. о, прошу прощения, оказывается моет лежать и в cstrike, это не важно.

  7. Нет доверия сертификату для «www.denisyuriev.ru».
    Что делать?

Оставьте комментарий

Войти с помощью: 
Denis Yuriev DMOZ Индекс цитирования

© 2017