Настройки
SafeNameAndChat настраивается через файл SafeNameAndChat.cfg, который плагин при запуске выполняет командой exec из собственного каталога. Это обычный список присваиваний консольных переменных, и все защиты по умолчанию включены.
Переменные для чата
| CVar | По умолчанию | Назначение |
|---|---|---|
SNAC_Chat_ReplaceNumberSign | 1 | Заменяет # на полноширинный #, чтобы клиент не разобрал текст как ключ локализации. |
SNAC_Chat_ReplacePercentSign | 1 | Заменяет % на полноширинный %, чтобы символ не попал в функцию форматирования на клиенте. |
SNAC_Chat_RemoveUnprintable | 1 | Убирает из сообщения непечатаемые символы. |
SNAC_Chat_TrimSpaces | 1 | Обрезает пробелы в начале и конце, включая символы, которые лишь выглядят как пробел. |
SNAC_Chat_TruncateToEngineLimitAfterReplace | 1 | Повторно обрезает сообщение до предела движка после замены. Полноширинные символы занимают три байта UTF-8 там, где исходный занимал один, поэтому сообщение, помещавшееся до замены, может выйти за предел после неё. Применяемый предел — 127 байт, либо 125, если восстанавливаются обрамляющие кавычки. |
Переменные для ников
| CVar | По умолчанию | Назначение |
|---|---|---|
SNAC_Name_ReplaceNumberSign | 1 | Заменяет # на # в никах игроков. |
SNAC_Name_ReplacePercentSign | 1 | Заменяет % на % в никах игроков. |
SNAC_Name_ReplaceAmpersand | 1 | Заменяет & на & в никах игроков. |
SNAC_Name_ReplacePlusSign | 1 | Обезвреживает синтаксис +команда: если сразу за + идёт латинская буква или цифра, этот следующий символ заменяется полноширинным, что ломает синтаксис привязки, оставляя ник читаемым. |
SNAC_Name_RemoveUnprintable | 1 | Убирает из ника непечатаемые символы. |
SNAC_Name_TrimSpaces | 1 | Обрезает пробелы в начале и конце ника. |
Переменная только для чтения
| CVar | Назначение |
|---|---|
SNAC_Version | Сообщает версию загруженного плагина. Зарегистрирована как серверная переменная; задать её нельзя. |
Конфигурация, поставляемая по умолчанию
SNAC_Chat_ReplaceNumberSign 1
SNAC_Chat_ReplacePercentSign 1
SNAC_Chat_RemoveUnprintable 1
SNAC_Chat_TrimSpaces 1
SNAC_Chat_TruncateToEngineLimitAfterReplace 1
SNAC_Name_ReplaceNumberSign 1
SNAC_Name_ReplacePercentSign 1
SNAC_Name_ReplaceAmpersand 1
SNAC_Name_ReplacePlusSign 1
SNAC_Name_RemoveUnprintable 1
SNAC_Name_TrimSpaces 1
предупреждение
Отключение любой опции снова открывает тот эксплойт, который она закрывает. Если вы выключаете что-то, чтобы обойти конфликт с другим плагином, отключайте самую узкую опцию, а не целую группу для чата или ников, и сначала проверьте, не занимается ли конфликтующий плагин собственной очисткой текста.
примечание
Если все опции группы равны 0, плагин полностью пропускает обработку этой группы, а не выполняет холостой проход, — так что полностью отключённая группа не стоит ничего.