Skip to content

Latest commit

 

History

6 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Easy Minecraft Server

Desktop tool to set up Minecraft servers.

Python CustomTkinter License

image

What is it?

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.

Features

  • 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.bat and start.sh.
  • Recent projects list for quick access to servers you've already created.

Requirements

  • Python 3.10 or higher
  • Java 21 or higher (required to run the generated server, not to run this tool)

Installation

  1. Clone the repository:
    git clone https://github.com/froyln/easy-mc-server.git
    cd easy-mc-server
  2. Install dependencies:
    pip install -r requirements.txt

Starting the App

To boot up Easy Minecraft Server, simply run:

python main.py

Usage

  1. Launch the app and check that Java is detected.
  2. Click Create New Server and pick a project name and destination folder.
  3. Choose a server type: Vanilla, Fabric, Forge or Paper.
  4. Select the Minecraft version (and loader/installer version, for Fabric).
  5. Set the minimum and maximum RAM.
  6. Confirm, and watch the install log until it finishes.
  7. Run start.bat (Windows) or start.sh (Linux/macOS) inside the created folder to launch the server.

Project Structure

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

Dependencies

customtkinter requests mcdreforged

License

MIT © froyln

About

Desktop tool to set up Minecraft servers.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages