895
收录服务器
1142
注册
78 701
玩家
ProtocolLib
提供对我的世界协议的读/写访问权限
作 者 dmulloy2
发布时间 2014年11月24日
支持核心 Spigot
原生版本
支持版本 1.8,1.9,1.10,1.11,1.12,1.13,1.14,1.15,1.16,1.17,1.18,1.19
点此下载

ProtocolLib是一个Minecraft协议库,允许插件读取和写入Minecraft协议,简化了数据包修改,并能适应Minecraft版本更新。它为开发者提供了绕过Bukkit API限制,直接与Minecraft交互的能力,从而实现一些标准API无法完成的任务。

📦 ProtocolLib

🔗 实用链接

🐛 报告 Bug 之前

  • 检查 ProtocolLib 是否有更新。
  • 阅读堆栈跟踪,确认错误来自 ProtocolLib(包名为 com.comphenix.protocol)。
  • 查阅常见错误页面。

🐞 报告 Bug 时

  • 使用 Issue Tracker!请先搜索重复项。
  • 提供尽可能多的信息,包括 ProtocolLib 版本和 Spigot 版本。
  • 使用 pastebin 提供堆栈跟踪或错误信息。

⚙️ 服务器管理员

直接下载 ProtocolLib 即可。它本身不执行任何操作,只是让其他插件能够正常运行。

👨‍💻 开发者

一个过时的教程可以在这里找到。一个新的教程正在 Wiki 上编写中。

🧪 TinyProtocol

TinyProtocol 是 ProtocolLib 的一个轻量级替代品。它提供了一种发送和接收原始数据包的机制,没有结构修饰符或包装器。可以在这里找到。

📦 Maven 仓库

如果使用 Maven,可以通过以下仓库自动下载 JAR 包、JavaDoc 和相关源码:

HTML:


<repositories>
  <repository>
    <id>dmulloy2-repo</id>
    <url>https://repo.dmulloy2.net/repository/public/</url>
  </repository>
  <!-- And so on -->
</repositories>

Gradle:


repositories {
    maven { url "https://repo.dmulloy2.net/repository/public/" }
}

添加依赖:

HTML:


<dependencies>
  <dependency>
    <groupId>com.comphenix.protocol</groupId>
    <artifactId>ProtocolLib</artifactId>
    <version>4.8.0</version>
  </dependency>
  <!-- And so on -->
</dependencies>

Gradle:


dependencies {
   compileOnly group: "com.comphenix.protocol", name: "ProtocolLib", version: "4.8.0";
}

⌨️ 命令

Protocol

主要管理命令,支持以下子命令:

  • config: 重新加载配置文件。
  • check: 检查 BukkitDev 上是否有新版本。
  • version: 显示当前运行的 ProtocolLib 版本。
  • timings: 切换测量每个插件花费的 CPU 时间。
  • listeners: 显示哪些插件正在使用 ProtocolLib,以及它们拦截的数据包类型。

PacketLog

将提供的数据包的十六进制表示形式记录到文件或控制台。

语法: /packetlog <protocol> <sender> <packet> [file/console]

可接受的数据包可以在这里找到。

所有这些命令都需要 protocol.admin 权限。

⚙️ 配置

提供了一小部分配置选项:

全局配置


auto updater.notify: true #Inform any player with the permission protocol.info when a new version of ProtocolLib is out.
auto updater.download: false #Automatically download and install the newest version of ProtocolLib. The installation will take effect when the server restarts.
auto updater.delay: 43200 #The number of seconds between each check for a new update.
auto updater.last: 0 #This simply records the last time (in seconds since 01.01.1970) an update check was performed. Set it to 0 to force a new update check.
metrics: true #If TRUE, ProtocolLib will publish anonymous usage data to mcstats.org. Set it to FALSE to opt-out.
background compiler: true #If TRUE, ProtocolLib will try and improve performance by replacing reflection with compiled code on-the-fly.
ignore version check: None #Force ProtocolLib to start for a specified Minecraft version, even if it is incompatible.

🤝 兼容性

该项目的主要目标之一是实现与不同 Minecraft 版本的最大兼容性。最终结果非常灵活。除了包更改之外,它还应该能够抵抗未来的更改。我可能不需要更新 ProtocolLib,除非是错误修复和新功能。

💡 示例插件

以下是一些使用 ProtocolLib 完成有趣事情的优秀插件。查看它们的源代码(如果可用)以获得一些灵感。

如果您也使用 ProtocolLib 并且想要出现在此列表中,请私信我。

📊 统计

ProtocolLib 通过 BStats 匿名收集统计信息。参与是完全可选的,您可以随时选择退出。通过它可以了解插件运行的环境(即 Spigot、Java 和 ProtocolLib 的版本),这在调整开发方面非常有帮助。

💖 赞助商

如果 ProtocolLib 让您的生活变得更加轻松,或者您觉得特别慷慨,请考虑赞助该项目!这是支持我花费大量时间维护此插件并保持积极性的好方法。如果负担不起,请不要赞助。

https://github.com/sponsors/dmulloy2

非常感谢我的赞助商:

  • Jack1424
  • Plutoren
  • pebblehost
  • Andarius68
  • aternosorg
  • CyanNex
  • Photon
  • Yive

💰 捐赠

您也可以通过 PayPal 进行一次性捐赠(或赞助,请参见上文)

非常感谢那些捐款的人! (如果我错过了您,或者您想保持匿名,请给我发 PM)

  • nathan818 - $1000
  • InstaAE - $150
  • MineCove - $100
  • Lael - $100
  • joehot200 - $75
  • Techcable - $30
  • VintageDon - $25
  • games647 - $25
  • Photon - $15
  • Ltd-Net - $11
  • CultivateMC - $10
  • Axzial - $10
  • snapsi - $5
  • Aberzhulan - $5
  • Art in the Shade - $5

请不要在评论区留下错误报告。这是获得支持的最糟糕的地方,我不会回复。使用 issue tracker(在检查常见错误页面并搜索重复项后),我可以在其中实际诊断和修复您的问题。