SafeNameFilter для CS:GOОчистка никнеймов от ссылок и спецсимволов |
05.08.2024 в 13:45 3 |
Keks423 | 05.08.2024 в 13:45#1 | ||
Сообщений: 51
Реакции: 20
Клиенты
|
Плагин SafeNameFilter предназначен для повышения безопасности на сервере CS:GO
Путем очистки никнеймов игроков. Он помогает предотвратить проблемы, связанные с отображением ссылок и потенциальными уязвимостями, удаляя из никнеймов потенциально опасные строки и специальные символы.
Основные Функции:
Очистка Никнеймов: Плагин удаляет из никнеймов строки "http" и "https", которые могут указывать на ссылки, а также другие потенциально опасные символы, такие как <, >, ", и ', которые могут быть использованы для атак или вызвать проблемы в отображении.
Автоматическая Очистка При Входе: Когда игрок заходит на сервер, его никнейм автоматически очищается. Если никнейм превышает максимальную допустимую длину, он обрезается до допустимого размера.
Команда для Ручного Изменения Ника: В плагине реализована команда sm_nickchange, позволяющая вручную изменить никнейм через консоль. Эта функция полезна для тестирования или изменения ника на лету.
Как Это Работает:
Функция SanitizeNickname: Принимает никнейм и размер буфера. Копирует никнейм во временный буфер, удаляет нежелательные подстроки и специальные символы, и обновляет оригинальный никнейм очищенным значением.
Функция OnClientPutInServer: Вызывается при входе игрока на сервер. Получает никнейм игрока, проверяет его длину, обрезает при необходимости, очищает и устанавливает новый никнейм.
Функция Command_NickChange: Обрабатывает команду sm_nickchange для ручного тестирования. Изменяет никнейм игрока на новый, полученный из команды, и очищает его.
Функция OnPluginStart: Регистрирует команду sm_nickchange на сервере, чтобы она была доступна для использования.
Установка и Использование:
Установка Плагина:
Поместите файл плагина SafeNameFilter.smx в папку addons/sourcemod/plugins на вашем сервере.
Поместите файл исходного кода SafeNameFilter.sp в папку addons/sourcemod/scripting на вашем сервере.
Команды:
sm_nickchange — Изменяет никнейм игрока на новый, указанный в команде, очищает его и устанавливает.
Примечание: Этот плагин помогает предотвратить проблемы, связанные с отображением ссылок и специальных символов в никнеймах игроков, способствуя более безопасной среде на сервере. Если у вас возникнут вопросы или вы столкнетесь с проблемами, не стесняйтесь обращаться за помощью! |
||
Ответить Цитата |
Keks423 | 07.08.2024 в 23:42#2 |
Сообщений: 51
Реакции: 20
Клиенты
|
Плагин обновлён список изменений:
Удаление Условного Определения Макроса:
Удалено условное определение MAX_NAME_LENGTH. Теперь используется фиксированное значение 32.
Изменение Определения Размеров Буфера:
Размер временного буфера (TEMP_BUFFER_SIZE) установлен на 33 для учёта нулевого символа.
Исправление Порядка Удаления Подстрок:
Порядок строк для удаления "https" и "http" изменен. Сначала удаляется "https", затем "http".
Исправление Обработки Никнеймов:
Упрощен код обработки никнеймов с фиксированным значением 32 для длины никнейма и обрезки.
|
Ответить Цитата |
Keks423 | 15.09.2024 в 19:51#3 |
Сообщений: 51
Реакции: 20
Клиенты
|
Добавлено логирование изменений никнеймов:
Теперь логируется информация о том, как изменился никнейм игрока после его очистки. Лог включает оригинальный никнейм, новый ник и SteamID игрока.
Логирование можно включить или отключить с помощью нового CVAR sm_nick_sanitizer_logging.
Добавлены настройки через CVAR:
Новый CVAR sm_nick_sanitizer_logging для включения/выключения логирования изменений никнеймов.
Новый CVAR sm_nick_sanitizer_max_length для установки максимальной длины ника (по умолчанию 32 символа).
Уведомление игрока о смене ника:
Игрок получает уведомление в чат, если его ник был изменён после очистки (при подключении или при ручной смене ника).
Оптимизация обработки команд:
Если никнейм игрока не изменился после очистки, выводится сообщение, что ник остался прежним.
|
Ответить Цитата |