[Модификация] Клиент CS:S v34 [Изменение и компиляция исходников]

rom4s

Не понимает, что происходит  
Сообщения
214
Реакции
194
Ну если простым способом -> какой-нибудь не стандартный cvar, с каким-нибудь значением.
 

Danyas

Участник
Сообщения
2,173
Реакции
1,072
Ну если простым способом -> какой-нибудь не стандартный cvar, с каким-нибудь значением.
а можно его "запечатать" в движок, и что бы клиент его не мог менять?
Тогда я бы и клиентом занялся, и привилегии выдавал бы за сборку
 

rom4s

Не понимает, что происходит  
Сообщения
214
Реакции
194
а можно его "запечатать" в движок, и что бы клиент его не мог менять?
А если.. Отслеживать и менять на значение по умолчанию?
И/или объявить ее серверной, при подключении попробовать поменять..
Вообще, тут важен же сам факт наличия такой переменной?
 

Reg1oxeN

Участник
Сообщения
399
Реакции
314
Мне просто интересно, какие, у кого, успехи.
Может вам есть что сказать?)
у меня есть какие-то успехи и я их придерживаюсь )
https://dl.dropbox.com/s/m4p6cyfup7tvt1g/client_mod.rar
https://dl.dropbox.com/s/86lei34cjicgrri/client_mod.changelog


а можно его "запечатать" в движок, и что бы клиент его не мог менять?
C-подобный:
void _clv_changed(ConVar *var, const char *pOldString)
{
    if (Q_strcmp(var->GetString(), var->GetDefault()) != 0)
        var->SetValue(var->GetDefault());
}
ConVar _client_version("_client_version", "1.6.1", FCVAR_CLIENTDLL | FCVAR_CHEAT | FCVAR_USERINFO | FCVAR_NOT_CONNECTED | FCVAR_SERVER_CANNOT_QUERY, "", _clv_changed);
и версию получишь через GetClientInfo и при QueryClientConVar вернет ConVarQuery_Protected
 

Danyas

Участник
Сообщения
2,173
Реакции
1,072
у меня есть какие-то успехи и я их придерживаюсь )
https://dl.dropbox.com/s/m4p6cyfup7tvt1g/client_mod.rar
https://dl.dropbox.com/s/86lei34cjicgrri/client_mod.changelog



C-подобный:
void _clv_changed(ConVar *var, const char *pOldString)
{
    if (Q_strcmp(var->GetString(), var->GetDefault()) != 0)
        var->SetValue(var->GetDefault());
}
ConVar _client_version("_client_version", "1.6.1", FCVAR_CLIENTDLL | FCVAR_CHEAT | FCVAR_USERINFO | FCVAR_NOT_CONNECTED | FCVAR_SERVER_CANNOT_QUERY, "", _clv_changed);
и версию получишь через GetClientInfo и при QueryClientConVar вернет ConVarQuery_Protected
чета рейтчекер мне не дает играть))
 

rom4s

Не понимает, что происходит  
Сообщения
214
Реакции
194
чета рейтчекер мне не дает играть))
Ну может потому, что он не может поменять значения рейтов на нужные.
Я когда заглядываю на ваш сервер -- такая же проблема. В консоли смотрели?)
 

Reg1oxeN

Участник
Сообщения
399
Реакции
314
чета рейтчекер мне не дает играть))
воооообще не понимаю людей, которые ставят его.
достаточно строго ограничить в одно значение через sv квары и не доставать этими мотд.
--- Добавлено позже ---
Ну может потому, что он не может поменять значения рейтов на нужные.
Я когда заглядываю на ваш сервер -- такая же проблема. В консоли смотрели?)
да, действительно не может поменять. но тут самое забавное то, что и флаги кваров и метод выполнения команды полностью идентичны с оригиналом.
текст в консоле выдает одинаковый и, судя по сурсам движка - команда должна выполняться, чего почему-то не происходит...

зафейлил
 
Последнее редактирование:

Danyas

Участник
Сообщения
2,173
Реакции
1,072
Ну может потому, что он не может поменять значения рейтов на нужные.
Я когда заглядываю на ваш сервер -- такая же проблема. В консоли смотрели?)
upload_2018-5-31_5-2-16.png

Не дает во время игры его изменить :(
 

Reg1oxeN

Участник
Сообщения
399
Реакции
314
Не дает во время игры его изменить :(
это не беда.
C-подобный:
"sv_client_max_interp_ratio" = "1" ( def. "2" )
 replicated
"cl_interp_ratio" = "1" ( def. "2.0" )
** NOTE: The real value is 2.000 but the server has temporarily restricted it to 1.000 **


короче, нашел в чем проблема.
1. райтчекер - полнейшее дерьмо. не проверяет что у игрока уже реально стоит cl_interp_ratio 1 из-за настроек сервера.
2. я зафейлил с изменением кваров потому что кто-то накосячил с сервером. :D
%D0%A1%D0%BA%D1%80%D0%B8%D0%BD%D1%88%D0%BE%D1%82%202018-05-31%2013.08.07.png

C-подобный:
MOTD DEBUG:
Type: 2
Title: "Rate Checker"
Message: "danyas.pp.ua/rate.html"
Command: "rate 30000;cl_cmdrate 66;cl_updaterate 66;cl_interp_ratio 1"
рейт 35к и 30к. из-за этого я подумал что рейт не применяется.
это работа квара e_motd_debug в клиенте, если я его там оставил.
 

Danyas

Участник
Сообщения
2,173
Реакции
1,072
у меня есть какие-то успехи и я их придерживаюсь ).
https://dl.dropbox.com/s/m4p6cyfup7tvt1g/client_mod.rar
https://dl.dropbox.com/s/86lei34cjicgrri/client_mod.changelog



C-подобный:
void _clv_changed(ConVar *var, const char *pOldString)
{
    if (Q_strcmp(var->GetString(), var->GetDefault()) != 0)
        var->SetValue(var->GetDefault());
}
ConVar _client_version("_client_version", "1.6.1", FCVAR_CLIENTDLL | FCVAR_CHEAT | FCVAR_USERINFO | FCVAR_NOT_CONNECTED | FCVAR_SERVER_CANNOT_QUERY, "", _clv_changed);
и версию получишь через GetClientInfo и при QueryClientConVar вернет ConVarQuery_Protected

- Сообщение чата "подключился" заменено на "вошел в игру" (в русской локализации)
- Сообщение чата "has connect the game" заменено на "подключился" (в русской локализации)
выводятся, даже если заглушены сервером.

Хотелось бы уточнить по поводу интеграции какого-то базового античита, скажем так.
А-ля UCP на минималках. Отлов хуков, блокировка инжекта, возможно скриншотер.
Сорсы вроде как в интернетах есть, НО рук и головы у меня нету, по этому просто реквестирую)))
Начать можно с разлочки отправки jpeg с сервера, дабы позволить делать скриншоты при бане у клиента (like a 1.6)
 

R1KO

fuck society
Сообщения
9,457
Реакции
7,786
  • Команда форума
  • #72
@Danyas, да хотя бы скриншотер зарешал бы очень сильно.
 

Reg1oxeN

Участник
Сообщения
399
Реакции
314
- Сообщение чата "подключился" заменено на "вошел в игру" (в русской локализации)
- Сообщение чата "has connect the game" заменено на "подключился" (в русской локализации)
выводятся, даже если заглушены сервером.
подключился - это эвент player_connect, который вызывается при попытки коннекта
вошел в игру - это #Game_connected замененный на *вошел в игру* из usermessage TextMsg. вызывается при FinishClientPutInServer


Хотелось бы уточнить по поводу интеграции какого-то базового античита, скажем так.
А-ля UCP на минималках. Отлов хуков, блокировка инжекта, возможно скриншотер.
Сорсы вроде как в интернетах есть, НО рук и головы у меня нету, по этому просто реквестирую)))
да, есть такая идея, но делать это для малой аудитории я не вижу смысла.
однако если взяться, то в конечном итоге можно сделать получше, чем всякие UCP, которые делают минимум нужного.
Начать можно с разлочки отправки jpeg с сервера, дабы позволить делать скриншоты при бане у клиента (like a 1.6)
а это вообще делается парой строк кода. сделаю.
 

rom4s

Не понимает, что происходит  
Сообщения
214
Реакции
194
1.
Хотелось бы уточнить по поводу интеграции какого-то базового античита, скажем так.
Хочу спросить, а будете принуждать игроков? Тогда чем будет отличаться от сторонних античитов, без которых не поиграть.
Или сначала будете пускать всех, предлагая перейти на новый клиент, а после уже запрещать доступ старым клиентам?
Или просто больше недоверия старым версиям клиента?
2.
А что там на счет аналога DProto? Никто не думал об этом? ( или нет смысла тащить читеров с v34 на vOB? :) )
Но это уже, наверное, лучше на стороне сервера и.. OB версии каким-нибудь расширением... хм.
 
Последнее редактирование:

Danyas

Участник
Сообщения
2,173
Реакции
1,072
1.

Хочу спросить, а будете принуждать игроков? Тогда чем будет отличаться от сторонних античитов, без которых не поиграть.
Или сначала будете пускать всех, предлагая перейти на новый клиент, а после уже запрещать доступ старым клиентам?
Или просто больше недоверия старым версиям клиента?
2.
А что там на счет аналога DProto? Никто не думал об этом? ( или нет смысла тащить читеров с v34 на vOB? :) )
Но это уже, наверное, лучше на стороне сервера и.. OB версии какое-нибудь расширением... хм.
1) просто больше недоверия старым версиям клиента
2) бредом попахивает почему-то))
 

rom4s

Не понимает, что происходит  
Сообщения
214
Реакции
194
Сложно (или очень сложно) - не буду спорить, но все реально я считаю.
  • При подключении клиента можно идентифицировать: 1.6, css34, cssOB, CSGO.
  • cssOB имеет немного другой формат пакетов, что-то можно добавить (если нужно), что-то удалить при ответе клиенту:
    • Контрольная сумма (CRC);
    • Клиентский challenge;
    • ...
  • У cssOB некоторые netmessages были изменены, но их можно определить через net_showmsg и/или Reverse Engineering.
... конечно, что-то всплывет еще в процессе реализации (КО).
 
Последнее редактирование:

rom4s

Не понимает, что происходит  
Сообщения
214
Реакции
194
Подниму чтоль тему.
как минимум нужна будет переписанная серверная библиотека
server.lib? Не так сложно, как разобрать engine.lib.
Немного поэкспериментировал с подключением...
l3qjAdl.png
 
Сверху Снизу