Перейти к основному содержимому

Настройки

SafeNameAndChat настраивается через файл SafeNameAndChat.cfg, который плагин при запуске выполняет командой exec из собственного каталога. Это обычный список присваиваний консольных переменных, и все защиты по умолчанию включены.

Переменные для чата

CVarПо умолчаниюНазначение
SNAC_Chat_ReplaceNumberSign1Заменяет # на полноширинный , чтобы клиент не разобрал текст как ключ локализации.
SNAC_Chat_ReplacePercentSign1Заменяет % на полноширинный , чтобы символ не попал в функцию форматирования на клиенте.
SNAC_Chat_RemoveUnprintable1Убирает из сообщения непечатаемые символы.
SNAC_Chat_TrimSpaces1Обрезает пробелы в начале и конце, включая символы, которые лишь выглядят как пробел.
SNAC_Chat_TruncateToEngineLimitAfterReplace1Повторно обрезает сообщение до предела движка после замены. Полноширинные символы занимают три байта UTF-8 там, где исходный занимал один, поэтому сообщение, помещавшееся до замены, может выйти за предел после неё. Применяемый предел — 127 байт, либо 125, если восстанавливаются обрамляющие кавычки.

Переменные для ников

CVarПо умолчаниюНазначение
SNAC_Name_ReplaceNumberSign1Заменяет # на в никах игроков.
SNAC_Name_ReplacePercentSign1Заменяет % на в никах игроков.
SNAC_Name_ReplaceAmpersand1Заменяет & на в никах игроков.
SNAC_Name_ReplacePlusSign1Обезвреживает синтаксис +команда: если сразу за + идёт латинская буква или цифра, этот следующий символ заменяется полноширинным, что ломает синтаксис привязки, оставляя ник читаемым.
SNAC_Name_RemoveUnprintable1Убирает из ника непечатаемые символы.
SNAC_Name_TrimSpaces1Обрезает пробелы в начале и конце ника.

Переменная только для чтения

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, плагин полностью пропускает обработку этой группы, а не выполняет холостой проход, — так что полностью отключённая группа не стоит ничего.