检测到手机访问,点击可直接唤醒 App,体验更流畅。
返回 / 社区 / 我的世界 / PacketEvents 数据包处理插件
我的世界

PacketEvents 数据包处理插件

LT-YHC
2026-09-02 23:15:11 · 更新于 2026-09-14 01:50:07 · 32 浏览 · 3 回复

PacketEvents 介绍
概述

PacketEvents 是一款面向 Minecraft Java 版服务端的高性能、多平台协议(数据包)处理库。它本身不提供面向玩家的功能,而是为插件/模组开发者提供一套统一、易用且支持多版本的数据包监听、拦截与构造 API,让开发者以"一次编写,多平台运行"的方式处理 Minecraft 网络协议。

PacketEvents 由 retrooper 于 2020 年 4 月 17 日创立,基于 Netty 网络框架构建,因而可运行于所有由 Netty 驱动的主流 Minecraft 服务端/代理平台。项目以 GPL-3.0-only 协议开源,在 Modrinth 累计下载超过 73 万次。
项目名称:PacketEvents
项目创始人:retrooper
项目维护者:booky10
最新版本:2.13.0
许可协议:GPL-3.0-only(自由软件)
标签:Library / Technology / Utility
官方站点:https://packetevents.com
项目地址:
Modrinth:https://modrinth.com/plugin/packetevents
SpigotMC:https://www.spigotmc.org/resources/packetevents-api.80279
GitHub:https://github.com/retrooper/packetevents
文档:https://docs.packetevents.com
JavaDoc:https://javadocs.packetevents.com
说明:PacketEvents 本质是一个供其他插件依赖的底层库,而非直接面向普通服主的功能插件。官方建议由各个插件通过 Maven/Gradle 声明依赖引入,而非将 PacketEvents 随插件一起打包分发——这样既能提升性能,也便于统一排查问题。对于普通服主,通常只需将对应平台的 JAR 放入 plugins/(或服务端对应模块目录)由依赖它的插件自动加载即可。
兼容性

| 项目 | 说明 |
|---|---|
| 游戏版本 | Minecraft Java Edition 1.8.8–1.8.9、1.9.x–1.21.x、26.1.x、26.2 |
| 服务端/代理平台 | Bukkit、Spigot、Paper、Folia、Purpur;BungeeCord、Waterfall、Velocity;Fabric、Sponge |
| 运行环境 | 服务端侧(各平台对应模块)+ 客户端侧(Fabric 模块) |
PacketEvents 为不同平台提供独立模块(如 packetevents-spigot、packetevents-bungeecord 等),引入依赖时需选择与目标平台匹配的平台模块。
核心特性
多版本数据包封装(Wrappers)
提供覆盖全部主流 Minecraft 版本的数据包包装器,开发者无需关心版本间协议差异,即可监听、读取、修改和构造数据包。
跨平台"一次编写"
基于 Netty 的选型使同一套 API 代码可运行于 Spigot、BungeeCord、Velocity、Fabric 等多种平台,降低多平台插件/模组的维护成本。
数据包监听与发送
支持在数据包被处理前后进行监听与拦截,也可主动向外发送自定义数据包,是反作弊、协议工具、自定义玩法等插件的基础设施。
实用工具集
内置玩家版本检测、自定义事件系统、TPS 查询、玩家延迟(Ping)查询等常用工具,减少重复造轮子。
协议文档与生态借鉴
项目实现参考了 wiki.vg 的 Minecraft Java 版协议文档,并借鉴了 ViaVersion、ProtocolSupport、adventure、MCProtocolLib 等项目的部分代码,与这类协议生态项目理念相通。
可选匿名统计
Bukkit 平台版本可选启用 bStats 匿名服务器统计分析(可在 bStats 查看),用于项目使用情况的匿名反馈。
安装方法
作为服务端库使用(普通服主)
从 Modrinth 下载与目标服务端匹配的最新 JAR(如 Paper/Spigot 服务端选 packetevents-spigot-2.13.0.jar,BungeeCord/Waterfall 选 packetevents-bungeecord-2.13.0.jar)。
将 JAR 放入服务端的插件目录(Spigot/Paper 系放入 plugins/,BungeeCord/Waterfall 放入 plugins/)。
启动或重启服务端,PacketEvents 会自动完成加载,供依赖它的插件调用。
作为依赖引入(插件开发者)
在 build.gradle.kts(或 pom.xml)中配置 CodeMC Maven 仓库。
添加 packetevents-api 及对应平台模块(如 packetevents-spigot)依赖, scope 设为 compileOnly(仅编译期引用,运行时由服务端已有的 PacketEvents 提供)。
在插件主类初始化阶段通过 PacketEvents API 注册监听器/发送数据包。
提示:开发构建(Development Builds)可前往官方 Jenkins CI 获取;具体 Maven/Gradle 配置请参考官方文档 https://docs.packetevents.com/introduction/development-setup/ 。
适用场景
需要监听/拦截/构造 Minecraft 数据包的反作弊、安全类插件
协议工具、自定义网络玩法、跨版本兼容层等底层插件开发
需要统一多平台(Spigot/Velocity/BungeeCord/Fabric)代码基的开发者
作为 HuskHomes、TAB、ChatLimiter 等功能插件的间接底层依赖(若其构建时依赖 PacketEvents)
相关链接
官方站点:https://packetevents.com
Modrinth 项目页:https://modrinth.com/plugin/packetevents
SpigotMC 资源页:https://www.spigotmc.org/resources/packetevents-api.80279
GitHub 源码:https://github.com/retrooper/packetevents
官方文档:https://docs.packetevents.com
JavaDoc:https://javadocs.packetevents.com
开发构建(Jenkins):https://ci.extendedclip.com/job/PlaceholderAPI/ (PacketEvents Jenkins 见官网 FAQ)
Discord 社区支持:https://packetevents.com/faq

评论 (0)

分享帖子
或复制链接

使用微信扫描二维码分享给好友

打赏支持

选择打赏积分
5
积分
10
积分
20
积分
50
积分
100
积分
我的积分余额 -

打赏记录

加载中...

举报内容

确认下载
平台-
消耗积分0
当前积分-

编辑版本