Иконка ресурса

SM Plugins Block [Patching Sourcemod] 2.1

Нет прав для скачивания

Rostu

Участник
Сообщения
984
Реакции
554
Плагин позволяет самым простым и банальным способом заблокировать список плагинов - а именно патч функции [sourcemod.2.game.so => ListPluginsToClient] вывода списка плагинов

Данный плагин не требует никаких дополнительных расширений для вашего сервера, только голый SourceMod - этого помог достичь INC MemoryEx => Другое - [INC] Memory Extended

Просмотр плагинов с помощью sm_rcon или консоли сервера через sm plugins list - не заблокирован.

Результат =>
PHP:
] sm plugins
"Admin File Reader" (1.10.0.6426) by AlliedModders LLC
"Admin Help" (1.10.0.6426) by AlliedModders LLC
"Admin Menu" (1.10.0.6426) by AlliedModders LLC
"Anti-Flood" (1.10.0.6426) by AlliedModders LLC
"ban_cases_rework.smx" ban_cases_rework.smx
"Basic Ban Commands" (1.10.0.6426) by AlliedModders LLC
"Basic Chat" (1.10.0.6426) by AlliedModders LLC
"Basic Comm Control" (1.10.0.6426) by AlliedModders LLC
"Basic Commands" (1.10.0.6426) by AlliedModders LLC
"Basic Info Triggers" (1.10.0.6426) by AlliedModders LLC
To see more, type "sm plugins 11"
=> Включаем плагин
] sm plugins
] sm plugins
] sm plugins
] sm plugins
 
Последнее редактирование:

Rostu

Участник
Сообщения
984
Реакции
554
Я исходил из этого поста:
Посмотри - у него версия 1.1 - где действительно был с баг определением пролога функции - в 1.2 я постарался это исправить.

Прикол в том, что в 1.2 - мне массового начали жаловаться на краши - и задержка был в том, что я, ну никак, не мог воспроизвести краши.
Как-то так
 

Rostu

Участник
Сообщения
984
Реакции
554
*Версия 2.0*
Теперь для работы плагина требуется DHooks от Peace-Maker
1) Переписана логика определения текущей игры
2) Переписана логика нахождения функции
2.1) Плагин адаптирован и использует новые функции MemoryEx 2.7
2.2) Исправлены краши, которые вызывала старая логика нахождения функции
3) Добавлены forwards, вдруг кому-то захочется что-то сделать, не трогая ядро

Код:
// Вызывается перед написанием sm plugins
// return true - Разрешить отображение списка плагинов данному игроку
// retrun false - Запретит отображение списка плагинов
forward bool PluginsBlock_OnRequestPlugins(int iClient);

// Вызывается только в том случаи - если отображение списка плагинов игроку было запрещено
forward void PluginsBlock_OnBlockPrint(int iClient);
P.S - Не стал делать inc файл т.к считаю его бесполезным для двух forward, которые можно просто использовать

4) Добавлен модуль PluginsBlock_Stuff - где реализованы три квара

sm_plugins_block_logger => Если игрок неудачно попытался узнать список плагинов, то он будет записан в лог по пути *путь см*/logs/PluginsBlock.log
Пример:
Код:
L 05/11/2020 - 13:58:45: [PluginsBlock_Logger.smx] \x00<3><STEAM_1:1:178103590><> => used sm plugins list
L 05/11/2020 - 14:05:27: [PluginsBlock_Logger.smx] \x00<2><STEAM_1:1:178103590><> => used sm plugins list
L 05/11/2020 - 14:13:36: [PluginsBlock_Logger.smx] \x00<2><STEAM_1:1:2147483647><> => used sm plugins list
L 05/11/2020 - 14:25:47: [PluginsBlock_Logger.smx] \x00<2><STEAM_1:1:2147483647><> => used sm plugins list
sm_plugins_block_admin_ignore => Если игрок имеет флаг Root или Rcon - то разрешаем ему отображение списка плагинов через sm plugins
P.S Если игрок с флагом Z посмотрит список плагинов - то он НЕ будет записан в логи при включенном кваре sm_plugins_block_logger

sm_plugins_block_sound => При неудачной попытке отображение списка плагинов будет проигран необходимый звук
P.S Плагин НЕ добавляет файл со звуком в таблицу загрузок т.е при заходе на сервере - звук не будет скачан игроку => Используйте, например /addons/sourcemod/data/vip/modules/downloadlist.txt - если у вас установлен плагин VIP на сервере

Конфиг генерируется по пути cfg/sourcemod/PluginBlock_Stuff.cfg
 

kilroy

( ͡° ͜ʖ ͡° )
Команда форума
Сообщения
934
Реакции
477

Rostu

Участник
Сообщения
984
Реакции
554
Эх, минус 34ка, ибо там дхукс на metamod.1.ep1 не запускается 😰
Вообще - можно вернуть поддержку 34 - но там будет онли блокировка и ничего более (т.е логгирования тех, кто написал команду - не будет) - как в первых версиях плагина
 

kilroy

( ͡° ͜ʖ ͡° )
Команда форума
Сообщения
934
Реакции
477
Вообще - можно вернуть поддержку 34 - но там будет онли блокировка и ничего более (т.е логгирования тех, кто написал команду - не будет) - как в первых версиях плагина
Ну и ещё как вариант можно будет предыдущую версию юзать на 34ке, абы только не было крашей.
 

nuPAT

Участник
Сообщения
165
Реакции
16
Привет. Обновил плагин с предыдущей версии и он перестал работать.
Dhooks от Писмейкера поставил.
MemoryEx 2.7 поставил.
Плагины перекомпилировал (без ошибок)

L 05/19/2020 - 21:01:46: Info (map "de_dust2") (file "C:\CSGODS\csgo\addons\sourcemod\logs\errors_20200519.log")
L 05/19/2020 - 21:01:46: [SM] Unable to load plugin "RemovePluginList.smx": Native "DHookCreateDetour" was not found

Предыдущая версия работает как надо.
 

NaN

SIGFPE
Команда форума
Сообщения
1,081
Реакции
728
Привет. Обновил плагин с предыдущей версии и он перестал работать.
Dhooks от Писмейкера поставил.
MemoryEx 2.7 поставил.
Плагины перекомпилировал (без ошибок)

L 05/19/2020 - 21:01:46: Info (map "de_dust2") (file "C:\CSGODS\csgo\addons\sourcemod\logs\errors_20200519.log")
L 05/19/2020 - 21:01:46: [SM] Unable to load plugin "RemovePluginList.smx": Native "DHookCreateDetour" was not found

Предыдущая версия работает как надо.
Вы поставили не ту версию дкхукса
 

Rostu

Участник
Сообщения
984
Реакции
554

MrLalatg

Участник
Сообщения
8
Реакции
2
Какая версия sourcemod у вас установлена? И в какой игре вы пытаетесь запустить данный плагин? - Хотя, если честно, Я не удивлен, что у кого-то вылезли такие проблемы
CSS OrangeBox, SM - 1.10.0.6478
 

LEII4A

Участник
Сообщения
744
Реакции
134
CSS V91
sm plugins load RemovePluginList
L 07/06/2020 - 14:53:38: [SM] Exception reported: Couldn't find function => ListPluginsToClient
L 07/06/2020 - 14:53:38: [SM] Blaming: RemovePluginList.smx
L 07/06/2020 - 14:53:38: [SM] Call stack trace:
L 07/06/2020 - 14:53:38: [SM] [0] SetFailState
L 07/06/2020 - 14:53:38: [SM] [1] Line 48, RemovePluginList.sp::OnPluginStart
[SM] Plugin RemovePluginList.smx failed to load: Error detected in plugin startup (see error logs)
sm version
SourceMod Version Information:
SourceMod Version: 1.11.0.6569
SourcePawn Engine: 1.11.0.6569, jit-x86 (build 1.11.0.6569)
SourcePawn API: v1 = 5, v2 = 12
Compiled on: Jun 13 2020 16:04:12
Built from: https://github.com/alliedmodders/sourcemod/commit/2d971a9
Build ID: 6569:2d971a9
http://www.sourcemod.net/
sm exts list
[SM] Displaying 18 extensions:
[01] Automatic Updater (1.11.0.6569): Updates SourceMod gamedata files
[02] Webternet (1.11.0.6569): Extension for interacting with URLs
[03] Accelerator (2.5.0): SRCDS Crash Handler
[04] CS Tools (1.11.0.6569): CS extended functionality
[05] BinTools (1.11.0.6569): Low-level C/C++ Calling API
[06] SDK Tools (1.11.0.6569): Source SDK Tools
[07] Client Preferences (1.11.0.6569): Saves client preference settings
[08] SQLite (1.11.0.6569): SQLite Driver
[09] Sound Info Library (1.0): Access information of sound files
[10] Regex (1.11.0.6569): Provides regex natives for plugins
[11] SteamWorks Extension (1.2.3): Exposes SteamWorks functions to Developers
[12] Top Menus (1.11.0.6569): Creates sorted nested menus
[13] SDK Hooks (1.11.0.6569): Source SDK Hooks
[14] REST in Pawn (1.1.0): Provides HTTP and JSON natives for plugins
[15] GeoIP (1.11.0.6569): Geographical IP information
[16] Socket (3.0.1): Socket extension for SourceMod
[17] MySQL-DBI (1.11.0.6569): MySQL driver implementation for DBI
[18] DHooks (2.2.0-detours9): Dynamic Hooks
 
Последнее редактирование модератором:

Rostu

Участник
Сообщения
984
Реакции
554
2.1
1) Исправлен способ определения игры (в 2.0, например - плагин не мог определить модуль для CS: Source)
2) Раньше для linux использовались две сигнатуры под разные SM, но они оказались бесполезны => Теперь они удалены
3) Для Linux серверов был написан универсальный способ поиска функции (В основе лежит анализ разных версий SM от 1.7 до 1.11 и генерации "универсальной" сигнатуры)
Теперь плагин должен(надеюсь xd) работать на всех версиях sm
 
Последнее редактирование:

StormX

Участник
Сообщения
581
Реакции
133
2.1
1) Исправлен способ определения игры (в 2.0, например - плагин не мог определить модуль для CS: Source)
2) Раньше для linux использовались две сигнатуры под разные SM, но они оказались бесполезны => Теперь они удалены
3) Для Linux серверов был написан универсальный способ поиска функции (В основе лежит анализ разных версий SM от 1.7 до 1.11 и генерации "универсальной" сигнатуры)
Теперь плагин должен(надеюсь xd) работать на всех версиях sm
А собственно ничего и не изменилось то!
Плагин как ни работал так и не работает если уже заявлена поддержка всех Source Engine.

L 08/04/2020 - 15:03:54: [SM] Exception reported: FindLinuxPattern failed find final pattern = 0xC7 0x44 0x24 0x4 0x72 0xAB 0x45 0xF1 0xE8 0x2A 0x2A 0x2A 0x2A 0x85 0xC0
pStr = 0xF145AB72
L 08/04/2020 - 15:03:54: [SM] Blaming: RemovePluginList.smx
L 08/04/2020 - 15:03:54: [SM] Call stack trace:
L 08/04/2020 - 15:03:54: [SM] [0] SetFailState
L 08/04/2020 - 15:03:54: [SM] [1] Line 92, RemovePluginList.sp::FindLinuxPattern
L 08/04/2020 - 15:03:54: [SM] [2] Line 36, RemovePluginList.sp::OnPluginStart
L 08/04/2020 - 15:03:54: [SM] Unable to load plugin "RemovePluginList.smx": Error detected in plugin startup (see error logs)
 

Rostu

Участник
Сообщения
984
Реакции
554
@StormX, То, что пишет у вас в ошибке - это связано с бинарником SM'a - укажите версию SM и используемую игру
 

LEII4A

Участник
Сообщения
744
Реакции
134
2.1
1) Исправлен способ определения игры (в 2.0, например - плагин не мог определить модуль для CS: Source)
2) Раньше для linux использовались две сигнатуры под разные SM, но они оказались бесполезны => Теперь они удалены
3) Для Linux серверов был написан универсальный способ поиска функции (В основе лежит анализ разных версий SM от 1.7 до 1.11 и генерации "универсальной" сигнатуры)
Теперь плагин должен(надеюсь xd) работать на всех версиях sm
Сначала работало, теперь перестало. Ошибка при вводе клиента sm plugin list соответственно список плагонов показывает. Версия СМ выше постами
C++:
L 08/05/2020 - 11:23:11: [SM] Exception reported: Client index 1744830464 is invalid
L 08/05/2020 - 11:23:11: [SM] Blaming: RemovePluginList.smx
L 08/05/2020 - 11:23:11: [SM] Call stack trace:
L 08/05/2020 - 11:23:11: [SM]   [0] PrintToConsole
L 08/05/2020 - 11:23:11: [SM]   [1] Line 214, RemovePluginList.sp::ListPluginsToClient
 
Сверху