Skip to main content

Консольные команды

Серверная консоль и rcon.

Управление

lua_reload <plugin> снимает хендлеры, таймеры, команды и базы плагина, выполняет plugin.on_unload и запускает manifest.lua, затем init.lua заново с чистым кешем require.
После правок в core/ и lib/ нужна полная перезагрузка: их разделяют все плагины.
lua_check <plugin> выполняет только manifest.luaplugin{}, права, конфиг — в отдельном одноразовом слоте, который не попадает в список работающих плагинов и убирается сразу после проверки. init.lua не запускается вовсе. Так ловится битый plugin{}, отсутствующий require или синтаксическая ошибка в manifest.lua до того, как lua_reload реально остановит плагин.

Порядок загрузки

addons/lua/load_order.txt задаёт, какие плагины грузятся первыми и в каком порядке. Обработчики событий вызываются в том же порядке, поэтому файл решает, кто выигрывает на отменяемом событии.
Всё, чего в файле нет, идёт после по алфавиту — список не обязан быть полным. Имя, которому не нашлось плагина, отмечается в консоли при старте: файл, который врёт про порядок, хуже отсутствующего. lua_list показывает итоговый порядок и сколько мест задано вручную. lua_list показывает по каждому плагину, сколько он держит обработчиков (h), таймеров (t) и открытых баз (db) — общая цифра говорит, что что-то течёт, эта колонка говорит, кто именно.

Профилировка

Единственный ответ на «какой плагин лагает». Выключена по умолчанию: чтение часов на обработчик дёшево, но не бесплатно.
Сортировка по суммарному времени, но смотреть надо на ms/call: обработчик weapon_fire вызывается тысячи раз и обязан быть дешёвым, а обработчик round_start может позволить себе больше.

Диагностика вывода

Вывод идёт всем подключённым — это способ увидеть сообщение глазами игрока.

Cvar’ы модуля