Compatibility
Minecraft: Java Edition
1.21.x
1.20.x
1.19.x
1.18.x
1.17.x
1.16.x
1.15.x
1.14.x
1.13.x
1.12.x
1.11.x
1.10.x
1.9.x
1.8.x
1.7.x
Platforms
Links
Creators
Details
Licensed MIT
Published 6 days ago
Updated last week
This plugin provides a lightweight HTTP API that exports the real-time status of all Velocity backend servers in JSON format.
Exported fields are fully configurable via plugins/velostat/config.yml, allowing safe public exposure.
The game version is for all versions supported by Velocity 3.4.0-SNAPSHOT as it is added to the proxy server only. The game version must be specified and is specified, but see the Server compatibility for details.
Installation
- Download the latest release of the plugin
- Put
velostat-x.x.jarin /plugins directory of velocity
This completes the process!
Config reference
| Setting name | Description | Default |
|---|---|---|
api.port |
The port number for the internal HTTP server to listen on. | 8080 |
ping.interval_seconds |
The interval (in seconds) at which the plugin pings sub-servers to collect status. | 10 |
export.server.name |
Whether to include the server name (defined in Velocity) in the JSON output. | true |
export.server.address |
Whether to include the server address in the JSON output. | true |
export.server.status |
Whether to include the online/offline status in the JSON output. | true |
export.server.motd |
Whether to include the server's MOTD (Message of the Day) in the JSON output. | true |
export.server.players |
Whether to include player counts (online/max) in the JSON output. | true |
export.server.version |
Whether to include the game version name and protocol version in the JSON output. | true |
export.server.updated_at |
Whether to include the last update timestamp in the JSON output. | true |
Example Json output
Accessing http://<SERVER_IP>:<PORT>/status will return data with a Content-Type: application/json.
FULL data
{
"lobby": {
"name": "lobby",
"address": "127.0.0.1:25565",
"online": true,
"motd": "Welcome to the Lobby!",
"players": {
"online": 12,
"max": 100
},
"version": {
"name": "Paper 1.21.1",
"protocol": 767
},
"updated_at": 1704681000000
},
"survival": {
"name": "survival",
"address": "127.0.0.1:25566",
"online": false,
"motd": null,
"players": {
"online": 0,
"max": 0
},
"version": null,
"updated_at": 1704681000000
}
}
Configured data
{
"lobby": {
"name": "lobby",
"online": true,
"motd": "Welcome to the Lobby!",
"players": {
"online": 12,
"max": 100
},
"updated_at": 1704681000000
},
"survival": {
"name": "survival",
"online": false,
"motd": null,
"players": {
"online": 0,
"max": 0
},
"updated_at": 1704681000000
}
}
Field Description
Root Object
| Field | Type | Description |
|---|---|---|
servers |
array |
List of servers defined in velocity.toml |
Server Object
| Field | Type | Description |
|---|---|---|
name |
string |
Server name defined in [servers] section of velocity.toml |
address |
string |
Server address (host:port) |
online |
boolean |
Whether the server responded to a ping |
motd |
string |
Server MOTD (may contain legacy color codes) |
players |
object |
Player information (only present if enabled and server is online) |
version |
object |
Minecraft version information |
updated_at |
number |
Last update timestamp(UNIX time) |
Players Object
| Field | Type | Description |
|---|---|---|
online |
number |
Current number of online players |
max |
number |
Maximum player capacity |
Version Object
| Field | Type | Description |
|---|---|---|
name |
string |
Version name reported by the server |
protocol |
number |
Minecraft protocol version |
Notes
- Fields may be omitted depending on
config.ymlsettings. - If a server is offline, only
name,address, andonlineare guaranteed. - This API is intended for internal dashboards, status pages, or monitoring tools.
Issue and question
If the plugin does not work properly, try deleting config.yml.
Problems and questions feature request here.



