CommandSync

CommandSync - 指令同步插件

非官方更新
Bukkit / Spigot 作者 glavrak 支持版本 1.8 - 1.20.6
服务器使用量
未统计
服务玩家数
未统计
下载量
5,209
插件详细介绍

关于 CommandSync

CommandSync 是一款功能强大的跨服务器命令同步插件。它允许你从一个 Minecraft 服务器向其他服务器、BungeeCord/Velocity 代理,甚至特定玩家发送并执行命令。本插件基于 Java 网络通信,比传统的插件消息系统更可靠,并支持跨不同代理实例的服务器集群。

支持的平台

代理端 (必需)

  • Velocity (插件版本 2.8+)
  • BungeeCord
  • WaterFall
  • 其他 BungeeCord 分支

服务端 (Minecraft 服务器)

  • SpongeVanilla / SpongeForge (API 7/8+)
  • Bukkit, Spigot, PaperSpigot 等
  • 理论上支持 ForgeBukkit 服务器 (未测试)
  • Fabric (需要 Cardboard mod)

重要提示:插件在仅提供 1 个连接端口的托管服务上很可能无法正常工作!为实现完整功能,需要 VDS/VPS 或独立服务器。

安装指南

请完整阅读以下步骤后再进行安装。

  • 下载插件
- 下载 `CommandSync.jar` 文件。
  • 安装到代理端 (BungeeCord/Velocity)
- 停止你的 BungeeCord/Velocity 服务器。
- 将 `CommandSync.jar` 放入代理服务器的 `plugins` 文件夹。
- 启动代理服务器,然后再次停止它。
- 编辑 `<代理端目录>/plugins/CommandSync/config.txt`,设置 `pass` (密码) 字段。
- 启动代理服务器。
  • 安装到服务端 (Minecraft 服务器)
- 停止你的所有 Minecraft 服务器。
- 将 `CommandSync.jar` 放入每个 Minecraft 服务器的 `plugins` (或 `mods`) 文件夹。这些服务器可以不属于同一个代理网络。
- 启动所有 Minecraft 服务器,然后再次停止它们。
- 编辑每个服务器的配置文件:
- Bukkit系: `<服务器目录>/plugins/CommandSync/config.txt`
- Sponge系: `<服务器目录>/config/commandsync/config.txt`
- 在每个配置文件中,设置一个**唯一的** `name` (标识名,例如:survival, creative) 以及和代理端配置中相同的 `pass` (密码)。
- 启动所有 Minecraft 服务器。

完成!现在插件应该可以正常工作了。

使用方法与命令

基础命令格式

所有命令均在 Minecraft 服务器内执行。

  • /sync - 查看帮助菜单。
  • /sync console <目标> <命令...> - 向控制台发送命令。
  • /sync player <目标> <命令...> - 使玩家执行命令。
  • /proxysync <参数> - 在代理服务器上执行,功能与 /sync 类似。

命令示例

向所有服务器控制台发送命令:

  • /sync console all broadcast 大家好!

向特定标识的服务器控制台发送命令:

  • /sync console survival broadcast 生存服玩家好!

向代理服务器控制台发送命令:

  • /sync console bungee alert 注意!

使所有在线玩家执行命令:

  • /sync player all me 打了个招呼

使特定玩家执行命令:

  • /sync player Steve give Steve diamond 1

注意:当使玩家执行命令时,该玩家必须拥有执行该命令的权限。

核心特性

  • 基于 Java 网络:比插件消息系统更可靠,消除了许多错误,支持跨不同代理网络的服务器同步命令。
  • 智能队列
- 如果 CommandSyncServer 离线,命令会被保存并在其恢复在线后执行。
- 如果目标 Minecraft 服务器离线,命令会等待其上线。
- 如果目标玩家离线,命令会等待其上线再执行。
  • 数据持久化:所有命令队列在服务器关闭时都会保存到文件,确保即使经历长时间停机,命令也能在恢复后尽快执行。
  • 安全授权:通过密码进行安全认证,保障跨网络连接。
  • 调试日志:可启用调试模式,将日志记录到 log.txt 文件。

配置说明

CommandSyncServer (代理端配置)

文件位置:<代理端>/plugins/CommandSync/config.txt

  • ip - CommandSyncServer 尝试绑定的 IP 地址。
  • port - CommandSyncServer 尝试绑定的端口。
  • heartbeat - 处理数据的频率(毫秒)。
  • pass - 所有客户端必须使用的授权密码。设置为 UNSET 时插件不工作。
  • debug - 设为 true 时,所有调试信息将保存到 log.txt
  • removedata - 设为 true 时,将删除 data.txt 文件。
  • lang - 选择插件使用的语言。你可以基于现有文件创建自己的语言文件。

CommandSyncClient (服务端配置)

文件位置:<服务端>/plugins/CommandSync/config.txt<服务端>/config/commandsync/config.txt

  • ip - CommandSyncClient 尝试连接的 IP 地址。
  • port - CommandSyncClient 尝试连接的端口。
  • heartbeat - 处理数据的频率(毫秒)。
  • name - 客户端的唯一标识符,用于 /sync console <标识> 命令。设置为 UNSET 时插件不工作。
  • pass - 客户端用于向服务器授权的密码。必须与代理端 pass 一致。设置为 UNSET 时插件不工作。
  • debug - 设为 true 时,所有调试信息将保存到 log.txt
  • removedata - 设为 true 时,将删除 data.txt 文件。
  • lang - 选择插件使用的语言。

内部机制与数据管理

工作原理简图

  • /sync 命令在单个 CSC (客户端) 上执行。
  • 该 CSC 将命令发送到 CSS (服务器端)。
  • CSS 根据命令目标,将命令转发给:
- 所有 CSC (`all`)
- 特定的 CSC (`<server>`)
- 代理控制台 (`bungee`)
- 在线玩家

数据文件 (`data.txt`)

插件使用 data.txt 来跟踪命令队列和同步状态。

  • CSC 保存
- 所有已发送的字符串命令(永不清除)。
- 一个表示发送命令进度的整数值。
  • CSS 保存
- 所有接收到的字符串命令(永不清除)。
- 每个 CSC 的命令进度值(永不清除)。
- 为离线玩家排队的命令(执行后清除)。

警告:删除任何数据(离线玩家队列除外)都可能导致 CSS 和 CSC 不同步,造成命令重复执行。如果服务器崩溃导致数据未保存,也可能发生此情况。

安全重置数据

如果你确信所有命令都已成功处理,并想重置保存的数据,请按以下步骤操作:

  • 关闭运行 CSS 的 Bungee 服务器和所有运行 CSC 的 MC 服务器。
  • 删除所有 data.txt 文件,位置通常在:
- `Bungee/plugins/CommandSync/data.txt`
- `Bukkit Server/plugins/CommandSync/data.txt`
- `Sponge Server/config/CommandSync/data.txt`
  • 启动所有服务器。

权限

  • sync.use - 授予使用 /sync 命令的权限。默认:OP(管理员)。

更新日志摘要

  • v2.8.2: 修复了 sync console player 命令的消息问题;修复了 SpongeForge 上语言文件保存的问题。
  • v2.8.1: 修复了 SpongeForge 上的日志消息。
  • v2.8: 新增 Velocity 支持;移除了不必要的代码;修复了从代理服务器发送命令时玩家不执行命令的 Bug。
  • v2.7: 将支持的 SpongeAPI 版本改为 8。
  • v2.6: 新增按玩家昵称发送命令的筛选功能;为代理服务器添加了 proxysync 命令。
  • v2.5: 统一为单个 JAR 文件;更改了 Sponge API 上的插件 ID;修复了权限和本地化错误。
  • 更早版本: 增加了 Sponge 支持、本地化选项,并进行了完全重写,改用 Java 网络。

---

原始插件链接:https://www.spigotmc.org/resources/commandsync.27014/

如果你在特定版本上成功运行了本插件,请向开发者反馈。

测试支持版本
1.8 1.9 1.10 1.11 1.12 1.13 1.14 1.15 1.16 1.17 1.18 1.19 1.20 1.20.6
版本分布
基本信息
插件名称 CommandSync
作者 glavrak
平台 Bukkit / Spigot
支持版本 1.8 - 1.20.6
点赞数 12
最近版本
暂无数据 -