FastJoinBC 是一个面向 BungeeCord、Waterfall 和 FlameCord 离线群组网络的登入路径优化插件。
插件可以在玩家登录代理后快速连接目标子服,并通过定期 Ping 子服预热连接路径,降低首次连接的等待时间。
- B站:目夕像素
- 玩家登录代理后立即连接指定子服
- 支持配置默认目标子服
- 支持连接失败自动重试
- 支持配置回退服务器
- 支持跳过重复子服连接
- 支持定时 Ping 子服预热连接路径
- 支持预热全部子服或指定子服
- 支持记录最近一次登入耗时
- 支持同一 IP 登录冷却
- 支持自定义玩家消息和控制台消息
- 支持配置文件热重载
- 支持 BungeeCord 命令别名
- Java 17 或更高版本
- BungeeCord
- Waterfall
- FlameCord
- Maven 3.x
当前项目使用本地 BungeeCord.jar 作为编译依赖。
- 下载或自行构建
FastJoinBC.jar。 - 将 JAR 文件放入代理服务器的
plugins文件夹。 - 启动代理服务器。
- 修改
plugins/FastJoinBC/config.yml。 - 执行
/fastjoinbc reload重新加载配置。
| 命令 | 别名示例 | 说明 | 权限 |
|---|---|---|---|
/fastjoinbc info |
/fjbc info |
查看版本和开发者信息 | 无 |
/fastjoinbc reload |
/fjbc reload |
重载配置 | fastjoinbc.admin |
/fastjoinbc warmup |
/fjbc warmup |
立即执行一次子服预热 | fastjoinbc.admin |
/fastjoinbc status |
/fjbc status |
查看插件及登入状态 | fastjoinbc.admin |
主命令支持以下别名:
/fjbc
/fjoinbc
| 权限 | 默认情况 | 说明 |
|---|---|---|
fastjoinbc.admin |
由代理权限系统决定 | 允许使用重载、预热和状态命令 |
/fastjoinbc info、/fjbc info 和 /fjoinbc info 无需管理员权限。
执行:
/fastjoinbc info
或者:
/fjbc info
默认显示:
=== FastJoinBC 插件信息 ===
插件名称: FastJoinBC
插件版本: v1.0.0
开发者: B站 / 目夕像素
显示内容可以在 config.yml 中修改:
messages:
command-info:
- "&6=== FastJoinBC 插件信息 ==="
- "&e插件名称: &fFastJoinBC"
- "&e插件版本: &fv{version}"
- "&e开发者: &f{developer}"enabled: true
connect:
target-server: "lobby"
instant-connect: true
skip-if-same-server: true
fallback-server: ""
retry-times: 2
retry-delay-ms: 50
warmup:
enabled: true
servers: []
initial-delay-ms: 500
interval-ms: 30000
ping-timeout-ms: 1000
login:
log-timing: true
log-timing-threshold-ms: 0
ip-cooldown-ms: 0
prepare-target-early: true
feedback:
send-player-messages: falseconnect.target-server 必须与 BungeeCord 配置中的服务器名称一致,例如:
connect:
target-server: "lobby"如果留空,插件会尝试使用代理配置中的服务器。
warmup.servers 留空时会预热代理中配置的全部子服:
warmup:
servers: []也可以指定服务器:
warmup:
servers:
- "lobby"
- "survival"FastJoinBC 主要面向离线群组网络。代理服务器使用在线模式时,插件仍可以运行,但不能绕过 Mojang 在线认证流程。
插件不会绕过 AuthMe 等子服登录插件,密码验证时间不属于代理连接优化范围。
| 占位符 | 说明 |
|---|---|
{prefix} |
消息前缀 |
{version} |
插件版本 |
{developer} |
开发者信息 |
{player} |
玩家名称 |
{server} |
目标子服名称 |
{ms} |
登入耗时 |
{reason} |
失败原因 |
{enabled} |
插件启用状态 |
{online-mode} |
代理在线模式状态 |
{instant} |
立即连接状态 |
{warmup} |
预热状态 |
部分占位符只会在对应消息中生效。
- JDK 17 或更高版本
- Maven 3.x
- BungeeCord 服务端 JAR
将 BungeeCord JAR 放到:
lib/BungeeCord.jar
然后在项目根目录执行:
mvn clean package构建结果位于:
target/FastJoinBC.jar
如果 pom.xml 中配置的 Java 编译器路径在你的计算机上不存在,请修改或移除 maven-compiler-plugin 中的 executable 配置。
- 实际登入速度受到玩家网络延迟影响
- 实际登入速度受到代理和子服之间的网络延迟影响
- 插件无法消除 Mojang 在线认证耗时
- 插件不会绕过 AuthMe 等密码验证插件
- 目标子服未启动时,立即连接仍然会失败
- 过短的预热间隔可能产生不必要的网络请求
ip-cooldown-ms设置过高可能影响正常重连
欢迎通过 Issue 和 Pull Request 提交问题、功能建议及代码改进。
提交代码时请保持对项目目标 Java 版本及 BungeeCord API 的兼容。
本项目使用 MIT License 开源。
FastJoinBC
开发者:B站 / 目夕像素