Перейти к содержимому


Фотография

sv_consistency и файлы в архивах .vpk

vpk consistency

  • Авторизуйтесь для ответа в теме
Сообщений в теме: 6

#1 PawnLomaster

PawnLomaster

    Участник

  • Пользователь
  • PipPip
  • 116 сообщений

Отправлено 27 Сентябрь 2020 - 3:36

Привет форумчане! Недавно в голову пришла идея, как запретить антизаблёв через аддоны, не отключая все остальные. Есть в Source такая штука как sv_consistency. Простая проверка CRC файла клиента и сервера.
Почему бы не проверять файл, который отвечает за эффект экрана заблёва? Подумал я. Счастливый я вписал файл в список проверки и был неприятно удивлён.
Проверки не работают на файлах внутри файловой системы Valve (файлы .vpk). Если же выгрузить файл из vpk и сымитировать его положение как в файловой системе Valve, то проверка производится, но у клиента уже этот файл не находит и его кикает за не совпадение.
Стоит учитывать ещё один факт. Аддоны клиента могут вызывать кик за несовпадение файлов (часто из-за скриптов на оружие). То есть идея вполне осуществима.
Назревает вопрос. Как указать проверку файлов в файловой системе Valve (файлы в файлах .vpk)?


  • valerun и Lesdure это нравится

#2 dr_lex

dr_lex

    Постоянный пользователь

  • Пользователь
  • PipPipPipPipPip
  • 1 053 сообщений

Отправлено 27 Сентябрь 2020 - 14:04

Привет форумчане! Недавно в голову пришла идея, как запретить антизаблёв через аддоны, не отключая все остальные. Есть в Source такая штука как sv_consistency. Простая проверка CRC файла клиента и сервера.
Почему бы не проверять файл, который отвечает за эффект экрана заблёва? Подумал я. Счастливый я вписал файл в список проверки и был неприятно удивлён.
Проверки не работают на файлах внутри файловой системы Valve (файлы .vpk). Если же выгрузить файл из vpk и сымитировать его положение как в файловой системе Valve, то проверка производится, но у клиента уже этот файл не находит и его кикает за не совпадение.
Стоит учитывать ещё один факт. Аддоны клиента могут вызывать кик за несовпадение файлов (часто из-за скриптов на оружие). То есть идея вполне осуществима.
Назревает вопрос. Как указать проверку файлов в файловой системе Valve (файлы в файлах .vpk)?

Это наверно надо написать разрабам обновления, пока есть возможность и что-то изменить.



#3 PawnLomaster

PawnLomaster

    Участник

  • Пользователь
  • PipPip
  • 116 сообщений

Отправлено 27 Сентябрь 2020 - 20:06

Это наверно надо написать разрабам обновления, пока есть возможность и что-то изменить.

Мы 7 лет преодолевали невзгоды, низкий онлайн и баги своих же плагинов. Собирали крутые сборки и обновляли их. Библиотеками открывали новые горизонты. Мы смогли забраться в игру так глубоко, что научились вызывать функции C++ из SourcePawn, находя нужные сигнатуры. Мы преодолели и это обновление. Преодолели сбитые сигнатуры, сломанные библиотеки и плагины. Нас толкнули назад, но мы с новой силой ринулись вперёд!
Ты уверен, что мы сами с этим не справимся?



#4 8rutu5

8rutu5

    Пользователь

  • Пользователь
  • PipPipPip
  • 397 сообщений

Отправлено 28 Сентябрь 2020 - 4:09

Мы 7 лет преодолевали невзгоды, низкий онлайн и баги своих же плагинов. Собирали крутые сборки и обновляли их. Библиотеками открывали новые горизонты. Мы смогли забраться в игру так глубоко, что научились вызывать функции C++ из SourcePawn, находя нужные сигнатуры. Мы преодолели и это обновление. Преодолели сбитые сигнатуры, сломанные библиотеки и плагины. Нас толкнули назад, но мы с новой силой ринулись вперёд!
Ты уверен, что мы сами с этим не справимся?

Раз уж пока нет совсем никаких идей, то чисто для затравки могу попробовать дать относительно неплохое направление возможного решения проблемы.

1. Если не лень скачай любой антизаблев.

 

2. Напиши и поставь на сервере плагин, который, например, при вводе команды !check выводит в чат вводившему команду игру список значений переменной mat_postprocess_enable каждого игрока. И проверь, будет ли с антизаблевом у тебя значение 0. Сразу скажу, что скорее всего нет, так как там, наверняка удаляется просто текстура. Но я больше, чем уверен, что есть именно читы, которые отрубают антизаблев именно через подмену значений переменной mat_postprocess_enable на 0. Так что, возможно, данный механизм тебе может избавиться от игроков с антизаблевом, которые юзают его не через аддон, а через чит. Например, чтобы быть с антизаблевом на серве с заблокированными аддонами.

 

P.S. Я в свое время таким плагином пару-тройку поймал игроков. Не знаю уж, то ли это был баг, то ли действительно хитрожопые. Но учитывая, что срабатывал он крайне редко, посмею предположить, что работал как раз исправно.

 

-----------


А вообще, если я правильно понял, то Dragokas уже разбирал эту проблему. https://github.com/a...mod/issues/1181

 

И как я понял ошибка была в том, что DirectoryListing dir = OpenDirectory("./missions", true, NULL_STRING ); - работает только для внутренних файлов.

 

А для того, чтобы получать доступ к файлам в .vpk надо DirectoryListing dir = OpenDirectory("missions", true, NULL_STRING ); - то есть просто без ./


Сообщение отредактировал 8rutu5: 28 Сентябрь 2020 - 4:10


#5 anarki1980

anarki1980

    Участник

  • Пользователь
  • PipPip
  • 147 сообщений

Отправлено 30 Сентябрь 2020 - 20:17

Раз уж пока нет совсем никаких идей, то чисто для затравки могу попробовать дать относительно неплохое направление возможного решения проблемы.

1. Если не лень скачай любой антизаблев.

 

2. Напиши и поставь на сервере плагин, который, например, при вводе команды !check выводит в чат вводившему команду игру список значений переменной mat_postprocess_enable каждого игрока. И проверь, будет ли с антизаблевом у тебя значение 0. Сразу скажу, что скорее всего нет, так как там, наверняка удаляется просто текстура. Но я больше, чем уверен, что есть именно читы, которые отрубают антизаблев именно через подмену значений переменной mat_postprocess_enable на 0. Так что, возможно, данный механизм тебе может избавиться от игроков с антизаблевом, которые юзают его не через аддон, а через чит. Например, чтобы быть с антизаблевом на серве с заблокированными аддонами.

 

P.S. Я в свое время таким плагином пару-тройку поймал игроков. Не знаю уж, то ли это был баг, то ли действительно хитрожопые. Но учитывая, что срабатывал он крайне редко, посмею предположить, что работал как раз исправно.

 

-----------


А вообще, если я правильно понял, то Dragokas уже разбирал эту проблему. https://github.com/a...mod/issues/1181

 

И как я понял ошибка была в том, что DirectoryListing dir = OpenDirectory("./missions", true, NULL_STRING ); - работает только для внутренних файлов.

 

А для того, чтобы получать доступ к файлам в .vpk надо DirectoryListing dir = OpenDirectory("missions", true, NULL_STRING ); - то есть просто без ./

 

вот тут первый в списке плагин который чекает и кикает автоматом тех у кого неправильный  mat_postprocess_enable  и не только



#6 PawnLomaster

PawnLomaster

    Участник

  • Пользователь
  • PipPip
  • 116 сообщений

Отправлено 30 Сентябрь 2020 - 21:41

mat_postprocess_enable

Можно проверить через SMAC

 

 DirectoryListing dir = OpenDirectory("./missions", true, NULL_STRING );  

 

А вот тут не то направление мысли. Разве есть возможность копаться в файлах клиента через Sourcemod? Поэтому идея с плагином под большим сомнением. Если говорить о sv_consistency, то остаётся только редактирование файла белого списка. Он выглядит примерно так
 

whitelist
{
	left4dead2\pak01_dir.vpk		check_crc
	left4dead2\steam.inf			check_crc

	left4dead2_dlc1\pak01_dir.vpk		check_crc
	left4dead2_dlc2\pak01_dir.vpk		check_crc
	left4dead2_dlc3\pak01_dir.vpk		check_crc

	update\pak01_dir.vpk			check_crc
}

Но как заставить белый список смотреть внутрь файловой системы Valve?



#7 dragokas

dragokas

    Постоянный пользователь

  • Пользователь
  • PipPipPipPipPip
  • 792 сообщений

Отправлено 04 Октябрь 2020 - 23:24

 

А вот тут не то направление мысли. Разве есть возможность копаться в файлах клиента через Sourcemod? 

 

Стандартной возможности нету.

Мы как-то с dr.lex обсуждали этот вопрос, и уперлись на необходимости в хороших знаниях C++ для доработки этого расширения под нужную задачу..

 

А так, да, лучше написать разрабам, вдруг клюнут.





Темы с аналогичным тегами vpk, consistency

Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных