Добавил: root 2012-11-02 13:51:20 960 просмотров Dproto это плагин для MetaMod позволяющий пользователям заходить на сервер как с NoSteam (47-48 протоколы), так и со Steam (48 протокол). Отметим что Dproto это не Steam эмулятор, и если вы хотите поддержку генерации уникальных SteamID на вашем сервере используйте специальные эмуляторы (например RevEmu). Разработчик Crock Основные возможности:
- Сервер позволяет заходить со всех известных версий клиентов, базирующихся на 47 и 48 протоколах;
- Настраиваемые SteamID для клиентов;
- Работает с последней версией hlds;
Поддерживаются операционные системы: Win и *NIX Для работы Dproto нужны - чистые или пропатченные с помощью VUP библиотеки engine_. - metamod 1.19 или 1.19p32. Инструкция по установке: 1. Перейдите к директории /addons/ и создайте новую папку с именем dproto - это директория игры; cstrike для Counter-Strike, valve для Half-Life, и т.д. 2. Скопируйте dproto.dll или dproto_i386.so to в папку /addons/dproto/ (в зависимости от вашей ОС, для Win dll, для UNIX so) 3. Перейдите к директории установленного metamod'a (это путь /addons/metamod/) и отредактируйте файл plugins.ini: добавьте следующую строку в начало файла для windows
Код:
win32 addons\dproto\dproto.dll
для linux
Код:
linux addons/dproto/dproto_i386.so
4. Скопируйте файл dproto.cfg в корневую папку директории игры. 5. Запустите сервер. Используйте следующую команду для linux систем: ./hlds_run -binary ./hlds_i686 когда сервер загружен, напишите "meta list" в консоли. Если вы установили dproto правильно, то вы должны увидеть следующее:
Код:
Currently loaded plugins: description stat pend file vers src load unlod [ 1] dproto RUN - dproto_i386.so vX.X.X ini Start Never [ 2] AMX Mod X RUN - amxmodx_mm_i386. v1.8.1.3 ini Start ANY 2 plugins, 2 running
6. Всё готово Если у вас возникли проблемы с админкой по нику: На вашем сервере изменено значение "amx_password_field" на другое (по умолчанию - "_pw"). Эта проблема решается очень просто: 1) можно просто изменить значение параметра "UserinfoVerification" на "0" 2) изменить значение "amx_password_field" на стандартное, то есть "_pw" 3) самый лучший вариант: добавить к значениям "ValidInfoFields_Engine" своё значение "amx_password_field" Пример: amxx.cfg
Код:
amx_password_field "CSPass"
dproto.cfg (оригинал):
Код:
ValidInfoFields_Engine = \name\bottomcolor\topcolor\model\cl_lc\cl_lw\cl_updaterate\cl_dlmax\rate\_pw\*hltv\password
dproto.cfg (изменённый, чтоб работало):
Код:
ValidInfoFields_Engine = \name\bottomcolor\topcolor\model\cl_lc\cl_lw\cl_updaterate\cl_dlmax\rate\_pw\*hltv\password\CSPass
Переведенный файл dproto.cfg:
# ========================================================
# Настройки DPROTO
# ========================================================
#Способ ведения логов:
# 1 = Консоль
# 2 = Лог файлы
# 3 = Оба метода
LoggingMode = 2
# UserinfoVerification - режим проверки информации пользователя
# 1 = Проверяется на максимальный размер при подключении игрока (С этим значением используется MaxUserInfoSize)
# 2 = Удаляет ненужные поля в информации (С этим значением используется ValidInfoFields)
# 3 = Оба режима
# Проверки необходимы чтобы избежать переполнения информации пользователя, что может привести к появлению svc_bad сообщений у игроков
UserinfoVerification = 3
MaxUserInfoSize = 230
ValidInfoFields_Engine = \name\bottomcolor\topcolor\model\cl_lc\cl_lw\cl_updaterate\cl_dlmax\rate\_pw\*hltv\password
ValidInfoFields_cstrike = \_vgui_menus\_cl_autowepswitch
ValidInfoFields_ag = \cl_autowepswitch
# ========================================================
# Управление AUTHID
# ========================================================
# Список возможных ID клиентов (для cid_* настройки)
# 1: Real steam (STEAM_xx:xx:xx)
# 2: Real valve (VALVE_xx:xx:xx)
# 3: STEAM_ by IP
# 4: VALVE_ by IP
# 5: Deprecated - client will be rejected
# 6: reserved for future use
# 7: HLTV
# 8: STEAM_ID_LAN
# 9: STEAM_ID_PENDING
# 10: VALVE_ID_LAN
# 11: VALVE_ID_PENDING
# 12: STEAM_666:88:666
# Используйте следующие опции чтобы задать нужные ID из списка выше
cid_HLTV = 7
cid_NoSteam47 = 8
cid_NoSteam48 = 10
# Для игроков через легальный Steam
cid_Steam = 1
# Здесь задается ID для клиентов, которые вроде бы как авторизовались, но не получили Steam ID
# Примечание: На самом дел он получит Steam ID, но выглядить он будет примерно так STEAM_0:0:0
cid_SteamPending = 9
# Для игроков имеющих revEmu ( >= 9.74) на клиентской стороне:
cid_RevEmu = 1
# Для игроков имеющих старый revEmu на клиентской стороне:
cid_OldRevEmu = 1
# Для игроков имеющих hCupa's SteamEmu на клиентской стороне:
cid_SteamEmu = 1
# SteamEmuCompatMode (0 / 1)
# Аналог опции в eSTEAMATiON - EnforceSteamEmuCompatIDMode
# Влияет только на старые RevEmu и SteamEmu эмуляторы.
SteamEmuCompatMode = 1
# OldEstCompatMode (0 / 1)
# Включает/выключает исправление steamid сделанных EST в версии dproto 0.3.1.
# Установите 1, если вы хотите сделать steamids генерируемые EST, как в версии < 0.3.0
OldEstCompatMode = 0
# IPGen_Prefix1 (int)
# STEAM_a:b:c
# ^ - этот префикс для authid, сгенерированных по IP
IPGen_Prefix1 = 0
# IPGen_Prefix2 (int)
# STEAM_a:b:c
# ^ - этот префикс для authid, сгенерированных по IP
IPGen_Prefix2 = 4
# Обратите внимание, забаненные sieam id будут без префиксов
# ========================================================
# Другие настройки
# ========================================================
# DisableNativeAuth (0/1)
# Отключит систему авторизации valve/steam.
# Для протокола 47: сервер не будет подключаться к серверам авторизации.
# Для всех: сервер не будет вызывать функции авторизации.
# Это для исправления зависания при запуске старых, основанных на 47 протоколе, серверов.
DisableNativeAuth = 0
# ServerInfoAnswerType (0/1)
# Устанавливает тип ответов сервера на запросы
# 0 = Новый стиль (Source Engine)
# 1 = Старый стиль (Исправлен список избранное для п.47 клиентов)
# 2 = Смешанный режим - лучшее решение для того, чтобы сервер был виден везде
ServerInfoAnswerType = 2
# MasterClient (0/1)
# Включает эмуляцию мастер-клиент; это помогает зарегистрировать сервер в мастер-листе.
# если вы имеете "You server is old" ошибку.
# ИСПОЛЬЗОВАТЬ ТОЛЬКО С ПАРАМЕТРОМ ЗАПУСКА -nomaster !
# you can use Master_GameVersion to set version of game
MasterClient = 0
# Master_GameVersion (string)
# Устанавливает версию игры, которую мастер-клиент будет отправлять на мастер-сервер
Master_GameVersion = 1.1.2.6/Stdio
# SubServer_Enable (0/1)
# Включает вторичный мини-сервер, который переадресовывает клиентов на главный сервер.
# Используйте параметр SubServer_AnswerType , чтобы установить тип ответа на информационные запросы .
# Используйте параметр SubServer_Port , чтобы установить вторичный порт сервера.
# Используйте параметр SubServer_MasterClient , чтобы включить master-client для вторичного сервера.
# Это полезная функция, если вы хотите, чтобы все клиенты видели ваш сервер.
# Это возможно, если вы установите различные типы ответов на главные и вторичные серверы.
# Клиенты которые не видят главный сервер будут видеть вторичный сервер.
SubServer_Enable = 0
SubServer_Port = 28015
SubServer_MasterClient = 0
SubServer_AnswerType = 0
SubServer_RedirectCommand = connect 159.253.18.25:27015
# Game_Name (string)
# Установите имя игры отображающееся у игроков
# Если отсавить пустым будет использоваться название игры по умолчанию.
Game_Name =
# Исправляет отображение ID игрока в мониторинге HLStats
# Используйте только если у вас есть HLStats.
HLStatsPlayerIdFix = 0
# ExportVersion (0 / 1)
# Включение/Выключение экспорта версии dp_version
# 1 = dp_version настройка будет экспортирована в правила сервера. Это будет отображаться в мониториге сервера (например в HLSW)
# 0 = dp_version настройка не будет экспортирована в правила сервера.
ExportVersion = 1
Для Linux рекомендуется запускать сервер с параметром:
./hlds_run -binary ./hlds_i686
Как узнать версию протокола клиента через AMXX: Смотрите файл amxx/dp_test.sma. Это исходный код плагина, цель которого показывать номер протокола при подключении клиентов Страничка Dproto Мини FAQ: Q: Мой сервер не отображатеся в избранном в Steam, что делать? A: Установите Set ServerInfoAnswerType = 0 или 2 в файле dproto.cfg Q: Мой сервер не отображатеся в избранном в клиенте cs v24, что делать? A: Установите Set ServerInfoAnswerType = 1 или 2 в dproto.cfg Q: Как сделать чтобы мой сервер был виден в избранном как в старых no-steam клиентах, так и в steam версии? A: Установите значение переменной ServerInfoAnswerType 2, в файле dproto.cfg Q: Админы не могут авторизоваться с помощью пароля, как решить эту проблему? A: Просто замените _pw в dproto.cfg ValidInfoFields_Engine = \name\bottomcolor\topcolor\model\cl_lc\cl_lw\cl_up daterate\cl_dlmax\rate\_pw\*hltv\password и в местах которые вы используете для хранения админского пароля. Q: Я установил dporo, но он не работает. meta list пишет:
Код:
Currently loaded plugins: description stat pend file vers src load unlod [ 1] dproto fail load dproto_i386.so v0.3.4 ini Start Never
A: Запустите сервер с параметрами -console +log on +mp_logecho 1 и смотрите что выводит консоль. Вы найдете причину там. Q: Я получаю ошибку "Error verifying STEAM UserID Ticket(server was unable to contact the authentication server)" у игроков играющих с легального клиента, то есть через Steam. Q: Баны для пользователей лицензионной игры по SteamID не работают. Пользователь с заблокированным ID имеет возможность играть на сервере. A: Ваш сервер неможет соединиться или потерял соединение с серверами steam. Если вы имеете VAC secured (защищенный античитом VAC) сервер, используйте команду status. Если она показывает "insecure" или "insecure (secure mode enabled, disconnected from Steam3)" это означает, что соединение с серверами steam потеряно. Эта проблема не связана с dproto, но я могу дать некоторые советы, чтобы исправить это: 1. Проверьте разрешены ли исходящие соединения по протоколу TCP через порт 27030 2. Убедитесь в том что доступны исходящие соединения по протоколу UDP через локальные порты 2690x 3. Если вы используете linux, вы должны добавить к запуску параметр командной строки +ip . Я использую +ip 0.0.0.0 например, и это отлично работает. Официальная страничка: http://cs.rin.ru/forum/viewtopic.php?f=29&t=55986 Тэги: dproto, server, no-steam |