A tool that automates the tedious part of setting up a Minecraft server: picking a version, downloading the right jar, accepting the EULA and writing the launch scripts. Everything is driven from a single-page graphical interface, with live install logs and a progress bar for every step.
- Multiple server types: Vanilla, Fabric, Forge and Paper.
- MCDReforged integration: optionally wraps any server type with MCDReforged for plugins and console management.
- Automatic Java check: detects whether Java is installed and warns if the version is too old.
- Cross-platform launch scripts: generates both
start.batandstart.sh. - Recent projects list for quick access to servers you've already created.
- Python 3.10 or higher
- Java 21 or higher (required to run the generated server, not to run this tool)
- Clone the repository:
git clone https://github.com/froyln/easy-mc-server.git cd easy-mc-server - Install dependencies:
pip install -r requirements.txt
To boot up Easy Minecraft Server, simply run:
python main.py- Launch the app and check that Java is detected.
- Click Create New Server and pick a project name and destination folder.
- Choose a server type: Vanilla, Fabric, Forge or Paper.
- Select the Minecraft version (and loader/installer version, for Fabric).
- Set the minimum and maximum RAM.
- Confirm, and watch the install log until it finishes.
- Run
start.bat(Windows) orstart.sh(Linux/macOS) inside the created folder to launch the server.
core/ Server creation logic, no UI code
system_check.py Java / OS detection
downloader.py HTTP downloads with progress reporting
process_runner.py Streams subprocess output (used by the Forge installer)
mcdreforged_setup.py Install/init MCDReforged, edit its config
launch_scripts.py Generates start.bat / start.sh
project_manager.py Orchestrates a full server creation request
recent_projects.py Persists recently created servers
server_types/ One installer class per server type
gui/ CustomTkinter dark-themed interface
app.py Main window
theme.py Color palette and fonts
pages/ Home view and the New Server wizard
widgets/ Reusable UI components (console, cards, step indicator)
main.py Entry point
customtkinter requests mcdreforged
MIT © froyln
