Server-In-Server
作者:rebot | 分类:模组
Minecraft 版本: 1.7.2 1.7.3 1.7.4 1.7.5 1.7.6 1.7.7 1.7.8 1.7.9 1.7.10 1.8 1.8.1 1.8.2 1.8.3 1.8.4 1.8.5 1.8.6 1.8.7 1.8.8 1.8.9 1.9 1.9.1 1.9.2 1.9.3 1.9.4 1.10 1.10.1 1.10.2 1.11 1.11.1 1.11.2 1.12 1.12.1 1.12.2 1.13 1.13.1 1.13.2 1.14 1.14.1 1.14.2 1.14.3 1.14.4 1.15 1.15.1 1.15.2 1.16 1.16.1 1.16.2 1.16.3 1.16.4 1.16.5 1.17 1.17.1 1.18 1.18.1 1.18.2 1.19 1.19.1 1.19.2 1.19.3 1.19.4 1.20 1.20.1 1.20.2 1.20.3 1.20.4 1.20.5 1.20.6 1.21 1.21.1 1.21.2 1.21.3 1.21.4 1.21.5 1.21.6 1.21.7 1.21.8 1.21.9 1.21.10 1.21.11 26.1 26.1.1 26.1.2
平台: velocity
标签: management
Server-In-Server
A Velocity plugin that launches and manages Minecraft server instances as child processes directly from the proxy. Configure servers in a single YAML file — the plugin handles starting, stopping, auto-restarting, port assignment, and proxy registration automatically.
How it works
When Velocity starts, the plugin reads plugins/server-in-server/config.yml. For each configured server with auto-start: true, it spawns a new Java process running the specified server jar, generates server.properties with the correct port, optionally accepts the EULA, registers the server in Velocity's proxy, and adds it to velocity.toml. If a server crashes, the plugin can auto-restart it a configurable number of times.
Quick start
- Place the plugin jar in
plugins/ - Start Velocity — the plugin creates
plugins/server-in-server/config.ymlwith a default config - Edit
config.ymlto match your server jars and settings - Run
/sis reloadin the Velocity console to apply changes
Configuration
Global settings
auto-eula: false
lobby-server: "lobby"
| Field | Default | Description |
|---|---|---|
auto-eula |
false |
If true, creates eula.txt with eula=true automatically for every server. If false, you must accept the EULA manually. |
lobby-server |
"" |
Server name to connect players to when they first join the proxy. Leave empty to disable. |
Server entries
servers:
- name: "lobby"
jar: "servers/lobby/server.jar"
directory: "servers/lobby"
port: 0
flags: "-Xmx1G -Xms512M"
auto:
start: true
restart: true
retry-count: 0
stop:
command: "stop"
wait-to-stop: true
wait: 10
| Field | Default | Description |
|---|---|---|
name |
— | Server name used in Velocity and for routing |
jar |
— | Path to the server jar (relative to the proxy directory, or absolute) |
directory |
"servers/<name>" |
Working directory for the server process |
port |
0 |
Server port. 0 = auto-assign (velocityPort + 2 + index) |
flags |
"-Xmx1G -Xms512M" |
JVM arguments passed to java before -jar |
auto.start |
true |
Start this server when Velocity (re)starts |
auto.restart |
false |
Restart the server automatically when it stops/crashes |
auto.retry-count |
0 |
Max restart attempts. 0 = infinite restarts |
stop.command |
"stop" |
Command sent via stdin to gracefully stop the server |
stop.wait-to-stop |
true |
If true, wait for the process to exit before force killing |
stop.wait |
10 |
Seconds to wait before force killing (only if wait-to-stop is true) |
Commands
All commands use the /sis prefix and can be run from the Velocity console or by players with appropriate permissions.
| Command | Description |
|---|---|
/sis start <server> |
Start a configured server |
/sis stop <server> |
Gracefully stop a running server |
/sis restart <server> |
Stop then start a server |
/sis forcestop |
Kill all child processes and shut down Velocity |
/sis reload |
Reload config, stop all servers, start auto-start ones |
/sis list |
Show all configured servers with their status and ports |
/sis com <server> <command> |
Send a console command to a running server |
Port auto-assignment
If port is 0, the plugin calculates it as:
port = velocityBindPort + 2 + serverIndex
Where serverIndex is the server's position in the servers list (0-based).
Example with Velocity on port 25565:
| Index | Server | Calculated port |
|---|---|---|
| 0 | lobby | 25567 |
| 1 | survival | 25568 |
| 2 | creative | 25569 |
velocity.toml integration
On every startup and reload, the plugin scans velocity.toml for the [servers] section and adds or updates entries for all configured servers. Existing entries for other servers are preserved. If the [servers] section does not exist, it is created at the end of the file.
Requirements
- Java 21+
- Velocity 3.5.0-SNAPSHOT (or compatible 3.x)
请登录后举报
暂无评论,抢个沙发吧~