跳到主要内容

为什么我们的聊天更好

常见的做法是用好几个插件拼出完整的聊天:格式插件 + 物品展示插件 + 跨服插件 + 禁言插件。每个都很好,但它们是各自设计的,跨服时最容易出问题。 云聊天从第一行代码起就按「跨服」来设计,下面是同样的需求在两种做法下的差别。

一张表看差异​

需求常见的拼装方案CloudChat 云聊天
要装几个插件格式、展示、跨服、禁言各一个,版本要彼此兼容一个(跨服时代理端再放一个,BungeeCord / Velocity 同一个 jar)
跨服公屏通常需要 MySQL 或 Redis 做中转只用代理端的插件消息,不需要任何数据库
跨服物品展示展示数据只在发送者的分流,别的服点开常常是空的或过期展示随消息送到每个分流,别的服点开就是完整内容(附魔、潜影盒、自定义物品)
展示整个背包少见;有的话内容大时容易被截断[inv] 含装备与副手;内容超过原版 32 KB 上限时自动分片再重组,实测 36 格大物品背包完整显示
物品悬停悬停内容由发送者的分流决定每个分流用自己读到的物品重建悬停说明;旧版本分流的物品送到新版本分流时会自动升级数据
跨服私聊需要另一个插件,或只能在同一个分流私聊/msg /r 跨服,不在线马上提示;管理员可监听全服私聊
禁言只在下指令的那个分流有效,或要靠数据库同步全服立即生效;当时没开机的分流,玩家进服时由代理端带过去
玩家输入安全视插件而定,有的允许玩家写点击 / 悬停标签玩家只能用颜色、装饰、渐变;客户端伪造的跨服消息被代理端丢弃
中文多为英文配置,需要自己翻译配置与提示全部中文
价格部分功能需要付费插件永久免费,资源中心登录即领
关于对比

「常见的拼装方案」指的是用多个独立插件分别实现格式、展示、跨服、禁言的组合,不特指某个插件;具体表现依你选用的插件与版本而定。

实测,不是宣传​

2.0 发布前,我们用 BungeeCord + 两台子服 + 自动化机器人,把正式发布的(混淆后的)jar 跑了一遍:

项目结果
跨服公屏、[i] [inv] [ender] 链接与名称✅
在另一个分流打开 [i]、[inv]、[ender],内容正确且拿不走✅
36 格、每格带超长随机名称的背包(超过 32 KB,需要分片)✅ 36/36
跨服私聊、/r 回复、不在线提示✅
本服频道不外流、管理频道只有有权限的人看得到✅
跨服禁言、解禁;分流关机期间下的禁言,开机后仍生效✅
@提及的音效与动作栏提示(跨服)✅
客户端伪造跨服封包✅ 被代理端丢弃

什么情况下最适合云聊天​

  • 有两个以上分流:不想为了聊天多维护一个数据库。
  • 玩家爱晒装备:[inv] 一打,全服都能看。
  • 从旧版聊天插件换过来:第一次启动自动导入 group.yml 聊天格式与 quiz.yml 抢答题库。
  • 想要中文:配置文件逐项中文注释,提示消息全部可改。

目前不包含的功能​

  • 聊天记录写入数据库 / 网页查看(后台日志会记录每一条聊天)
  • 屏蔽某个玩家(/ignore)
  • Folia 服务端