XiaMoHuaHuo_CN
目标是通过bungee获取子服的聊天信息,玩家等
自己对接了Bungee的API搞了几个小时也没明白

是否可能与子服间的插件建立通讯然后获取相关内容?
希望能附上参考文档

附: 已STFW,但是没有结果

MiaoLio
程序间的通讯可以使用 Redis 或 MySQL ,这里用插件消息频道就好。

Bungee 上插件消息频道中文翻译文档: https://mouse0w0.github.io/Bunge ... F%E4%BB%80%E4%B9%88

但是,使用 ProxyServer#getPlayers 这个方法和监听 net.md_5.bungee.api.event.ChatEvent 这个事件不能满足你的需求吗


SumCraft
本帖最后由 SumCraft 于 2022-10-4 10:15 编辑

最近正好在开发需要各个子服务端和Bungee端通讯的插件,
通讯基本就楼上大佬说的两种,一种利用PluginMessage,一种利用消息中间件进行.
PluginMessage唯一问题就是需要通讯的服务器必须至少有一个玩家才能正常运行(我开发和测试的环境是1.12.2,不知道高版本如何).
PluginMessage具体教程的话楼上已经给出.
如果需要BC收到子服务端进行处理的话,需要监听bc上的这个事件PluginMessageEvent
以为PluginMessage必须要求子服务端必须至少一人在线,所以后来我采用了囧大的建议选用了Redis作为消息中间件,同时Redis还能作为缓存.
比如需要同步的玩家数据的服务器,可以用Redis作为玩家数据的缓存,玩家切换子服务端直接从Redis读取已经缓存的数据,速度应该是会比从Mysql读取会快点?redis的学习应该是比较快的,我是通过这个下面的视频从0开始学习redis的,花了半天时间跟着视频里面敲redis的命令,就能入门了.
【【狂神说Java】Redis最新超详细版教程通俗易懂】


XiaMoHuaHuo_CN
SumCraft 发表于 2022-10-4 10:09
最近正好在开发需要各个子服务端和Bungee端通讯的插件,
通讯基本就楼上大佬说的两种,一种利用PluginMessage ...

我希望通过插件消息的方式将子服的数据发送到BC端处理(为什么我会整这种逆向操作),只是为了传递一些Bungee无法监听的内容,请问有没有其他的参考文档(XD)

SumCraft
XiaMoHuaHuo_CN 发表于 2022-10-4 13:52
我希望通过插件消息的方式将子服的数据发送到BC端处理(为什么我会整这种逆向操作),只是为了传递一些Bu ...

可以用PluginMessage的自定义channel.然后在bc插件中监听PluginMessageEvent,就可以收到你从子服务端发送的PluginMessage了