1.0.0
Compatibility
Changes
English
Velocity RCON
Adds an RCON (Remote Console) server to a Velocity proxy, using the standard RCON protocol. Connect with any standard RCON client (mcrcon, py3rcon, …) and run proxy commands remotely — commands execute with console-level permissions.
Works on Velocity 3.3.x, 3.4.0, 3.5.1, and 4.0.0.
Features
- Standard RCON protocol (little-endian packets,
mcrcon-compatible), including the vanilla-compatible login handshake - Commands run through Velocity's
CommandManagerwith console-level permissions - Source IP whitelist (exact IP + IPv4 CIDR)
- Connection limit and idle timeout
/vrconmanagement command: reload config, status, start / stop- Auto-generates a default config file
- Single source codebase builds for 3.3.x / 3.x / 4.0.0 via Maven profiles
Version support
The same source code produces three jars. All of them are functionally identical — the RCON protocol handling, commands, and configuration are exactly the same. They differ only in which Velocity proxy they run on and the required Java version:
| Jar | Velocity proxy | Java | Build command |
|---|---|---|---|
velocity-rcon.jar |
4.0.0 | 25+ | mvn clean package |
velocity-rcon-3.x.jar |
3.4.0 / 3.5.1 | 17+ | mvn clean package -P velocity3 |
velocity-rcon-3.3.x.jar |
3.3.x (3.3.0-SNAPSHOT) |
17+ | mvn clean package -P velocity33 |
Key points:
- Support: pick the jar that matches your proxy's Velocity version. Do not run the 4.0.0 jar on a 3.x proxy, or a 3.x jar on a 4.0.0 proxy — each jar is compiled against (and works with) one API generation.
- The only real difference is the Java requirement. The 4.0.0 jar needs Java 25+ (Velocity 4.0.0 itself is built for Java 25); the 3.x jars run on Java 17+.
- 3.3.x was never formally released by the Velocity team — it exists only as
3.3.0-SNAPSHOT. Its API is identical to 3.4.0/3.5.1, so the 3.3.x build works on that snapshot. Thevelocity33profile depends on the snapshot artifact, which may be cleaned from the repository someday. - Features, config,
/vrconcommand, and RCON protocol behavior are identical across all three jars.
Requirements
| Component | Version |
|---|---|
| Velocity | 3.3.x (SNAPSHOT), 3.4.0, 3.5.1, or 4.0.0 |
| Java | 17+; 4.0.0 needs Java 25+ (build JDK ≥ 25, e.g. JDK 26) |
Installation
- Place
velocity-rcon.jar(orvelocity-rcon-3.x.jarfor 3.x) into the proxy'splugins/folder. - Restart the proxy. The default config is created at
plugins/velocity-rcon/config.yml. - Edit the config and restart, or run
/vrcon reloadto hot-reload.
Configuration (plugins/velocity-rcon/config.yml)
enabled: true # Whether the RCON server is enabled
host: "0.0.0.0" # Bind address
port: 25575 # Listen port
password: "change_me" # RCON password (required)
allowed-ips: [] # Source IP whitelist; empty = allow all
max-clients: 3 # Max concurrent connections
response-delay-ms: 100 # Extra wait (ms) to collect async command output
Usage
Manage via console (or with the velocityrcon.admin permission):
/vrcon reload # Reload config and restart the RCON server
/vrcon status # Show running state, port, connection count
/vrcon start # Start the RCON server
/vrcon stop # Stop the RCON server
Connect with mcrcon:
mcrcon --host 127.0.0.1 --port 25575 --password change_me "list"
mcrcon --host 127.0.0.1 --port 25575 --password change_me # interactive console
Security
- Never expose the RCON port to the public internet — the password is transmitted in plaintext and commands run with console-level permissions.
- Bind to
127.0.0.1and manage remotely via an SSH tunnel. If you must expose it, setallowed-ipsand use a firewall. - Change the default password.
Building from source
# Velocity 4.0.0 (default)
mvn clean package
# Velocity 3.x releases (3.4.0 / 3.5.1)
mvn clean package -P velocity3
# Velocity 3.3.x (3.3.0-SNAPSHOT)
mvn clean package -P velocity33
Requires a JDK ≥ 25 (e.g. JDK 26) to build. Outputs:
target/velocity-rcon.jar, target/velocity-rcon-3.x.jar, or target/velocity-rcon-3.3.x.jar
(build one at a time — they overwrite target/).
Authors
LiquidTeam, YuHongChen — GitHub repository
中文
Velocity RCON
为 Velocity 代理端提供标准 RCON(远程控制台) 能力,使用 RCON 协议。配合任意标准 RCON 客户端(mcrcon、py3rcon 等)即可远程执行代理端命令,命令拥有控制台级权限。
支持 Velocity 3.3.x、3.4.0、3.5.1、4.0.0。
功能特性
- 标准 RCON 协议(小端序数据包、兼容
mcrcon),含原版 Minecraft 兼容的登录握手 - 命令通过 Velocity 的
CommandManager执行,权限等同代理端控制台 - 来源 IP 白名单(精确 IP + IPv4 CIDR)
- 连接数上限、空闲超时
/vrcon管理命令:重载配置、查看状态、启停服务- 自动生成默认配置文件
- 一份源码通过 Maven profile 同时支持 3.3.x / 3.x / 4.0.0 构建
版本支持
同一份源码可产出三个 jar,功能完全相同——RCON 协议处理、命令与配置完全一致,区别仅在所适配的 Velocity 代理端版本与所需的 Java 版本:
| jar | 适配 Velocity | Java | 构建命令 |
|---|---|---|---|
velocity-rcon.jar |
4.0.0 | 25+ | mvn clean package |
velocity-rcon-3.x.jar |
3.4.0 / 3.5.1 | 17+ | mvn clean package -P velocity3 |
velocity-rcon-3.3.x.jar |
3.3.x(3.3.0-SNAPSHOT) |
17+ | mvn clean package -P velocity33 |
要点:
- 支持范围:按代理端的 Velocity 版本选择对应 jar。不要把 4.0.0 的 jar 放到 3.x 代理端,也不要把 3.x 的 jar 放到 4.0.0 代理端——每个 jar 都是针对对应一代 API 编译的。
- 真正的区别只有 Java 版本要求:4.0.0 jar 需要 Java 25+(Velocity 4.0.0 本身即为 Java 25 构建);3.x jar 运行在 Java 17+。
- 3.3.x 从未由 Velocity 官方正式发布,只有
3.3.0-SNAPSHOT快照;其 API 与 3.4.0/3.5.1 相同,因此 3.3.x 构建可用于该快照。velocity33profile 依赖快照构件,日后仓库清理快照后可能失效。 - 功能、配置、
/vrcon命令与 RCON 协议行为在三个 jar 中完全一致。
环境要求
| 组件 | 版本 |
|---|---|
| Velocity | 3.3.x(SNAPSHOT)、3.4.0、3.5.1 或 4.0.0 |
| Java | 17+;4.0.0 需要 Java 25+(构建 JDK ≥ 25,如 JDK 26) |
安装
- 将
velocity-rcon.jar(3.x 用velocity-rcon-3.x.jar)放入代理端plugins/目录。 - 重启代理端,自动生成默认配置
plugins/velocity-rcon/config.yml。 - 编辑配置后重启,或在代理端执行
/vrcon reload热重载。
配置(plugins/velocity-rcon/config.yml)
enabled: true # 是否启用 RCON
host: "0.0.0.0" # 监听地址
port: 25575 # 监听端口
password: "change_me" # RCON 密码(必填)
allowed-ips: [] # 来源 IP 白名单,空=全部放行
max-clients: 3 # 最大同时连接数
response-delay-ms: 100 # 额外等待毫秒数,用于收集异步命令输出
使用方法
控制台(或拥有 velocityrcon.admin 权限者)执行:
/vrcon reload # 重新读取配置并重启 RCON 服务
/vrcon status # 查看运行状态、端口、当前连接数
/vrcon start # 启动 RCON 服务
/vrcon stop # 停止 RCON 服务
mcrcon 连接示例:
mcrcon --host 127.0.0.1 --port 25575 --password change_me "list"
mcrcon --host 127.0.0.1 --port 25575 --password change_me # 交互式控制台
安全注意事项
- 不要把 RCON 端口暴露到公网——密码明文传输,且命令拥有控制台级权限。
- 建议
host填127.0.0.1,通过 SSH 隧道远程管理;如必须对外,请设置allowed-ips并配合防火墙。 - 请务必修改默认密码。
从源码构建
# Velocity 4.0.0(默认)
mvn clean package
# Velocity 3.x 正式版(3.4.0 / 3.5.1)
mvn clean package -P velocity3
# Velocity 3.3.x(3.3.0-SNAPSHOT)
mvn clean package -P velocity33
构建需要 JDK ≥ 25(如 JDK 26)。产物:target/velocity-rcon.jar、target/velocity-rcon-3.x.jar 或 target/velocity-rcon-3.3.x.jar(一次构建一个,会互相覆盖 target/)。
作者
LiquidTeam、YuHongChen —— GitHub 仓库
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle. To learn more about the Modrinth Maven API, click here.
Note: When available, you should use the creator's maven repo instead as it will have transitive dependency information that the Modrinth Maven API does not. You may also end up with duplicate dependencies if you use a mix of Modrinth and non-Modrinth Maven repositories for your dependencies, because the group identifier will be different when served through the Modrinth Maven API.
Maven coordinates:
Version ID:
build.gradle:
repositories {
exclusiveContent {
forRepository {
maven {
name = "Modrinth"
url = "https://api.modrinth.com/maven"
}
}
// forRepositories(fg.repository) // Uncomment when using ForgeGradle
filter {
includeGroup "maven.modrinth"
}
}
}
// Standard Gradle dependency
dependencies {
implementation "maven.modrinth:dNEoLOyo:k4qGGd7e"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:dNEoLOyo:k4qGGd7e"
}

