Thomas
Участник
- Сообщения
- 11
- Реакции
- 0
Для начала напишу, что задача, как я понимаю скорее всего будет в том, чтобы написать VSP-плагин (это чтобы тему не закинули в другой раздел).
Итак, по теме: есть довольно большая проблема, и прошу помощи. Проблема заключается в том, что сервера HL2DM версии v1.0.0.12 не отображаются в списке, который выдают клиенту мастерсервера Valve. Движок тот же, что и у CSS v1.0.0.34, но сервера CSS, насколько мне известно, отображаются ,а HL2DM - почему-то нет.
Задача - заставить отображаться. Насколько я знаю, engine.dll / engine_i486.so, engine_i686.so, engine_amd.so содержат функцию (название, предположительно - NET_SendPacket), генерирующую пакет с инфой о сервере, отправляемой мастерсерверу. Для того, чтобы мастервервер принял сервер - нужно подменить версию на последнюю.
Пытаясь разобраться в ситуации, я перехватил пакет, который посылает сервер мастерсерверу - и ничего не понял, каша из байтов, что с ней делать - не знаю.
Есть один человек, котором все-таки удалось подменить версию сервера, причем довольно интересным способом - отредактировал engine.dll. Все, что удалось у него выяснить:
Еще, нашел у Вальв формат пакета, который сервер отправляет мастерсерверу:
https://developer.valvesoftware.com/wiki/Master_Server_Query_Protocol#Master_servers
Сейчас я вижу несколько выходов из ситауции:
- VSP-плагин, подменяющий функцию, если, конечно, это можно сделать плагином
- Сниффер, который будет редактировать каждый передаваемый сервером пакет к мастерсерверу
- Свой мастерсервер (это довольно непрактично)
- SourceMod-плагин (по-моему невероятно, но я не знаю всех возможностей SM)
Редактировать dll и so-шки я не учитываю, поскольку, по-моему, это нужно быть гениальным человеком, да и надо это делать с каждым апдейтом OrangeBox, которые зачастили в последнее время.
Я снова не знаю в какую сторону лучше копать, поэтому прошу вашего совета.
Итак, по теме: есть довольно большая проблема, и прошу помощи. Проблема заключается в том, что сервера HL2DM версии v1.0.0.12 не отображаются в списке, который выдают клиенту мастерсервера Valve. Движок тот же, что и у CSS v1.0.0.34, но сервера CSS, насколько мне известно, отображаются ,а HL2DM - почему-то нет.
Задача - заставить отображаться. Насколько я знаю, engine.dll / engine_i486.so, engine_i686.so, engine_amd.so содержат функцию (название, предположительно - NET_SendPacket), генерирующую пакет с инфой о сервере, отправляемой мастерсерверу. Для того, чтобы мастервервер принял сервер - нужно подменить версию на последнюю.
Пытаясь разобраться в ситуации, я перехватил пакет, который посылает сервер мастерсерверу - и ничего не понял, каша из байтов, что с ней делать - не знаю.
Есть один человек, котором все-таки удалось подменить версию сервера, причем довольно интересным способом - отредактировал engine.dll. Все, что удалось у него выяснить:
alex: не все так просто
alex: там нужно искать то место, где формируется ответ мастер-серверу, и менять адрес строки с версией
alex: это можно сделать при помощи отладчика
alex: задача усложняется тем, что все строки копируются по новым адресам при запуске. Во всяком случае в виндовой версии так
alex: там нужно искать то место, где формируется ответ мастер-серверу, и менять адрес строки с версией
alex: это можно сделать при помощи отладчика
alex: задача усложняется тем, что все строки копируются по новым адресам при запуске. Во всяком случае в виндовой версии так
Еще, нашел у Вальв формат пакета, который сервер отправляет мастерсерверу:
https://developer.valvesoftware.com/wiki/Master_Server_Query_Protocol#Master_servers
Сейчас я вижу несколько выходов из ситауции:
- VSP-плагин, подменяющий функцию, если, конечно, это можно сделать плагином
- Сниффер, который будет редактировать каждый передаваемый сервером пакет к мастерсерверу
- Свой мастерсервер (это довольно непрактично)
- SourceMod-плагин (по-моему невероятно, но я не знаю всех возможностей SM)
Редактировать dll и so-шки я не учитываю, поскольку, по-моему, это нужно быть гениальным человеком, да и надо это делать с каждым апдейтом OrangeBox, которые зачастили в последнее время.
Я снова не знаю в какую сторону лучше копать, поэтому прошу вашего совета.