Lightweight Bash tools to create, manage, and run Minecraft servers on Linux β
without panels, containers, or hidden magic.
This repository provides two complementary CLI tools:
mcβ a server manager that runs Minecraft servers insidescreensessionsmc-newβ an interactive setup wizard for creating new server instances
Designed for users who want full control, clarity, and zero abstraction.
- Start servers inside dedicated screen sessions
- Graceful shutdown via in-game
stop - Attach/detach from the live console
- List:
- running Minecraft servers
- available server directories
- Works with:
- Vanilla
- Paper
- Purpur
- Forge
- Fully interactive terminal wizard
- Supported server software:
- Vanilla
- Paper
- Purpur
- Forge (official installer)
- Automatically generates:
server.jar(or symlink for Forge)eula.txt- minimal
server.properties run.sh
- Optional immediate server start after setup
/home/minecraft/
βββ survival_1.21.4/
β βββ server.jar
β βββ server.properties
β βββ eula.txt
β βββ run.sh
βββ modded_1.20.1/
β βββ forge-1.20.1-47.2.20.jar
β βββ server.jar -> forge-1.20.1-47.2.20.jar
β βββ run.sh
Rule: one server = one directory
Predictable, debuggable, clean.
- Linux (tested on Debian / Ubuntu)
- Bash
- Java 17+ (depending on Minecraft version)
screen- For
mc-newadditionally:curljq
sudo apt update
sudo apt install screen curl jq openjdk-21-jre-headlessgit clone https://github.com/Gaminggul/Minecraft-Server-Managment-Scripts.git
cd minecraft-server-managment-scriptsEdit both scripts and set your server root:
BASE_DIR="/home/minecraft"chmod +x mc mc-newsudo ln -s "$(pwd)/mc" /usr/local/bin/mc
sudo ln -s "$(pwd)/mc-new" /usr/local/bin/mc-newmc-newYou will be prompted for:
- server name
- software (Vanilla / Paper / Purpur / Forge)
- Minecraft version
- Forge only: exact Forge version (e.g.
1.20.1-47.2.20)
mc start <servername>mc stop <servername>mc attach <servername>mc listmc servers- Forge always requires an exact version
- Example:
1.20.1-47.2.20
- Example:
- The setup script:
- downloads the official Forge installer
- runs
--installServer - creates a
server.jarsymlink automatically
- Some Forge versions generate their own
run.sh- In those cases, the script informs you explicitly
- No silent failures, no guessing
- β No web panel
- β No Docker setup
- β No hosting service
- β No one-click magic
A clean, transparent toolchain for users who want to understand and control their Minecraft servers.
Inside mc:
JAVA="java"
MIN_MEM="8G"
MAX_MEM="12G"
JAR_NAME="server.jar"Everything is intentionally explicit.
- Clear instead of clever
- Bash instead of overengineering
- Control instead of black boxes
- Errors should be visible, not hidden
MIT License
Use it, modify it, learn from it.
Noel Janzen
30.12.2025