Skip to content

Latest commit

History

9 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Berry

Berry is a CLI tool for creating and managing Minecraft servers with great support for Paper, Velocity, and other server software.

Installation

Clone the repository and run ./install.bat or bash ./install.sh to install berry globally.

Commands

berry create

Create a new Minecraft server with custom options.

Usage:

$ berry create [options]

Flags:

FlagDescriptionDefault
-n, --name <name>Name of the serverPrompted if not provided
-v, --version <version>Minecraft versionLatest available for the chosen software
-b, --build <build>Specific server software buildLatest available
-s, --software <software>Server software (Paper, Velocity)Prompted if not provided
-d, --dir <path>Server installation pathCurrent working directory
-p, --port <port>Server port25565
-a, --auto-startAutomatically start server after installationfalse
--velocityEnable Velocity proxy support (Paper only)false
--velocity-secret <secret>Velocity forwarding secret (Paper only)Randomly generated if --velocity is enabled
--dockerUse Docker for serverPrompted if not provided
--no-dockerDisable Dockerfalse
--no-velocityDisable Velocity proxy (Paper only)false
--motd <motd>Server MOTD"A Minecraft Server"
--rconEnable RCONfalse
--rcon-port <port>RCON port25575
--rcon-password <password>RCON passwordRandom if --rcon is enabled and no password is provided
-e, --eulaAccept the Minecraft EULAPrompted if not provided

Notes:

  • Paper servers can use Velocity proxy with the --velocity flag.
  • If you do not provide a --velocity-secret or --rcon-password, a random secret/password will be generated automatically.
  • The --docker flag allows running servers inside Docker containers.
  • Ports default to 25565 for Minecraft servers and 25575 for RCON, but can be customized per server.

berry bulk

Create multiple servers from a JSON configuration file.

Usage:

berry bulk -f <file>

Flags:

FlagDescription
-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:

FieldTypeDescription
namestringName of the server
softwareNamestringName of the software (Paper, Velocity, etc.)
softwareobject (optional)Software definition object populated internally
portnumberServer port
motdstringServer MOTD
eulaAcceptedbooleanWhether the EULA is accepted
useDockerbooleanWhether to run the server in Docker
useVelocitybooleanEnable Velocity proxy support (Paper only)
velocitySecretstring (optional)Velocity forwarding secret
versionstring (optional)Minecraft version
buildnumber (optional)Specific server software build
serversstring[] (optional)Dependent sub-servers or linked servers
rconbooleanEnable RCON
rconPortnumber (optional)RCON port
rconPasswordstring (optional)RCON password (can be "random" to auto-generate)

berry exec

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.


General Notes

  • berry supports multiple server software types: Paper, Velocity.
  • Ports default to 25565 for Minecraft and 25575 for 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.

About

CLI tool for generating Minecraft servers

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages