Правила форума Гаранты форума
Размещение рекламы AMX-X компилятор

Здравствуйте, гость Вход | Регистрация

Наши новости:

14-дек
24-апр
10-апр
11-апр

> Важная информация

Перед тем как создать тему или задать вопрос, ознакомьтесь с данной темой, там собраны наиболее распространенные уязвимости и способы устранения.
Так же не поленитесь воспользоваться поиском, вполне возможно, что ваш вопрос уже поднимался на форуме.
При создании новой темы уделите внимание ее названию, оно должно кратко описывать суть вашего вопроса/проблемы. Все вновь созданные темы с названиями "Помогите", "Объясните", "Подскажите" и т.д. будут удалены, а их авторы наказаны.
2 страниц V   1 2

Ка защитить сервер от cl_lw 0 ?

staff2517
сообщение 24.11.2014, 0:47
Сообщение #1
Стаж: 12 лет

Сообщений: 275
Благодарностей: 5
Полезность: 0

Здравствуйте форумчане, кто знает как сделать чтобы игрок не мог играть с cl_lw "0" ?? или чтобы при заходе на сервер сразу выставлялось значение cl_lw "1"
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя Legenda
сообщение 24.11.2014, 0:49
Сообщение #2


Иконка группы

Стаж: 16 лет

Сообщений: 3619
Благодарностей: 1706
Полезность: 1010

Меценат Меценат

а что в ней плохого?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
staff2517
сообщение 24.11.2014, 1:07
Сообщение #3
Стаж: 12 лет

Сообщений: 275
Благодарностей: 5
Полезность: 0

Цитата(Legenda @ 23.11.2014, 23:49) *
а что в ней плохого?

На сколько я знаю на турнирах разрешено cl_lw "1".
Значение 0 делает вообще другую стрельбу, зажим летит в точку.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Legenda
сообщение 24.11.2014, 1:14
Сообщение #4


Иконка группы

Стаж: 16 лет

Сообщений: 3619
Благодарностей: 1706
Полезность: 1010

Меценат Меценат

Цитата(staff2517 @ 24.11.2014, 1:07) *
На сколько я знаю на турнирах разрешено cl_lw "1".
Значение 0 делает вообще другую стрельбу, зажим летит в точку.

а ни чего что расчет стрельбы на сервере происходит?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 2 раз
   + Цитировать сообщение
voed
сообщение 24.11.2014, 1:16
Сообщение #5
Стаж: 11 лет

Сообщений: 2593
Благодарностей: 1760
Полезность: 405

Цитата(staff2517 @ 24.11.2014, 0:07) *
На сколько я знаю на турнирах разрешено cl_lw "1".
Значение 0 делает вообще другую стрельбу, зажим летит в точку.

Много турниров вы видели на 6ххх билде?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
staff2517
сообщение 24.11.2014, 1:42
Сообщение #6
Стаж: 12 лет

Сообщений: 275
Благодарностей: 5
Полезность: 0

Кароч нашел
плагин
https://forums.alliedmods.net/showthread.php?t=53728
который при заходе на сервер ставит значение которое задано в конфиге плагина.
Но если вы уже на сервере меняете значения то плагин бессилен.
Может кто-то знает как добавить в плагин чтобы значение которое задано в конфиге клиент менять не мог.
исходник плагина
/* AMX CVAR GUARD
by Wilson [29th ID]

DESCRIPTION
Executes commands listed in an ini file on every incoming client upon
their connection to the server, and optionally can prevent the client
from changing the command to anything else.

WARNING
If the "lock" option is enabled, so that clients cannot set the commands
to anything else, the client will have to exit their game before they
can set it to anything else. No permanent effects, but sometimes people
get confused.

NOTE
Blocking commands only works for client CVARs, which are "settings".
See cvarguard.ini for examples of these cvars.

USAGE
Place cvarguard.ini in amxmodx/configs directory.
Follow instructions in that file for adding commands.
Use the below CVARs to enable this plugin in your server.

amx_cvarguard <1/0>
Enables or Disables the plugin

amx_cvarguard_lock <1/0>
Enables or Disables the "lock" feature, preventing clients from
changing commands to anything else
*/

#include <amxmodx>
#include <amxmisc>

#pragma semicolon 1

#define PLUGIN "CVAR Guard"
#define VERSION "1.0"
#define AUTHOR "29th ID"

#define MAX_CVARS 32
#define MAX_CVAR_LEN 32
#define MAX_FILEPATH_LEN 128
#define MAX_FILE_LINE_LEN 128

new g_cvarEnabled;
new g_cvarLock;

// Path to list of commands, from amxmodx/configs directory
new const g_szFileName[] = "cvarguard.ini";

// Command that blocked cvars are hooked to
new const g_szBlockedCmd[] = "command_blocked_restart_game";

// Message displayed when blocked cvar is executed by client
new const g_szBlockMessage[] = "That command is blocked on this server";

enum { cvar, value };
new const g_commands[MAX_CVARS][2][MAX_CVAR_LEN];


public plugin_init() {
register_plugin( PLUGIN, VERSION, AUTHOR );
register_clcmd( g_szBlockedCmd, "clcmd_blockedcmd" );
}

public plugin_precache() {
g_cvarEnabled = register_cvar( "amx_cvarguard", "1" );
g_cvarLock = register_cvar( "amx_cvarguard_lock", "1" );
if( cvar_enabled() )
{
new szFilePath[128];
get_configsdir( szFilePath, 127 );
format( szFilePath, 127, "%s/%s", szFilePath, g_szFileName );

if ( file_exists( szFilePath ) )
read_config( szFilePath );
}
}

// Reads ini file
public read_config( const szFilePath[] ) {
new szLine[MAX_FILE_LINE_LEN];
new line_count, line_len, index;

new szCvar[MAX_CVAR_LEN];
new szValue[MAX_CVAR_LEN];

while( read_file( szFilePath, line_count++, szLine, MAX_FILE_LINE_LEN, line_len ) ) {
if( line_len && ( !equal( szLine, "//", 2 ) ) )
{
parse( szLine, szCvar, MAX_CVAR_LEN-1, szValue, MAX_CVAR_LEN-1 );

g_commands[index][cvar] = szCvar;
g_commands[index][value] = szValue;

index++;
}
}
}

public client_connect( id ) {
if( cvar_enabled() ) loop_commands( id );
}

public loop_commands( id ) {
for( new i; i < MAX_CVARS; i++ )
{
if( g_commands[i][cvar][0] )
execute_command( id, i );
}
}

public execute_command( id, index ) {
new szClCmd[128];
format( szClCmd, 127, "%s %s", g_commands[index][cvar], g_commands[index][value] );

// If "lock" is enabled, add the locking section of the command
if( cvar_lock() )
format( szClCmd, 127, "%s; alias %s %s", szClCmd, g_commands[index][cvar], g_szBlockedCmd );

SendCmd( id, szClCmd );
}

stock SendCmd(const iClient, const szCommand[]) {
message_begin(MSG_ONE, SVC_DIRECTOR, _, iClient);
write_byte(strlen(szCommand) + 2);
write_byte(10);
write_string(szCommand);
message_end();
}

// Hook the blocked command to display the error message
// when the client tries to alter the command
public clcmd_blockedcmd( id ) {
client_print( id, print_console, g_szBlockMessage );
return PLUGIN_HANDLED;
}

///////////////////

stock cvar_enabled() return get_pcvar_num( g_cvarEnabled );
stock cvar_lock() return get_pcvar_num( g_cvarLock );

в него я добавил работу на стим.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя 2010kohtep1
сообщение 24.11.2014, 1:46
Сообщение #7
Стаж: 12 лет

Сообщений: 59
Благодарностей: 39
Полезность: 400

Но ведь на дворе уже 2014 год, существует море протекторов, которые мало того, что не дадут вам изменить квар на клиенте, так еще и сделают вид, что квар был успешно изменен. Имхо, не вижу смысла.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
staff2517
сообщение 24.11.2014, 1:47
Сообщение #8
Стаж: 12 лет

Сообщений: 275
Благодарностей: 5
Полезность: 0

Цитата(2010kohtep1 @ 24.11.2014, 0:46) *
Но ведь на дворе уже 2014 год, существует море протекторов, которые мало того, что не дадут вам изменить квар на клиенте, так еще и сделают вид, что квар был успешно изменен. Имхо, не вижу смысла.

Подкинь хотя бы один)
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя 2010kohtep1
сообщение 24.11.2014, 1:50
Сообщение #9
Стаж: 12 лет

Сообщений: 59
Благодарностей: 39
Полезность: 400

staff2517,
Тот же кт-щит или кардинал, к примеру.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
staff2517
сообщение 24.11.2014, 1:52
Сообщение #10
Стаж: 12 лет

Сообщений: 275
Благодарностей: 5
Полезность: 0

Цитата(2010kohtep1 @ 24.11.2014, 0:50) *
staff2517,
Тот же кт-щит или кардинал, к примеру.

можешь название написать на анг? а лучше дай ссылку...
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя 2010kohtep1
сообщение 24.11.2014, 1:56
Сообщение #11
Стаж: 12 лет

Сообщений: 59
Благодарностей: 39
Полезность: 400

staff2517,
Отправил нужную информацию в лс.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
staff2517
сообщение 24.11.2014, 2:04
Сообщение #12
Стаж: 12 лет

Сообщений: 275
Благодарностей: 5
Полезность: 0

Цитата(2010kohtep1 @ 24.11.2014, 0:56) *
staff2517,
Отправил нужную информацию в лс.

Спасибо, сейчас проверю...

Цитата(2010kohtep1 @ 24.11.2014, 0:56) *
staff2517,
Отправил нужную информацию в лс.

Так это же для клиента, а мне нужно на сервер.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя 2010kohtep1
сообщение 24.11.2014, 2:10
Сообщение #13
Стаж: 12 лет

Сообщений: 59
Благодарностей: 39
Полезность: 400

staff2517,
Но ведь в первом посте топика говорится, что нужна какая-то защита от игроков с cl_lw 0. Эти модули дают возможность обойти любого подобного рода защиту, так что ее, как таковой, нет. Так что я не вижу смысла.

Отредактировал: 2010kohtep1, - 24.11.2014, 2:11
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя [WPMG]PRoSToTeM@
сообщение 24.11.2014, 2:12
Сообщение #14
Стаж: 13 лет

Сообщений: 1514
Благодарностей: 1025
Полезность: 725

Значение cl_lw в самом клиенте по сути ничего не значит. А вот значение полученное от клиента сервером (setinfo), уже несколько влияет на происходящее (прямым образом на стрельбу не влияет). Поэтому если клиент пошлёт значение cl_lw 1 на сервер, а у себя оставит cl_lw 0, то всё будет происходить как при cl_lw 1 (т.е. от обмана толку ноль). Так что достаточно в setinfo у ключа cl_lw всегда принудительно выставлять значение равное 1.

Хотелось бы конечно доказательств влияния на стрельбу cl_lw.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя csnet
сообщение 24.11.2014, 2:13
Сообщение #15
Стаж: 12 лет

Сообщений: 4808
Благодарностей: 3849
Полезность: 690

lw 0 самообман, а вот лагать стрельба будет жестко с пингом выше 5

Отредактировал: csnet, - 24.11.2014, 2:14


go v cs:go
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
staff2517
сообщение 24.11.2014, 2:26
Сообщение #16
Стаж: 12 лет

Сообщений: 275
Благодарностей: 5
Полезность: 0

Цитата(csnet @ 24.11.2014, 1:13) *
lw 0 самообман, а вот лагать стрельба будет жестко с пингом выше 5

откуда инфа ?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя [WPMG]PRoSToTeM@
сообщение 24.11.2014, 2:33
Сообщение #17
Стаж: 13 лет

Сообщений: 1514
Благодарностей: 1025
Полезность: 725

Если уж прям так необходимо, то вот:
Код:
#include <amxmodx>
#include <fakemeta>

#pragma ctrlchar '\'

public plugin_init() {
register_forward(FM_ClientUserInfoChanged, "ClientUserInfoChanged_Post", true);
}

public ClientUserInfoChanged_Post(const iClient, const pszInfoBuffer) {
new szClientLocalWeaponsValue[3];
engfunc(EngFunc_InfoKeyValue, pszInfoBuffer, "cl_lw", szClientLocalWeaponsValue, charsmax(szClientLocalWeaponsValue));

if (szClientLocalWeaponsValue[0] == '1' && szClientLocalWeaponsValue[1] == '\0') {
return FMRES_IGNORED;
}

engfunc(EngFunc_SetClientKeyValue, iClient, pszInfoBuffer, "cl_lw", "1");

return FMRES_IGNORED;
}
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
staff2517
сообщение 24.11.2014, 3:12
Сообщение #18
Стаж: 12 лет

Сообщений: 275
Благодарностей: 5
Полезность: 0

Спасибо, утром проверю.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
staff2517
сообщение 24.11.2014, 5:38
Сообщение #19
Стаж: 12 лет

Сообщений: 275
Благодарностей: 5
Полезность: 0

Плагин работает на ура, если не сложно добавьте туда еще "cl_lc 1" и "cl_lb 1" Спасибо
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя shaid
сообщение 24.11.2014, 5:42
Сообщение #20


Стаж: 14 лет

Сообщений: 1012
Благодарностей: 432
Полезность: 835

cl_lb это не из нашего столетия
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
2 страниц V   1 2
 
Ответить в данную темуНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: