Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 

Repository files navigation

FastJoinBC

FastJoinBC 是一个面向 BungeeCord、Waterfall 和 FlameCord 离线群组网络的登入路径优化插件。

插件可以在玩家登录代理后快速连接目标子服,并通过定期 Ping 子服预热连接路径,降低首次连接的等待时间。

开发者

  • B站:目夕像素

功能

  • 玩家登录代理后立即连接指定子服
  • 支持配置默认目标子服
  • 支持连接失败自动重试
  • 支持配置回退服务器
  • 支持跳过重复子服连接
  • 支持定时 Ping 子服预热连接路径
  • 支持预热全部子服或指定子服
  • 支持记录最近一次登入耗时
  • 支持同一 IP 登录冷却
  • 支持自定义玩家消息和控制台消息
  • 支持配置文件热重载
  • 支持 BungeeCord 命令别名

支持环境

  • Java 17 或更高版本
  • BungeeCord
  • Waterfall
  • FlameCord
  • Maven 3.x

当前项目使用本地 BungeeCord.jar 作为编译依赖。

安装

  1. 下载或自行构建 FastJoinBC.jar
  2. 将 JAR 文件放入代理服务器的 plugins 文件夹。
  3. 启动代理服务器。
  4. 修改 plugins/FastJoinBC/config.yml
  5. 执行 /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: false

配置说明

目标子服

connect.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站 / 目夕像素

About

FastJoinBC是一个专为BungeeCord及其分支开发的优化插件,以优化登入速度

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages