Проверка переменных у клиента

Ganibal95

Участник
Сообщения
52
Реакции
0
Здравствуйте, т.к я создатель читов... Не раз делал данные манипуляции на игровых серверах.
Изменял в памяти sv_cheats на 1
Ставил разные r_DrawModel...
И все-же вопрос вот в чем, как отследить у игрока эти переменные, заходя на один сервер я видел подобное; Но вот способ реализации не знаю.

Надеюсь на вашу помощь =)
 

KorDen

Atra esterní ono thelduin!
Сообщения
2,142
Реакции
1,424
Ganibal95, в основном подобные переменные ловит модуль SMAC smac_cvars
 

Ganibal95

Участник
Сообщения
52
Реакции
0
KorDen, Мне бы хотелось средствами sourcemod...
Если это конечно возможно =)
 

R1KO

fuck society
Сообщения
9,457
Реакции
7,786
  • Команда форума
  • #4
Ganibal95, декомпиль smac_cvars
 

Ganibal95

Участник
Сообщения
52
Реакции
0
Неужели нет небольшого отрывка кода.?

В этом смаке ничего не разберешь!
 

KorDen

Atra esterní ono thelduin!
Сообщения
2,142
Реакции
1,424
Ganibal95, SMAC это как бы набор плагинов для SourceMod, включающий в себя плагин-ядро smac.smx и плагины-модули. Вообще защита от идиотов-читеров прекрасно работает в комбинации "smac+smac_eyetest+smac_cvars+smac_aimbot+smac_speedhack", главное правильно настроить.

Собственно вот сам исходник smac_cvars - https://bitbucket.org/psychonic/sma...7f12bfa8a3/scripting/smac_cvars.sp?at=default
В общих словах каждые N секунд для каждого подключенного игрока запускается
QueryClientConVar(client, sName, CVars_QueryCallback, client);
и при получении значения сравнивается, если не стандартное (скажем не 0), то бан
 

Ganibal95

Участник
Сообщения
52
Реакции
0
KorDen, Нашел вот этот код, на pastebin.com...
C-подобный:
#include <sourcemod>

#define PLUGIN_NAME					"MinFPS"
#define PLUGIN_AUTHOR				"Tony G."
#define PLUGIN_DESCRIPTION	"Kicks a player if his/her fps_max convar value is below the value of 72."
#define PLUGIN_VERSION			"1.0"
#define PLUGIN_URL					"http://www.sourcemod.net/"

public Plugin:myinfo = {name = PLUGIN_NAME, author = PLUGIN_AUTHOR, description = PLUGIN_DESCRIPTION, version = PLUGIN_VERSION, url = PLUGIN_URL};

public OnPluginStart()
{
	CreateConVar("sm_minfps_version", PLUGIN_VERSION, "MinFPS", FCVAR_PLUGIN|FCVAR_SPONLY|FCVAR_REPLICATED|FCVAR_NOTIFY);
	CreateTimer(10.0, TriggerFPSCheck, _, TIMER_REPEAT);
}

public OnClientPostAdminCheck(client)
{
	QueryClientConVar(client, "fps_max", ConVarQueryFinished:FPSCheck, client);
}

public Action:TriggerFPSCheck(Handle:timer)
{
	for (new client = 1; client <= MaxClients; client++)
	{
		if (IsClientInGame(client) && !IsClientObserver(client))
		{
			QueryClientConVar(client, "fps_max", ConVarQueryFinished:FPSCheck, client);
		}
	}
	
	return Plugin_Continue;	
}

public FPSCheck(QueryCookie:cookie, client, ConVarQueryResult:result, const String:cvarName[], const String:cvarValue[])
{
	if (IsClientConnected(client))
	{
		new fps_max = StringToInt(cvarValue);
		
		if (fps_max < 72 && fps_max != 0)
		{
			KickClient(client, "Please set your fps_max value to at least 72");
		}
	}
}
 
Последнее редактирование:

KorDen

Atra esterní ono thelduin!
Сообщения
2,142
Реакции
1,424
Ganibal95, ну это фактически то же самое, только для одной переменной. И все же для защиты я бы посоветовал поставить смак с вышеупомянутыми модулями
 

Ganibal95

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

Как-то так...
Может есть возможность ставить что-то сервером?
Яб мог читом скаровать адресс на изменение...
Получить играемое название сервера не получилось, там очень много перенаправления, а асемблером трудновато будет... Это нужно будет хукать адресс ассемблера изменения названия, передавать в мою переменную, и уже сверять... Весьма трудоемко...

Может сервер установить что-то игроку, что ему не помешает?
 

KorDen

Atra esterní ono thelduin!
Сообщения
2,142
Реакции
1,424
Ganibal95, Ну, если так подумать, то сервер клиенту ничего не установит... На пиратках есть еще любители UCP, на стиме есть VAC - и там и там идет контроль памяти, и думаю что такое изменение словится тем же ваком
 
Сверху Снизу