
Detect AFK Players
Датапак для Майнкрафт, который отслеживает бездействие игроков по повороту головы. Точная и быстрая проверка AFK с возможностью расширения через аддоны.
Detect AFK Players - детектор AFK для Майнкрафт
На серверах Minecraft всегда есть те, кто уходит "ототить" и забывает выйти. Detect AFK Players решает эту проблему без тормозов и ложных срабатываний.
В чём фишка
В отличие от типичных датапаков, которые дёргают координаты каждые полсекунды, этот проверяет вращение головы раз в 1.5 секунды. Разница в производительности - до двух порядков. На сервере с кучей игроков это реально чувствуется.
Без аддонов этот датапак сам по себе ничего не делает - просто помечает игроков как AFK. Но с дополнениями раскрывается: можно приостановить день, когда все отошли, разрешить спать, пока кто-то AFK, или хотя бы приглушить имена в списке.
Основные функции
- Игрок получает тег
afkчерез 3 минуты бездействия (настраивается) - Проверка по вращению головы, а не по координатам - меньше ошибок
- Не срабатывает на атаки мобов, взрывы или водные потоки (обычные анти-AFK ловушки)
- Модульная система: ставьте только то, что нужно
Аддоны
- Pause Day Cycle - время замирает, когда нет активных игроков
- AFK Sleep - можно спать, даже если кто-то AFK
- AFK Dim Names - имена AFK игроков становятся тусклыми
- AFK Message - уведомления в чат при уходе/возврате
- AFK Sit - игроки садятся, когда становятся AFK
Настройка
Время бездействия меняется через скорборд. По умолчанию 3600 тиков (3 минуты):
/scoreboard players set .threshold afk.settings NUMBER_OF_TICKS
Если хотите разрешить игрокам вручную включать AFK через /trigger afk:
/scoreboard players enable PLAYER afk
По умолчанию такой доступ выключен - только админы могут назначать.
Производительность
Типичные датапаки AFK дёргают X/Y/Z, инвентарь и взаимодействия каждый тик. Этот делает одно чтение NBT раз в 1.5 секунды. На сервере с 20+ игроками разница в нагрузке колоссальная - процессор не греется, лагов нет.
Метод по повороту головы ещё и отсекает ложные срабатывания от атак, взрывов и хитрых механизмов с водными потоками, которые имитируют движение.
API для своих скриптов
Два функциональных тега:
afk:away- выполняется у игрока, когда он уходит в AFKafk:back- выполняется у игрока, когда он возвращается
Пример: авто-кик AFK игроков
{
"values": ["afk_kick:kick"]
}
kick @s AFK
Остальные скорборды и переменные расписаны на GitHub, но для базового использования хватает и вышеописанного.
Итог
Если у вас сервер Майнкрафт и нужно честное определение AFK без нагрузки - берите Detect AFK Players. Модульность позволяет собрать ровно то, что нужно: от паузы дня до кика через минуту бездействия. Производительность на высоте, ложных срабатываний минимум.
