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

Что такое 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, который вместо блокировки сообщения очищает опасные символы.

О том, как выглядела работа с плагином, см. Установка и Настройки.