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

[CSS:V34] Server Protection 1

gladiatorteam

Участник
Сообщения
21
Реакции
18
  • Автор ресурса
  • #1
gladiatorteam submitted a new resource:

[CSS:V34] Server Protection - Server protection against hacking

  1. Fix Alias (alias two identical commands)
  2. Block Bad Command For Player > player_cmd_block.ini
  3. Block Bad Command For Server > server_cmd_block.ini
  4. Block Change ConVar After Server Start > convar_change_block.ini
  5. Anti VPN
  6. Block Country > blocked_countries.ini
  7. Block 'sm' , 'meta' Command For Player
  8. Connect & Disconnect Log
  9. Bad Command Log
  10. Block ConVar Change notification > silent_cvar_change.ini

Read more about this resource...
 
Последнее редактирование:

Gr1Z[#1]

Участник
Сообщения
11
Реакции
1
Бля у меня весь сервер выкинуло + ещё и лог с ошибкой
 

Вложения

  • Screenshot_1.png
    Screenshot_1.png
    5.8 КБ · Просмотры: 128

РАМАЗАН

Участник
Сообщения
215
Реакции
14
автор криворукий!!!!! по мне самый лучшей это ProtectCMDS
от автора WeSMan
 

Hossinkia

Участник
Сообщения
94
Реакции
15
Plugin copied from SourceMod Security :))
This plugin is not yet public. And will soon be available as extensions ...
+Temporary))

(Screen Old Syntax)
Capture_2021_07_22_01_16_04_28.png

Capture_2021_07_22_01_19_58_790.png
 

gladiatorteam

Участник
Сообщения
21
Реакции
18
  • Автор ресурса
  • #11
Последнее редактирование:

WeSTMan

А вот тут текст!
Сообщения
833
Реакции
516
Если автору интересны замечания, то
1. Сделать кэш на IP, ибо каждый раз обращаться к сайту за принятием решения по VPN - не приятно.
2. Так же и с block contry
3. К сожалению, используется библиотека ConsoleHook, которая нормально так нагружает сервер. Блокировка такого типа имеет место быть, но лучше бы предоставить расширению блокировать команды.
4. Так же ты там и инициируешь двумерный строковый массив.
C:
char SmText[][] = {".smx", ".ext", "To see more, type \"sm", "sm plugins", "sm exts", "sm credits",
    "Visit http://www.sourcemod.net/", "-----------------------------------------\n", "Patched by [", "Compiled by [",
    "SourceMod would not be possible without:\n", " David \"BAILOPAN\" Anderson, Matt \"pRED\" Woodrow",
    " Scott \"DS\" Ehlert, Fyren", " Nicholas \"psychonic\" Hastings, Asher \"asherkin\" Baker",
    " Borja \"faluco\" Ferrer, Pavol \"PM OnoTo\" Marko", "SourceMod is open source under the GNU General Public License.",
    "[ProtectCMDS] the command \"sm", "The command \"sm\" is blocked!"};
Это можно сделать, как глобальную переменную и инициировать только 1 раз. Так же и с Metamod.
А лучше вывести в файлик.
5. Для определения VPN, используется сайт Mind Media, он делает редирект на BlackBox. Можно изменить на второй

Ну а так прикольно)
 

Grey83

не пишу плагины с весны 2022
Сообщения
8,517
Реакции
4,979
C-подобный:
            if (reject_type.IntValue == 1)
                ServerCommand("sm_addban %i %s Rejected By ServerProtection", ban_time.IntValue, Steam);
            else if (reject_type.IntValue == 2)
                ServerCommand("addip %i %s", ban_time.IntValue, IP);
            else{
                
                ServerCommand("sm_addban %i %s Rejected By ServerProtection", ban_time.IntValue, Steam);
                ServerCommand("addip %i %s", ban_time.IntValue, IP);
можно заменить на
C-подобный:
            if (reject_type.IntValue & 1)
                ServerCommand("sm_addban %i %s Rejected By ServerProtection", ban_time.IntValue, Steam);
            if (reject_type.IntValue & 2)
                ServerCommand("addip %i %s", ban_time.IntValue, IP);
В функциях SilentConVars(), SPLog() и CDLog() пути к файлам журналирования можно хранить в статичных или глобальных переменных и просто проверять необходимость создания путей (равен ли первый символ нулю; сомневаюсь, что можно изменить путь к папке SM не выключая работающие плагины). Кмк, глобальные предпочтительней и сроздавать их лучше при старте плагина.

Защита от выгрузки будет конфликтовать со смаком (и может положить сервер, кмк), емнип.

Про остальное WeSMan уже написал.
 

gladiatorteam

Участник
Сообщения
21
Реакции
18
  • Автор ресурса
  • #15
Если автору интересны замечания, то
1. Сделать кэш на IP, ибо каждый раз обращаться к сайту за принятием решения по VPN - не приятно.
2. Так же и с block contry
3. К сожалению, используется библиотека ConsoleHook, которая нормально так нагружает сервер. Блокировка такого типа имеет место быть, но лучше бы предоставить расширению блокировать команды.
4. Так же ты там и инициируешь двумерный строковый массив.
C:
char SmText[][] = {".smx", ".ext", "To see more, type \"sm", "sm plugins", "sm exts", "sm credits",
    "Visit http://www.sourcemod.net/", "-----------------------------------------\n", "Patched by [", "Compiled by [",
    "SourceMod would not be possible without:\n", " David \"BAILOPAN\" Anderson, Matt \"pRED\" Woodrow",
    " Scott \"DS\" Ehlert, Fyren", " Nicholas \"psychonic\" Hastings, Asher \"asherkin\" Baker",
    " Borja \"faluco\" Ferrer, Pavol \"PM OnoTo\" Marko", "SourceMod is open source under the GNU General Public License.",
    "[ProtectCMDS] the command \"sm", "The command \"sm\" is blocked!"};
Это можно сделать, как глобальную переменную и инициировать только 1 раз. Так же и с Metamod.
А лучше вывести в файлик.
5. Для определения VPN, используется сайт Mind Media, он делает редирект на BlackBox. Можно изменить на второй

Ну а так прикольно)
C-подобный:
            if (reject_type.IntValue == 1)
                ServerCommand("sm_addban %i %s Rejected By ServerProtection", ban_time.IntValue, Steam);
            else if (reject_type.IntValue == 2)
                ServerCommand("addip %i %s", ban_time.IntValue, IP);
            else{
               
                ServerCommand("sm_addban %i %s Rejected By ServerProtection", ban_time.IntValue, Steam);
                ServerCommand("addip %i %s", ban_time.IntValue, IP);
можно заменить на
C-подобный:
            if (reject_type.IntValue & 1)
                ServerCommand("sm_addban %i %s Rejected By ServerProtection", ban_time.IntValue, Steam);
            if (reject_type.IntValue & 2)
                ServerCommand("addip %i %s", ban_time.IntValue, IP);
В функциях SilentConVars(), SPLog() и CDLog() пути к файлам журналирования можно хранить в статичных или глобальных переменных и просто проверять необходимость создания путей (равен ли первый символ нулю; сомневаюсь, что можно изменить путь к папке SM не выключая работающие плагины). Кмк, глобальные предпочтительней и сроздавать их лучше при старте плагина.

Защита от выгрузки будет конфликтовать со смаком (и может положить сервер, кмк), емнип.

Про остальное WeSMan уже написал.


Спасибо за советы
Исправлю проблемы в обновлении
 

teafest

Участник
Сообщения
202
Реакции
34
Сверху Снизу