
VPacketEvents
Плагин VPacketEvents для Velocity позволяет управлять пакетами через нативные события прокси. Удобная регистрация, обработка входящих и исходящих пакетов, гибкие маппинги под разные версии Minecraft.
VPacketEvents - это плагин для прокси Velocity, который даёт возможность перехватывать и управлять пакетами через стандартные события самого прокси. Если ты админ сервера и хочешь тонко контролировать трафик между клиентом и сервером - это то, что нужно.
Зачем это вообще нужно
В обычной ситуации Velocity не даёт напрямую работать с пакетами. А если тебе нужно заблокировать определённую команду, изменить пакет или добавить свою логику на уровне прокси - без VPacketEvents придётся извращаться. Этот плагин решает проблему: ты просто подписываешься на события PacketReceiveEvent и PacketSendEvent и делаешь что хочешь.
Как это работает
Всё строится вокруг двух основных событий:
- PacketReceiveEvent - когда пакет приходит от клиента на сервер
- PacketSendEvent - когда пакет отправляется с сервера клиенту
Ты можешь отменить пакет, изменить его содержимое или просто залогировать. Например, в коде выше показано, как заблокировать команду через KeyedPlayerCommand - просто ставишь GenericResult.denied() и всё.
Регистрация своих пакетов
Если тебе нужно обрабатывать пакет, которого нет в стандартной поставке Velocity, VPacketEvents позволяет зарегистрировать его вручную. Указываешь класс пакета, направление (клиент-сервер или наоборот), состояние регистра (PLAY, LOGIN и т.д.) и маппинги под разные версии Minecraft. Пример с UpdateTeamsPacket наглядно показывает, как это делается.
Установка
Всё просто:
- Скачиваешь VPacketEvents с Modrinth
- Кидаешь в папку plugins на сервере
- Перезапускаешь сервер
Плагин сам подхватится и начнёт работать.
Для разработчиков
Если ты пишешь свои плагины под Velocity и хочешь использовать VPacketEvents, подключи его как зависимость через Gradle:
repositories {
mavenCentral()
}
dependencies {
compileOnly("io.github.4drian3d:vpacketevents-api:1.1.0")
}
API версии 1.1.0 - актуальная, все методы и события описаны в Javadoc.
Важно знать
- Плагин работает только на Velocity, не путай с BungeeCord
- Для обработки пакетов нужно создать класс-слушатель и подписать методы аннотацией
@Subscribe - Маппинги пакетов могут меняться между версиями Minecraft, так что проверяй актуальные ID
- Если не зарегистрировать пакет, событие может не сработать - это частая ошибка новичков
Скачай VPacketEvents и получи полный контроль над пакетами на своём прокси. Без лишних костылей и велосипедов.
