Спреи подгружаются клиенту на других серверах. Даже если отключить sv_allowdownload и sv_allowupload, игрок всё равно может принести спрей уже загруженный ранее - из своей локальной папки downloads.А как защитить сервер от этого?
sv_allowdownload 0
sv_allowupload 0
и удалить папку download в корне сервера, и всё?
Или ещё что-то нужно сделать?
Но ведь ставить то он спрей не сможет, или я ошибаюсь?Спреи подгружаются клиенту на других серверах. Даже если отключить sv_allowdownload и sv_allowupload, игрок всё равно может принести спрей уже загруженный ранее - из своей локальной папки downloads.
sv_allowuploadНо ведь ставить то он спрей не сможет, или я ошибаюсь?
Где не отключена возможность наносить спрей - да, всё именно так.Так получается любой сервер теперь могут крашить?
Нет, не подойдётТ.е. даже если на сервере указаны sv_allowupload 0 и sv_allowdownload 0 и нет папки download со спреями, серверу всё равно нужен специальный плагин для блокировки спреев?
Вот этот подходит?
[ANY] Spray Exploit Fixer (2.23) [28-Jan-2024] - AlliedModders
[ANY] Spray Exploit Fixer (2.23) [28-Jan-2024] Pluginsforums.alliedmods.net
Опробуй, сильно не думал пока накидал. На SM 1.13 проверялся, всё ок.Т.е. даже если на сервере указаны sv_allowupload 0 и sv_allowdownload 0 и нет папки download со спреями, серверу всё равно нужен специальный плагин для блокировки спреев?
Вот этот подходит?
[ANY] Spray Exploit Fixer (2.23) [28-Jan-2024] - AlliedModders
[ANY] Spray Exploit Fixer (2.23) [28-Jan-2024] Pluginsforums.alliedmods.net
Есть версия лучше чем скинули выше, с блокировкой звука, стояла на v34Т.е. даже если на сервере указаны sv_allowupload 0 и sv_allowdownload 0 и нет папки download со спреями, серверу всё равно нужен специальный плагин для блокировки спреев?
Вот этот подходит?
[ANY] Spray Exploit Fixer (2.23) [28-Jan-2024] - AlliedModders
[ANY] Spray Exploit Fixer (2.23) [28-Jan-2024] Pluginsforums.alliedmods.net
public Action OnPlayerRunCmd(int client, int &buttons, int &impulse, float vel[3], float angles[3])
{
if (impulse == 201 || impulse == 202)
{
impulse = 0;
return Plugin_Changed;
}
return Plugin_Continue;
}
Это не связано со спреями. Создайте тему в соответствующей ветке и подробно опишите проблему, чтобы люди могли вам помочь.Ни один из предложенных не помогает от краша.
Игрок-хакер заходит и сервер моментально падает.
Его сразу же выкидывает с ошибкой Buffer Overflow in net message
ProcessCMDS от майарены пытается с ним что-то сделать но не может:
[processcmds.ext] Игрок: 'reys' (steamid: [U:1:35413425] | ip: 185.108.107.37:27005) был выброшен с сервера за спам ConVar.
Заходят и по 25 раз крашат сервер. Помогите кто-то справиться с ними, бесплатно, за деньги не важно
Это недавно типок появился, который шастает с впном и крашитЭто не связано со спреями. Создайте тему в соответствующей ветке и подробно опишите проблему, чтобы люди могли вам помочь.
это другое, protectcmds не поможетЭто недавно типок появился, который шастает с впном и крашит
Там от вестмана решения достаточно, по крайней мере у меня - Disconnect: Buffer overflow in net message
Меня пока спасает, во всяком случае они теперь редкие. Хостеру информацию передал, они тоже над фиксом работаютэто другое, protectcmds не поможет
Интересный исходник, вс код ложится отдохнутьЕсть версия лучше чем скинули выше, с блокировкой звука, стояла на v34
Исходник прикрепляю
Просто совпало что вс код работал нормально, но открытия исходника лег (винда нервы делать начала)
PS не тестил) Может тут будет идея для других скриптеров.Описание плагина Anti-Crash Spray Protection
Возможности плагина
1. Защита от краш-спреев
- Блокирует использование спреев для всех игроков кроме тех, кто добавлен в белый список
- Защищает сервер и клиентов от специально созданных спреев, которые могут вызывать сбои
2. Система белого списка
- Хранение разрешенных SteamID в базе данных (MySQL/SQLite)
- Только игроки из белого списка могут использовать спреи
- Автоматическое создание таблиц в базе данных
3. Блокировка спреев и звуков
- Перехватывает команды impulse 201 (установка спрея) и impulse 202 (звук спрея)
- Мгновенная блокировка для неавторизованных игроков
- Сообщение игроку о запрете использования спреев
4. Защита файловой системы
- Автоматическая проверка файлов в директории downloads/sprays
- Удаление подозрительных файлов спреев
- Контроль размера файлов (максимум 512KB)
- Проверка расширений файлов (только .vmt и .vtf)
5. Управление для администраторов
Команды для админов
Основные команды:
- sm_spray_whitelist_add <steamid>- добавить игрока в белый список
- Пример: sm_spray_whitelist_add STEAM_0:1:12345678
- sm_spray_whitelist_remove <steamid>- удалить игрока из белого списка
- Пример: sm_spray_whitelist_remove STEAM_0:1:12345678
- sm_spray_whitelist_list - показать список всех игроков в белом списке
- sm_spray_reload - перезагрузить права для всех онлайн-игроков
- sm_spray_menu - открыть графическое меню управления
Графическое меню:
Настройка базы данных:
- "Добавить игрока по SteamID"
- "Удалить игрока по SteamID"
- "Показать список"
- "Перезагрузить список"
"spray_whitelist"
{
"driver" "mysql"
"host" "localhost"
"database" "sourcemod"
"user" "username"
"pass" "password"
}
Процесс работы
- Игрок подключается → проверка SteamID в базе данных
- Игрок пытается поставить спрей → проверка прав доступа
- Если в белом списке → спрей разрешен
- Если не в белом списке → команда блокируется
- Админ добавляет SteamID → мгновенное обновление прав
Цель была разрешить спреи тем кого ты знаешь)Если цель просто заблокировать спрей или разрешить его только некоторым игрокам, то данный плагин немного избыточен на мой взгляд.