ProtocolLib 是一个用于读写 Minecraft 网络协议包的库。它通过反射和通道注入处理了大部分底层操作,并提供了简化的数据包修改接口,让插件开发者无需直接处理复杂的版本兼容问题。
ProtocolLib 为 Bukkit/Spigot 服务器插件提供了直接访问和修改 Minecraft 网络数据包的能力。许多通过标准 API 无法实现的功能(如修改进出数据包、注入自定义数据包)都可以借助它来完成。它能够适应大多数 Minecraft 版本更新,减少了插件因版本更迭而需要频繁修改的工作量。
只需下载 ProtocolLib 的 jar 文件并放入服务器的 plugins 文件夹。它本身不提供游戏功能,而是作为其他插件运行的基础库。
如果您使用 Maven,可以从 Maven Central 自动下载 jar 包、JavaDoc 和源码。在 pom.xml 中添加依赖:
<dependency>
<groupId>net.dmulloy2</groupId>
<artifactId>ProtocolLib</artifactId>
<version>5.4.0</version>
</dependency>注意:之前的 groupId 为 com.comphenix.protocol,现已迁移至 net.dmulloy2。
在 build.gradle 中声明仓库和依赖:
repositories {
mavenCentral()
}
dependencies {
compileOnly 'net.dmulloy2:ProtocolLib:5.4.0'
}TinyProtocol 是一个轻量级的替代方案,主要用于发送和接收原始数据包,不包含结构修改器或包装类。您可以在 GitHub 上找到它。
所有管理命令都需要 protocol.admin 权限。
config:重新加载配置文件。check:检查 BukkitDev 上是否有新版本。version:显示当前运行的 ProtocolLib 版本。timings:切换测量每个插件占用 CPU 时间的统计。listeners:显示哪些插件正在使用 ProtocolLib 以及它们拦截的数据包类型。将指定数据包的十六进制表示记录到文件或控制台。
/packetlog <protocol> <sender> <packet> [file/console]auto-updater:
notify: true # 当有新版本时,通知拥有 protocol.info 权限的玩家。
download: false # 是否自动下载并安装最新版本(重启后生效)。
delay: 43200 # 检查更新的间隔时间(秒)。
last: 0 # 上次检查的时间戳,设为 0 可强制立即检查。
metrics: true # 是否向 mcstats.org 发送匿名使用统计。
background-compiler: true # 是否通过即时编译替换反射代码以提升性能。
ignore-version-check: [] # 强制 ProtocolLib 在指定的不兼容 Minecraft 版本上启动。com.comphenix.protocol)。ProtocolLib 的主要目标之一是实现与不同 Minecraft 版本的最大兼容性。其实现非常灵活,能够适应未来的版本变化。
以下是一些使用 ProtocolLib 实现有趣功能的优秀插件,可供参考和启发:
(如果您开发的插件也使用了 ProtocolLib 并希望加入此列表,请联系作者。)
ProtocolLib 通过 BStats 收集匿名使用统计(如 Spigot 版本、Java 版本等),以帮助调整开发方向。参与完全自愿,您可以随时在配置中禁用。
如果 ProtocolLib 极大地便利了您的工作,或者您想支持项目的长期维护,请考虑赞助或捐赠。这能支持作者投入的大量维护时间并保持其动力。
衷心感谢所有赞助者和捐赠者!(名单略,如有遗漏或希望匿名,请联系作者。)
---
最后提醒:请不要在评论区提交错误报告,那里无法提供有效支持。请使用 Issue Tracker,以便作者能够诊断和修复问题。
友情链接: 网易我的世界 | 泰拉瑞亚 | ocent云计算 | 米饭Minecraft插件文档 | 友链合作
历史访问人次:3,028,238 | 今日访问人次:12,366 | 昨日访问人次:11,147
独立 IP:4,872 | 最近24小时有3,877人访问本站
Copyright © 2019-2026 我的世界服务器列表站. All rights reserved.
❤ Powered by GermMC 京ICP备17023959号-6