• 欢迎加入MineBBS QQ讨论群:点击查看所有的官方讨论群
  • 我们将于近期对服务器进行迁移,服务可能中断至多2日。请各位安排好自己的访问计划,造成不便敬请谅解!
  • MineBBS入站考试已经上线!想要成为【正式会员】解锁更多功能吗?快来参与吧!【点我去看】
资源图标

原创 前置/API Spigot-online-stats-bridge 玩家在线时长统计(桥接) 1.0.3 1.0.3

完成注册/登录后下载
版权类型
原创
插件中文名称
玩家在线时长统计(桥接)
插件英文名称
Spigot-online-stats-bridge
原帖地址
#
支持的核心(服务端)
  1. Spigot
  2. Paper
前置组件
BCOnlineStats 在线时长统计 https://www.minebbs.com/resources/bconlinestats.16057/
适配版本(Java)
  1. 1.21
  2. 1.20
  3. 1.19
  4. 1.18
  5. 1.17
  6. 1.16
  7. 1.15
  8. 1.14
  9. 1.13
  10. 1.12
  11. 1.8

一、概述​


SpigotOnlineStatsBridge 是一款运行于 Spigot / Paper 服务器的桥接插件,用于接收 BungeeCord 端的在线统计数据,并通过 PlaceholderAPI 提供变量输出接口。


该插件不参与任何统计计算,仅作为数据展示与接口层,专为多服务器网络设计。
(这也就是说我们不支持单服务器,不过单服务器统计在线时长的方法有N种,我想也不需要我们?)

二、引言​


在跨服在线统计系统中,存在一个关键问题:


BungeeCord 负责统计,但 Spigot 才是玩家交互与插件运行的环境。

因此,需要一个中间层来解决:


  • Spigot 无法直接获取 BC 数据
  • 无法在菜单/计分板中展示跨服数据
  • 无法与现有插件生态(PAPI)对接

SpigotOnlineStatsBridge 的设计目标是:


将 BC 计算出的数据同步到 Spigot,并以标准变量形式输出。



三、功能实现​




1️、跨服数据接收​


  • 自动连接 BC 端(TCP 13000)
  • 实时接收:
    • 玩家在线数据
    • 规则变量数据
  • 支持自动重连机制



2️、本地变量缓存​


  • 按玩家 UUID 缓存数据
  • 支持在线/离线查询
  • 避免频繁网络请求



3️、PlaceholderAPI 集成​


  • 自动注册变量
  • 无需手动配置
  • 与所有支持 PAPI 的插件兼容



4️、动态变量注册(核心特性)​


根据 BC 配置自动生成变量:


例如 BC 中:



papi: "bc_onlinetime_daily"


Spigot 自动支持:




%bc_onlinetime_daily%





5️、通用变量支持​


统一变量入口:




%networkstats_<变量名>%



例如:




%networkstats_bc_onlinetime_daily%





6️、高性能设计​


  • 不参与计算
  • 不进行复杂逻辑处理
  • 仅缓存 + 输出

对服务器性能影响极低




四、config.yml 讲解​


路径:




plugins/SpigotOnlineStatsBridge/config.yml





1️、基础配置​




bridge:
host: 127.0.0.1
port: 13000
auth-token: "change_this_token"
server-name: "irontown"





字段说明​


host​


  • BC 服务器地址
  • 同机器可用 127.0.0.1



port​


  • 通信端口(必须与 BC 一致)



auth-token​


  • 鉴权密钥
  • 必须与 BC 配置一致



server-name​


  • 当前 Spigot 服务器名称
  • 必须与 BungeeCord 子服名称一致



五、权限节点配置​


该插件为桥接插件,不涉及权限控制:


无需配置权限节点


所有功能自动运行。




六、配置优势​




1. 零侵入设计​


  • 不影响现有插件
  • 不修改原有逻辑



2. 自动化变量注册​


  • 无需手动添加变量
  • 与 BC 配置完全同步



3. 高兼容性​


支持所有 PAPI 插件,例如:


  • 菜单插件(DeluxeMenus)
  • 计分板插件
  • UI 显示插件
  • RPG 系统



4. 轻量级运行​


  • 无复杂计算
  • 无高频 IO
  • 极低性能消耗



5. 即插即用​


  • 启动自动连接 BC
  • 自动同步数据
  • 自动注册变量



七、适用场景​




小游戏服务器​


  • 在菜单中显示玩家在线时间
  • 展示任务进度



大型服务器​


  • 玩家活跃度展示
  • 在线时间排行榜



奖励系统​


  • 配合菜单发放奖励
  • 实现每日任务 UI



数据展示系统​


  • 面板UI
  • 玩家信息展示
  • 统计系统



八、变量使用示例​




在游戏中测试​




/papi parse me %bc_onlinetime_daily%





在菜单插件中​




lore:
- "今日在线: %bc_onlinetime_daily% 分钟"





在计分板中​




每日在线: %bc_onlinetime_daily%





九、常见问题​




无法连接 BC​


检查:


  • 端口是否一致
  • 防火墙是否放行
  • auth-token 是否匹配



变量不显示​




%bc_onlinetime_daily%



原因:


  • 未安装 PlaceholderAPI
  • 未成功连接 BC
  • 未收到数据同步



数据为 0​


原因:


  • 未满 1 分钟
  • BC 未正确统计
  • 玩家刚上线



变量不存在​


原因:


  • BC 未配置该规则
  • 动态变量未注册



十、总结​


SpigotOnlineStatsBridge 的核心作用是:


将 BC 的在线统计数据转化为标准变量接口,使其能够无缝融入 Spigot 插件生态。
作者
Chirnuo
下载
6
查看
137
首次发布
最后更新

评分

0.00 星 0 次评分

Chirnuo 的其他资源

后退
顶部 底部