An unofficial, open-source installer and management toolkit for deploying and maintaining Minecraft Java Edition servers on Linux. Supports multi-instance management, advanced configuration, and integrates with Warlock Manager for remote administration.
- Automated installation and uninstallation of Minecraft Java Edition servers
- Multi-instance support for running multiple servers
- Advanced configuration options (see
scripts/configs.yaml) - Firewall setup and management (UFW integration)
- Management console for server operations
- Remote administration via Warlock Manager
- Supports Debian 12, 13 and Ubuntu 24.04
- Customizable install directory and non-interactive/scripted installs
- Debian: 12, 13
- Ubuntu: 24.04
For easier installation and management, install this with the Warlock Manager.
Warlock provides a web interface for managing Minecraft servers on your own hardware.
Run the installer script as root (or with sudo):
sudo bash src/installer.shTo set up a development environment:
./setup-dev.shThis will create a Python virtual environment and install dependencies.
Installer options:
--uninstall Perform an uninstallation
--dir=<str> Use a custom installation directory (optional)
--skip-firewall Do not install or configure a system firewall
--non-interactive Run installer in non-interactive mode (for scripted installs)
--branch=<str> Use a specific branch of the management script repository (default: main)
After installation, use the management console:
python3 /home/minecraft/manage.py <command>With no arguments, you will be presented with a TUI menu to manage the game server.
┌──────────────────────────────────────────────────────────────────────────────┐
│ Welcome to the Minecraft Java Edition Server Manager │
│ │
│ Built with the Warlock Manager v2.1.0 │
│ https://warlock.nexus │
└──────────────────────────────────────────────────────────────────────────────┘
| # | Service | Name | Port | Auto-Start | Status | CPU | Mem | Players |
| -:| ----------------- | ------- | -----:| ----------- | ---------- | ---:| ---:| ------- |
| 1 | minecraft-myclone | myclone | 25567 | ❌ Disabled | 🛑 Stopped | N/A | N/A | 0 / 20 |
| 2 | minecraft-another | another | 25566 | ❌ Disabled | 🛑 Stopped | N/A | N/A | 0 / 20 |
1-2 to manage individual map settings
Configure: global [O]ptions | [C]reate Service
Control: [S]tart all | s[T]op all | [R]estart all
Manage Data: [B]ackup all | [W]ipe all
or [Q]uit to exit
Server options are defined in scripts/configs.yaml. Examples:
- Difficulty: peaceful, easy, normal, hard
- Enable RCON, Query, Secure Profile, Whitelist, etc.
- World settings: seed, type, name
- Management server options: enable, host, port, TLS
src/installer.shMain installer scriptsrc/manage.pyManagement console for server operationsscripts/configs.yamlServer configuration definitionsmedia/Images/icons for Warlock integrationscriptlets/Common shell utilities and helperssetup-dev.shDevelopment environment setupcompile.pyScript compiler and documentation generator
This project is licensed under the AGPLv3.
Charlie Powell (cdp1337@bitsnbytes.dev)
Contributions are welcome! Please open issues or pull requests on GitHub.