Что такое LocalizeBug Fix?
:::warning Устаревший проект
LocalizeBug Fix заархивирован и больше не поддерживается. Репозиторий был помещён в архив на GitHub в 2015 году и изменений не принимает. Он описан здесь только для справки.
Для этого класса эксплойтов на современном сервере используйте SafeNameAndChat.
:::
LocalizeBug Fix — плагин Metamod от @s1lentq, закрывавший эксплойт GoldSrc, при котором локализационные токены, вставленные в ник или сообщение чата, роняют каждый принявший их клиент.
Это первое поколение такого исправления. Позже организация ReHLDS развила его в ReLocalizeBug Fix, который, в свою очередь, тоже уже устарел.
Какой эксплойт он блокировал
Клиент GoldSrc разбирает токены с префиксом # в некоторых сообщениях как ключи локализации. Автор описал два вектора:
-
Чат. Сообщение, проходящее через
client_print_color/client_printи содержащее токены, например:s1lent :#Spec_Help_Text Hello people! #Spec_DuckКаждый клиент, получивший такое сообщение, падал.
-
Ник игрока через
ShowMenu. Ник вида:name "q#Buy#Buy#Buy#Buy#Buy#Buy#Buy"ронял клиенты при открытии меню со списком игроков.
Почему он устарел
Плагин был рассчитан на оригинальный HLDS, и для серверов на ReHLDS его сменил ReLocalizeBugFix; тот, в свою очередь, объявлен устаревшим в 2017 году. Современные серверы получают эту защиту от SafeNameAndChat, который вместо блокировки сообщения очищает опасные символы.
О том, как выглядела работа с плагином, см. Установка и Настройки.