Berry is a CLI tool for creating and managing Minecraft servers with great support for Paper, Velocity, and other server software.
Clone the repository and run ./install.bat or bash ./install.sh to install berry globally.
Create a new Minecraft server with custom options.
Usage:
$ berry create [options]Flags:
| Flag | Description | Default |
|---|---|---|
-n, --name <name> |
Name of the server | Prompted if not provided |
-v, --version <version> |
Minecraft version | Latest available for the chosen software |
-b, --build <build> |
Specific server software build | Latest available |
-s, --software <software> |
Server software (Paper, Velocity) |
Prompted if not provided |
-d, --dir <path> |
Server installation path | Current working directory |
-p, --port <port> |
Server port | 25565 |
-a, --auto-start |
Automatically start server after installation | false |
--velocity |
Enable Velocity proxy support (Paper only) | false |
--velocity-secret <secret> |
Velocity forwarding secret (Paper only) | Randomly generated if --velocity is enabled |
--docker |
Use Docker for server | Prompted if not provided |
--no-docker |
Disable Docker | false |
--no-velocity |
Disable Velocity proxy (Paper only) | false |
--motd <motd> |
Server MOTD | "A Minecraft Server" |
--rcon |
Enable RCON | false |
--rcon-port <port> |
RCON port | 25575 |
--rcon-password <password> |
RCON password | Random if --rcon is enabled and no password is provided |
-e, --eula |
Accept the Minecraft EULA | Prompted if not provided |
Notes:
Paperservers can use Velocity proxy with the--velocityflag.- If you do not provide a
--velocity-secretor--rcon-password, a random secret/password will be generated automatically. - The
--dockerflag allows running servers inside Docker containers. - Ports default to
25565for Minecraft servers and25575for RCON, but can be customized per server.
Create multiple servers from a JSON configuration file.
Usage:
berry bulk -f <file>Flags:
| Flag | Description |
|---|---|
-f, --file <path> |
Path to a JSON file containing multiple server configurations |
Notes:
- Supports the same configuration options as
berry create. - Can automatically generate RCON passwords and Velocity secrets if set to
"random"in the JSON file. - Processes servers in order to handle dependencies (e.g., copying Velocity secrets).
JSON Schema Example:
[
{
"name": "MyPaperServer",
"softwareName": "Paper",
"port": 25565,
"motd": "Welcome to my server!",
"eulaAccepted": true,
"useDocker": false,
"useVelocity": true,
"velocitySecret": "copy MyVelocityProxy" // this is valid, and copies the secret from MyVelocityProxy
"version": "1.20.1",
"build": 123,
"servers": ["EpicServer1", "EpicServer2"],
"rcon": true,
"rconPort": 25575,
"rconPassword": "random"
},
{
"name": "MyVelocityProxy",
"softwareName": "Velocity",
"port": 25577,
"motd": "Velocity Proxy",
"eulaAccepted": true,
"useDocker": false,
"useVelocity": false,
"velocitySecret": "random",
"rcon": false
}
]Field Definitions:
| Field | Type | Description |
|---|---|---|
name |
string | Name of the server |
softwareName |
string | Name of the software (Paper, Velocity, etc.) |
software |
object (optional) | Software definition object populated internally |
port |
number | Server port |
motd |
string | Server MOTD |
eulaAccepted |
boolean | Whether the EULA is accepted |
useDocker |
boolean | Whether to run the server in Docker |
useVelocity |
boolean | Enable Velocity proxy support (Paper only) |
velocitySecret |
string (optional) | Velocity forwarding secret |
version |
string (optional) | Minecraft version |
build |
number (optional) | Specific server software build |
servers |
string[] (optional) | Dependent sub-servers or linked servers |
rcon |
boolean | Enable RCON |
rconPort |
number (optional) | RCON port |
rconPassword |
string (optional) | RCON password (can be "random" to auto-generate) |
Execute a console command on a running server via RCON.
Usage:
berry exec <server-name> <command...>Notes:
- The server must have RCON enabled (
--rcon). - RCON must be supported by the server software.
- Example:
berry exec myserver "say Hello, world!"This will send a say "Hello, world!" command to the specified server.
berrysupports multiple server software types:Paper,Velocity.- Ports default to
25565for Minecraft and25575for RCON but can be customized. - Velocity proxy is only supported for Paper servers.
- Random secrets and passwords are generated when
"random"is specified or not provided.