Salt_lovely
本帖最后由 Salt_lovely 于 2021-5-31 12:20 编辑
ProtocolLib
广为使用的前置插件
作者:dmulloy2与aadnk
什么是ProtocolLib?
ProtocolLib是一个使用广泛的前置插件,为许多常用插件提供支持。如果你的插件无法加载并提示需要ProtocolLib支持,那你一定需要这个插件。
(以下内容翻译自原帖,本人没有相关知识,翻译错误请指出)
(插件的)某些特定的工作不能依靠Bukkit标准API实现,有时你甚至需要直接修改Minecraft来实现它。有一种实现方法就是修改传入/传出的数据包,或者将自定义的数据包注入流(stream)中。这件事做起来非常麻烦,特别是一个新的Minecraft版本出现的时候,你的代码基本就炸了——这主要归咎于mc的代码混淆。
ProtocolLib是一个允许(插件)访问并读写Minecraft协议的库。它会处理反射和注入通道的绝大部分开销,并提供一个包装器简化包的处理。大多数情况下,它会随着Minecraft的更新而更新,所以在理想情况下,依赖本插件的插件不需要随版本更新。ProtocolLib一般不需要跟随mc的小更新而更新,特别是游戏代码没有什么改动的时候。(比如1.8的安全更新)
指令与权限
/protocol
主要的管理员指令,支持如下的子指令
  • config:重新载入插件配置文件
  • check:检查BukkitDev上有无更新
  • version:显示当前插件的版本
  • timings:打开或关闭:检测每个插件的CPU时间
  • listeners:显示正在使用ProtocolLib的插件,以及它们拦截的包的类型

/packetlog
以十六进制记录指定的包,可以放进文件或者显示在控制台
  • 用法:/packetlog <protocol> <sender> <packet> [文件/控制台]
可用的包的类型

以上所有指令需要protocol.admin权限
配置文件
  1. auto updater.notify: true #是否给所有拥有 protocol.info 权限的玩家发送新版本消息
  2. auto updater.download: false #自动下载安装新版本 ProtocolLib ,服务器重启时自动安装
  3. auto updater.delay: 43200 #检查新版本的时间间隔(单位:秒)
  4. auto updater.last: 0 #前一次检查更新的时间 (1970/1/1开始经过的秒数) 设置为0即强制检查更新
  5. metrics: true #设置为 TRUE 的话,ProtocolLib会匿名发送用户数据到mcstats.org,设置为 FALSE 将不这么做
  6. background compiler: true #设置为 TRUE 的话,ProtocolLib会尝试使用动态编译的代码替换反射来提高性能
  7. ignore version check: None #强制 ProtocolLib 在特定的版本中启动,即使该版本不匹配
复制代码

反馈漏洞
在反馈漏洞之前:
  • 先确认自己使用的是最新版的ProtocolLib,你的问题有可能已经在新版中解决了
  • 阅读堆栈跟踪,确认这是ProtocolLib的问题。ProtocolLib的包是com.comphenix.protocol,如果你没看到,那就不是ProtocolLib的问题
反馈漏洞时:
  • 最好使用漏洞追踪器,你也可以在讨论区反馈,但是请不要在评价区反馈
  • 请提供充足的信息,越多越好,一定要提供你的插件版本和服务端版本。
  • 请把错误报告之类的东西贴到pastebin
使用指南
管理员(OP):
  • 下载插件
  • 丢进plugins文件夹
  • 重启服务器
开发者:
  • >>>这里<<<有更多详细信息
兼容性
完全兼容paperspigot,spigot和Bukkit完美运行,理论上兼容任何bukkit衍生端。Cauldron兼容性未知(没有在Cauldron测试过)。


以下是作者的话(本人没有相关知识,如有错误请指出):
这个项目的主要目标是对Craftbukkit(以及衍生服务端)做到最大兼容。最终结果应该是(一个)很灵活的(Protocolib)。除了兼容包的变化,它还应该表现出对版本变化的灵活性。(如果成功的话)我最终除了修修漏洞和添加新功能以外啥都不用做。
我们怎么做到这一点?归根结底是反射(Java反射机制)。基本上,没有任何‘名’是硬编码的——每个字段、方法和类都可以通过查看字段类型、包名称或参数类型推断的。这些东西在不同版本(MC服务端)中表现出高度一致。
下载地址
如果你在使用 Java 16 或 Paper Dev 版的服务端,请使用最新dev构建
如果你在使用1.8-1.16版本的服务端,请使用最新版本
如果你在使用1.7及以下版本的服务端,请使用3.7.0版本
4.6.0

3.7.0
相关内容/链接
关于TinyProtocol:
TinyProtocol是一个轻量级的ProtocolLib替代品。它本质上使用的是一种不适用结构修饰符或包装器来发送/接收原始包的机制。
Maven与Gradle:
统计数据
ProtocolLib使用MCStats收集数据,这是可以随时关闭的功能。不过得知插件的运行环境(包括服务端版本、Java版本、插件版本什么的)对于插件的后续开发很有帮助,作者会根据这些数据来做后续升级。
支持作者
作者在原帖放出的捐助地址
关于本帖
  • MCBBS已经有一个搬运贴了,在https://www.mcbbs.net/thread-444023-1-1.html,因为长期未更新,同时考虑到很多腐竹在忍受国际网络的“超高速”,所以再次搬运。
  • 因为提供了下载地址,加上作原作者不怎么上线,所以我暂未申请搬运


feixiang5201314
我来了233

MisakaFish
噗  蜜汁操作

mc3124076548
9102年了,还有这个啊

末毒没钱花

这个整合包好玩吗,给个建议!

弥猫うた
指令 可用包类型404

Salt_lovely
本帖最后由 Salt_lovely 于 2019-10-29 11:23 编辑
Mucrazy 发表于 2019-10-28 09:18
指令 可用包类型404

刚刚去原帖看过了,链接没搬错,是原帖的链接坏了,已经反馈。感谢指出
@Mucrazy  已经得到作者反馈,换成可用的新地址了

mai1763
1.7.10的服务器最需要这个了,好多插件都用得到的前置

Salt_lovely
本帖最后由 Salt_lovely 于 2019-11-7 13:09 编辑

如果你在使用1.7及以下版本的服务端,请使用3.7.0版本
@mai1763

Nazhi-
感谢大佬搬运

taoge1
换个字的颜色吧,白色有些看的眼睛疼

Missing-Love
global:
  # 自动下载安装新版本ProtocolLib,服务器重启时自动安装
  auto updater:
    notify: false
    download: false
   
    # 检查新版本的时间间隔(单位:秒)
    delay: 43200 # 12小时
  # 设置为true的话,ProtocolLib会匿名发送用户数据到mcstats.org
  metrics: false
  
  # 设置为true的话,ProtocolLib会尝试使用动态编译的代码替换反射来提高性能
  background compiler: true
  
  # 强制ProtocolLib在特定的版本中启动,即使该版本不匹配
  ignore version check:
  
  # 覆盖开始注入方法
  injection method:
  
  # 是否启用过滤器命令
  debug: false
  
  # 是否为每个警告打印堆栈跟踪
  detailed error: false
  
  # filter命令使用的引擎
  script engine: JavaScript
  
  suppressed reports:

以上是新版本配置
最新构建版本以支持1.15.X

SakuraTao
末毒没钱花 发表于 2019-10-27 01:48
这个整合包好玩吗,给个建议!

这个不是整合包哦,属于多人服务器的插件

san799
我来了!!!

zx11
神乎其技!6的飞起!

Mountchuan
spigotmc下载不了

温柔乡呀
前置插件 超多插件都要这个插件 感谢搬运

Salt_lovely

我贴了附件在下载部分,点开隐藏内容就能看到了(spigotmc应该没被墙才对)

lihaoxiang2017
0202年了,还有人发这个插件的帖子

Salt_lovely
lihaoxiang2017 发表于 2020-3-14 12:49
0202年了,还有人发这个插件的帖子

2020年了,依旧有很多服务器需要这个插件,依旧有很多插件依靠这个插件实现功能。

我从1.9时**插件服到现在1.14,没有做过不用这个插件的端

三色堇Cyyy
老哥,为什么我装了这个后,伤害判定就出问题了,我属性插件用的是AP,装了这个插件之后,打怪物,怪物不会掉血了,不仅是mm的怪物,原版怪物也不会掉血了,我服务器版本是1.12的,在之前1.8的时候,倒是没有这个问题,插件什么的也没更换过

Salt_lovely
994712697 发表于 2020-3-20 12:13
老哥,为什么我装了这个后,伤害判定就出问题了,我属性插件用的是AP,装了这个插件之后,打怪物,怪物不会 ...

AP是哪个插件?有没有错误报告?我没有遇到过这样的BUG,spigotmc论坛上没有找到类似的错误报告,请说得详细些或者去问答版发帖提问。

三色堇Cyyy
Salt_lovely 发表于 2020-3-20 12:34
AP是哪个插件?有没有错误报告?我没有遇到过这样的BUG,spigotmc论坛上没有找到类似的错误报告,请说得 ...

AttributePlus,报错之前是有,但是后面没有了,就是装上插件后,不管是mm的怪物还是原版的怪物,打了之后都会不掉血

三色堇Cyyy
Salt_lovely 发表于 2020-3-20 12:34
AP是哪个插件?有没有错误报告?我没有遇到过这样的BUG,spigotmc论坛上没有找到类似的错误报告,请说得 ...

怪物原来就是1500的血,打了几下后还是1500的血

三色堇Cyyy
Salt_lovely 发表于 2020-3-20 12:34
AP是哪个插件?有没有错误报告?我没有遇到过这样的BUG,spigotmc论坛上没有找到类似的错误报告,请说得 ...

啊,已解决,伪装插件问题。。。

Salt_lovely
994712697 发表于 2020-3-20 12:37
AttributePlus,报错之前是有,但是后面没有了,就是装上插件后,不管是mm的怪物还是原版的怪物,打了之 ...

先确认一下你的服务端版本,有没有下载正确的插件版本?
/protocol listeners 检查一下这个插件有没有监听别的插件的包?
你的问题我毫无头绪,现在也没有合适的测试环境,实在帮不了你。。。
要不先卸载了这个插件排除一下是不是这个插件的问题?
如果你在使用CraftBukkit的服务端,请使用最新dev构建
如果你在使用1.8-1.15版本的服务端,请使用最新版本
如果你在使用1.7及以下版本的服务端,请使用3.7.0版本
(4.5.0可用于1.14、1.15,其实无需下载最新dev构建)

amigo6666
谢谢搬运!qwq

amigo6666
实测1.15.2不能用,玩家进不去,后台提示/127.0.0.1:60988 lost connection: Internal Exception: io.netty.handler.codec.DecoderException: java.lang.NullPointerException

Salt_lovely
amigo6666 发表于 2020-3-30 15:17
实测1.15.2不能用,玩家进不去,后台提示/127.0.0.1:60988 lost connection: Internal Exception: io.netty ...

Bukkit还是Spigot还是Paper?

如果是Bukkit的话请使用这个

如果是Spigot或者Paper的话请告诉我你安装了哪些以Protocolib为前置的插件、安装的Protocolib插件是原帖下载的最新版还是本贴搬运的版本、后台报错的详细内容截图,我解决不了的话会去原帖上报。

amigo6666
Salt_lovely 发表于 2020-3-30 15:55
Bukkit还是Spigot还是Paper?

如果是Bukkit的话请使用这个

装上玩家一进就报错,不管给哪个插件当前置,只要装上这插件就出这毛病,paper和spigot一样都测试过了

amigo6666
amigo6666 发表于 2020-4-1 17:50
装上玩家一进就报错,不管给哪个插件当前置,只要装上这插件就出这毛病,paper和spigot一样都测试过了 ...

之前找过好几个地方的protocolib都是一样的

Salt_lovely
amigo6666 发表于 2020-4-1 17:50
装上玩家一进就报错,不管给哪个插件当前置,只要装上这插件就出这毛病,paper和spigot一样都测试过了 ...

什么版本的服务端,装了哪些插件?

(如果问题过于复杂建议去问答版)

amigo6666
Salt_lovely 发表于 2020-4-1 18:22
什么版本的服务端,装了哪些插件?

(如果问题过于复杂建议去问答版) ...

1.15.2,paper131,装了许许多多非常复杂的插件,但是我认为应 该 不 是 其 他 插 件 的 问 题?

Salt_lovely
amigo6666 发表于 2020-4-1 20:15
1.15.2,paper131,装了许许多多非常复杂的插件,但是我认为应 该 不 是 其 他 插 件 的 问 题? ...

我觉得应 该 是 其 他 插 件 的 问 题?
spigotmc上面没看到类似的问题(都是1.8的在报错),我在联机问答板块水了那么久也没看到什么1.15装上Protocollib就开始刷报错。

你可以去问答版提问尝试解决这个问题。

amigo6666
Salt_lovely 发表于 2020-4-1 20:30
我觉得应 该 是 其 他 插 件 的 问 题?
spigotmc上面没看到类似的问题(都是1.8的在报错),我在联机问 ...

不是刷报错,是玩家进不去啊啊啊
一进去后台就提示那玩意然后就没下文了

amigo6666
改天我截图再说吧

尹吹小萌
感谢作者大大,而且为什么头像都是反的

Salt_lovely
IamtheDoctor 发表于 2020-4-1 22:41
感谢作者大大,而且为什么头像都是反的

是作者,我只是搬运工

[BUG]头像翻转?
https://www.mcbbs.net/thread-1004263-1-1.html
(出处: Minecraft(我的世界)中文论坛)

amigo6666
amigo6666 发表于 2020-4-1 20:49
不是刷报错,是玩家进不去啊啊啊
一进去后台就提示那玩意然后就没下文了 ...

安装AAC使用此前置后疯狂报错,意料之外情理之中

amigo6666
amigo6666 发表于 2020-4-11 21:43
安装AAC使用此前置后疯狂报错,意料之外情理之中

奇怪的是我用了一个整合包里的PL就不会出现这个问题

amigo6666
以pl作为前置的AAC插件疯狂刷起了报错(如下图)请大佬解答qwq

Salt_lovely
amigo6666 发表于 2020-4-12 08:07
以pl作为前置的AAC插件疯狂刷起了报错(如下图)请大佬解答qwq

https://www.spigotmc.org/resourc ... -aura-blocker.6442/
升级版本

sauce_mai
谢谢分享,实用的前置插件

Windows10和7
ProtocolSupportSwordBlocking不用愁了

Aden123
6666666666666666666666

azz185
快被气死了,下这个不到2M的插件,能下俩小时

岁月静好、
感谢搬运

施Bq
感谢楼主的分享

猫宫最可爱
感谢楼主的资源分享~

第四类接触
amigo6666 发表于 2020-3-29 21:17
实测1.15.2不能用,玩家进不去,后台提示/127.0.0.1:60988 lost connection: Internal Exception: io.netty ...

兄弟我也遇到这个问题了,最后怎么解决的

第一页 上一页 下一页 最后一页