Skip to content

Commit 5adfe39

Browse files
committed
v1.0.0 - Complete Rewrite: Modern Electron + React UI
This is a complete transformation of the Minecraft Local Server GUI! NEW FEATURES: - Modern Electron desktop app with beautiful React UI - Dark glassmorphism theme with smooth animations - Multi-server profile management - Real-time Dashboard with CPU, RAM, and uptime stats - Local IP display with public server guide modal - Progress bar for Java downloads - Console log clearing on server switch AUTOMATIC JAVA MANAGEMENT: - Smart Java version detection (8/17/21) - Automatic download from Adoptium - Corruption detection and auto-repair - Per-server Java configuration UI/UX IMPROVEMENTS: - Server Library with card-based selection - Setup Wizard with step-by-step guidance - Beautiful modals and tooltips - Responsive layout with Tailwind CSS - Framer Motion animations TECHNICAL: - Electron + Vite + React frontend - FastAPI + Python backend - NSIS one-click Windows installer - WebSocket real-time console Built with by CalaKuad1
1 parent 81f754e commit 5adfe39

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

48 files changed

+13779
-283
lines changed

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,3 +73,5 @@ Thumbs.db
7373
# Temporary files
7474
*.tmp
7575
*.temp
76+
77+
electron-app/release/

README.md

Lines changed: 149 additions & 171 deletions
Original file line numberDiff line numberDiff line change
@@ -1,220 +1,198 @@
11
<div align="center">
2-
<img src="assets/logo.png" alt="Logo" width="150">
3-
<h1>Minecraft Local Server GUI</h1>
2+
<img src="electron-app/public/images/logo2.png" alt="Logo" width="200">
43

5-
<p><strong>🎮 The definitive tool for managing local Minecraft servers</strong></p>
4+
<h1>🎮 Minecraft Local Server GUI</h1>
65

7-
<p>An intuitive desktop application that completely automates the installation, configuration, and management of Minecraft servers. Featuring automatic Java management, a modern graphical interface, and full support for all server types.</p>
6+
<p><strong>The ultimate tool for managing Minecraft servers — beautiful, modern, and effortless.</strong></p>
87

98
<p>
10-
<img src="https://img.shields.io/badge/Python-3.7+-blue.svg" alt="Python Version">
11-
<img src="https://img.shields.io/badge/Java-Auto--Managed-green.svg" alt="Java Auto-Managed">
12-
<img src="https://img.shields.io/badge/Minecraft-All%20Versions-orange.svg" alt="Minecraft Support">
13-
<img src="https://img.shields.io/badge/Platform-Windows%20%7C%20macOS%20%7C%20Linux-lightgrey.svg" alt="Platform Support">
9+
<a href="https://github.com/CalaKuad1/Minecraft-Local-Server-GUI/releases/latest">
10+
<img src="https://img.shields.io/badge/⬇️_Download-Windows_Installer-00d26a?style=for-the-badge&logo=windows" alt="Download">
11+
</a>
1412
</p>
13+
14+
<p>
15+
<img src="https://img.shields.io/badge/Electron-28.3.3-47848F?logo=electron" alt="Electron">
16+
<img src="https://img.shields.io/badge/React-18-61DAFB?logo=react" alt="React">
17+
<img src="https://img.shields.io/badge/FastAPI-Python-009688?logo=fastapi" alt="FastAPI">
18+
<img src="https://img.shields.io/badge/Java-Auto--Managed-ED8B00?logo=openjdk" alt="Java">
19+
</p>
20+
21+
<br>
22+
23+
<img src="assets/screenshot-dashboard.png" alt="Dashboard Screenshot" width="800">
1524
</div>
1625

1726
---
1827

19-
### 🚀 Key Features
28+
## ⬇️ Download & Install
29+
30+
**One-click installation** — No Python or Java required!
2031

21-
**NEW: Automatic Java Management**
22-
* **Smart Detection**: Automatically detects the required Java version for each Minecraft version.
23-
* **Automatic Download**: Downloads and installs Java 8, 17, or 21 as required.
24-
* **Per-Server Configuration**: Each server is automatically configured to use its correct Java version.
25-
* **Error Elimination**: Completely eliminates "UnsupportedClassVersionError" issues.
32+
| Platform | Download |
33+
|:--------:|:---------|
34+
| **Windows** | [📦 Download Installer (.exe)](https://github.com/CalaKuad1/Minecraft-Local-Server-GUI/releases/latest/download/Minecraft.Local.Server.GUI.Setup.1.0.0.exe) |
2635

27-
**Effortless Installation and Setup**
28-
* **Installation Wizard**: Download and configure servers with just a few clicks.
29-
* **Universal Support**: Compatible with Vanilla, Paper, Spigot, Forge, and Fabric.
30-
* **Easy Import**: Automatically import and manage existing server installations.
31-
* **Smart Configuration**: Automatically detects server versions and configures the appropriate Java environment.
36+
> **Note:** The app automatically downloads and manages Java for you. Just install and play!
3237
3338
---
3439

35-
### ⚙️ Full Feature List
36-
37-
**Complete Server Control**
38-
* **One-Click Actions**: Start, stop, and restart servers directly from the interface.
39-
* **Live Console**: View server logs in real-time with color-coded errors and warnings.
40-
* **Command Input**: Send commands directly to the server from the application interface.
41-
* **Resource Monitoring**: View real-time graphs of CPU and RAM usage.
42-
43-
**Advanced Player Management**
44-
* **Visual Player List**: See currently connected players with their Minecraft avatars.
45-
* **Operator Management**: Grant or revoke administrator permissions with ease.
46-
* **Ban System**: Ban players or IPs, with support for offline-mode servers.
47-
* **Player Statistics**: View detailed statistics for each player.
48-
49-
**Intuitive Configuration**
50-
* **Properties Editor**: A graphical editor for `server.properties` with organized, easy-to-navigate sections.
51-
* **World Management**: View all world folders and create backups with a single click.
52-
* **Mod Management**: For Forge and Fabric, you can enable/disable mods and edit their configurations.
53-
* **Persistent Settings**: All configurations and server paths are saved between sessions.
54-
55-
**Advanced Functions**
56-
* **Make Public (Experimental)**: Exposes your local server to the internet with one click. For better performance and stability, we recommend using a dedicated external service like `playit.gg`.
57-
* **Automatic EULA Handling**: Automatically accepts the Minecraft EULA on the first launch of a new server.
58-
* **Smart Start**: Automatically uses the correct startup scripts for modded servers like Forge.
59-
* **Custom RAM Allocation**: Easily configure the minimum and maximum RAM for each server.
60-
61-
**Security and Stability**
62-
* **Automatic Validation**: Verifies server configurations before applying any changes.
63-
* **Error Recovery**: Features intelligent error handling and automatic recovery mechanisms.
64-
* **Detailed Logs**: A complete logging system is integrated for diagnosing application issues.
40+
## ✨ Features
6541

66-
---
42+
<table>
43+
<tr>
44+
<td width="50%">
45+
46+
### 🚀 Server Management
47+
- **One-click server creation** — Vanilla, Paper, Spigot, Forge
48+
- **Multiple server profiles** — Switch between servers instantly
49+
- **Live console** with real-time logs and command input
50+
- **Start/Stop controls** with visual status indicators
51+
52+
</td>
53+
<td width="50%">
54+
55+
### ☕ Automatic Java
56+
- **Zero configuration** — Java 8/17/21 downloaded automatically
57+
- **Smart detection** — Matches Java version to Minecraft version
58+
- **No more errors** — Eliminates `UnsupportedClassVersionError`
59+
- **Isolated installations** — Won't affect your system Java
60+
61+
</td>
62+
</tr>
63+
<tr>
64+
<td width="50%">
65+
66+
### 📊 Dashboard
67+
- **Real-time stats** — CPU, RAM, and uptime monitoring
68+
- **Local IP display** — Easy LAN connection for friends
69+
- **Public server guide** — Tips for playit.gg, ngrok, etc.
70+
- **Quick command input** — Send commands from dashboard
71+
72+
</td>
73+
<td width="50%">
74+
75+
### ⚙️ Configuration
76+
- **Visual settings editor** — No file editing required
77+
- **server.properties GUI** — All options organized by category
78+
- **RAM allocation** — Customize min/max memory per server
79+
- **Player management** — Op, ban, whitelist with one click
6780

68-
### 📋 System Requirements
69-
* **Python 3.7+**: Must be installed and added to the system's PATH.
70-
* **Java**: No longer required. The application automatically downloads and manages all necessary Java versions.
71-
* **Internet Connection**: Required for the initial download of server files and Java runtimes.
72-
* **Disk Space**: Approximately 500MB for Java installations, plus additional space for each server.
81+
</td>
82+
</tr>
83+
</table>
7384

7485
---
7586

76-
### 🚀 Installation and Use
77-
78-
**Quick Start (Recommended)**
79-
80-
**For Windows:**
81-
1. Download the project from GitHub (Code button → Download ZIP).
82-
2. Extract the ZIP file to your preferred folder.
83-
3. Execute `run.bat`.
84-
4. The application will install dependencies and launch automatically.
85-
86-
**For macOS/Linux:**
87-
1. Clone or download the repository:
88-
```bash
89-
git clone https://github.com/your-username/Minecraft-Local-Server-GUI.git
90-
cd Minecraft-Local-Server-GUI
91-
```
92-
2. Install dependencies and run:
93-
```bash
94-
python3 -m venv venv
95-
source venv/bin/activate
96-
pip install -r requirements.txt
97-
python main.py
98-
```
99-
100-
**Manual Installation (Advanced)**
101-
102-
If you prefer to install manually or encounter issues with the automated scripts:
103-
1. **Clone the repository:**
104-
```bash
105-
git clone https://github.com/CalaKuad1/Minecraft-Local-Server-GUI.git
106-
cd Minecraft-Local-Server-GUI
107-
```
108-
2. **Create and activate a virtual environment:**
109-
* **Windows:**
110-
```bash
111-
python -m venv venv
112-
.\venv\Scripts\activate
113-
```
114-
* **macOS/Linux:**
115-
```bash
116-
python3 -m venv venv
117-
source venv/bin/activate
118-
```
119-
3. **Install dependencies:**
120-
```bash
121-
pip install -r requirements.txt
122-
```
123-
4. **Run the application:**
124-
```bash
125-
python main.py
126-
```
87+
## 🎨 Modern UI
88+
89+
Built with **React** and **Tailwind CSS**, featuring:
90+
- 🌙 **Dark theme** — Easy on the eyes
91+
-**Glassmorphism** — Blurred, translucent panels
92+
- 🎬 **Smooth animations** — Powered by Framer Motion
93+
- 📱 **Responsive layout** — Scales to any window size
12794

12895
---
12996

130-
### 🎮 First Use
97+
## 🔧 Tech Stack
13198

132-
**Setup Wizard**
133-
* On its first run, the application will launch an intuitive setup wizard.
134-
* **Choose an option**:
135-
* **Install New Server**: The application will download and configure everything automatically.
136-
* **Use Existing Server**: Import a pre-existing server folder.
137-
* **Automated Java Handling**: The application detects the Minecraft version and downloads the correct Java runtime automatically.
138-
* Once completed, the main interface will open, and your settings will be saved for future sessions.
99+
| Layer | Technology |
100+
|-------|------------|
101+
| **Frontend** | Electron + React + Vite |
102+
| **Styling** | Tailwind CSS + Framer Motion |
103+
| **Backend** | Python + FastAPI + Uvicorn |
104+
| **Packaging** | electron-builder (NSIS installer) |
139105

140106
---
141107

142-
### ☕ Java Management System
108+
## 🛠️ Development Setup
143109

144-
**The Problem It Solves**
145-
* **Previously**: Users would encounter `UnsupportedClassVersionError` when running new Minecraft versions with outdated Java.
146-
* **Currently**: The system functions automatically without these errors.
110+
Want to contribute or run from source?
147111

148-
**How It Works**
149-
* **Automatic Detection**: Identifies the server's Minecraft version from its core files.
150-
* **Smart Download**: Fetches the correct Java version from trusted sources like Eclipse Adoptium.
151-
* **Automatic Linking**: Ensures each server instance uses the appropriate Java runtime.
152-
* **Efficient Management**: Reuses existing Java installations for other compatible servers.
112+
```bash
113+
# Clone the repository
114+
git clone https://github.com/CalaKuad1/Minecraft-Local-Server-GUI.git
115+
cd Minecraft-Local-Server-GUI
153116

154-
**Version Compatibility**
155-
| Minecraft Version | Required Java | Status |
156-
|:--------------------|:--------------|:-----------------------|
157-
| 1.21+ | Java 21 | ✅ Automatic Download |
158-
| 1.20.5 - 1.20.6 | Java 21 | ✅ Automatic Download |
159-
| 1.17 - 1.20.4 | Java 17 | ✅ System or Download |
160-
| 1.16.5 and earlier | Java 8 | ✅ System or Download |
117+
# Backend setup
118+
cd backend
119+
python -m venv venv
120+
venv\Scripts\activate # Windows
121+
pip install -r requirements.txt
161122

123+
# Frontend setup
124+
cd ../electron-app
125+
npm install
162126

163-
**Benefits**
164-
* **Zero compatibility errors**: Each server runs on its correct Java version.
165-
* **Automated installation**: No need to install or manage Java manually.
166-
* **Multi-version support**: Maintains separate installations of Java 8, 17, and 21 simultaneously.
167-
* **Intelligent detection**: Automatically recognizes Minecraft versions.
127+
# Run in development mode
128+
npm run dev
129+
```
168130

169-
---
131+
### Building the Installer
170132

171-
### ❓ Frequently Asked Questions
133+
```bash
134+
cd electron-app
135+
npm run electron:build
136+
# Output: electron-app/release/Minecraft Local Server GUI Setup 1.0.0.exe
137+
```
172138

173-
**Installation Issues**
174-
* **Q: What should I do if Python is not installed?**
175-
A: Download Python from python.org. During installation, ensure the "Add Python to PATH" option is checked.
176-
* **Q: The automatic installer is not working. What can I do?**
177-
A: Follow the manual installation instructions. Ensure you have the necessary administrative permissions if required.
139+
---
178140

179-
**Java Issues**
180-
* **Q: I already have Java installed. Why is the application downloading another version?**
181-
A: The application downloads specific, sandboxed versions of Java to guarantee compatibility and prevent conflicts with system-wide installations. This is intended behavior.
182-
* **Q: Can I use my existing system Java installation?**
183-
A: Yes. If a compatible system-wide Java version is detected, the application may use it. However, its internal manager is designed to prevent version conflicts.
141+
## 📋 Requirements
184142

185-
**Server Issues**
186-
* **Q: My server fails to start. How can I diagnose the issue?**
187-
A: Check the server logs in the console tab. The application will display specific errors and may provide suggestions.
188-
* **Q: How can I import an existing server?**
189-
A: In the initial setup wizard, select "Use Existing Server" and navigate to your server's root folder.
143+
### For Users (Installer)
144+
- **Windows 10/11** (64-bit)
145+
- **Internet connection** (for initial Java download)
146+
- ~500MB disk space
190147

191-
**"Make Public" Functionality**
192-
* **Q: Is it safe to make my server public?**
193-
A: This feature uses a public tunneling service. It should only be used with trusted individuals. We strongly recommend configuring a whitelist for your server.
194-
* **Q: Why does the public address change with each session?**
195-
A: This is standard for free tunneling services, which generate dynamic addresses upon connection.
148+
### For Developers
149+
- Node.js 18+
150+
- Python 3.8+
151+
- npm or yarn
196152

197153
---
198154

199-
### 🛠️ Troubleshooting
155+
## ❓ FAQ
156+
157+
<details>
158+
<summary><strong>Why is it downloading Java?</strong></summary>
159+
160+
The app automatically downloads the correct Java version for your Minecraft server. This is sandboxed and won't affect your system Java installation.
161+
</details>
162+
163+
<details>
164+
<summary><strong>Can my friends connect to my server?</strong></summary>
165+
166+
For **LAN**: Share the Local IP shown in the dashboard.
167+
For **Internet**: Use a tunneling service like [playit.gg](https://playit.gg) (recommended) or configure port forwarding on your router.
168+
</details>
200169

201-
**Quick Diagnostics**
202-
* **Verify Python**: Open a terminal and run `python --version`. It should return version 3.7 or higher.
203-
* **Check Permissions**: If you encounter file access errors, try running the application as an administrator.
204-
* **Review Logs**: The application's console provides detailed error messages for diagnostics.
205-
* **Restart the Application**: A simple restart can resolve many temporary issues.
170+
<details>
171+
<summary><strong>Where are my servers stored?</strong></summary>
206172

207-
**Getting Help**
208-
* **GitHub Issues**: Report bugs or request new features on the project's GitHub page.
209-
* **Provide Detailed Logs**: When reporting an issue, always include the relevant logs from the console.
210-
* **Include System Information**: Mention your operating system, Python version, and Java version.
173+
Server files are stored in the location you choose during setup. App configuration is saved in `%APPDATA%/MinecraftServerGUI`.
174+
</details>
175+
176+
<details>
177+
<summary><strong>How do I import an existing server?</strong></summary>
178+
179+
Click "Add Server" → "Use Existing" → Select your server folder. The app will auto-detect the server type and version.
180+
</details>
211181

212182
---
213183

214-
### 📄 License
215-
This project is licensed under the MIT License. See the LICENSE file for more details.
184+
## 📄 License
185+
186+
This project is licensed under the **MIT License** — see the [LICENSE](LICENSE) file for details.
216187

217188
---
218189

219-
### ⭐ Support the Project
220-
If this project has been useful to you, please consider giving it a star on GitHub! This helps other users discover the tool and motivates continued development.
190+
## ⭐ Support
191+
192+
If this project helped you, please **star the repository**
193+
It helps others discover the tool and motivates development!
194+
195+
<div align="center">
196+
<br>
197+
<p>Made with ❤️ by <a href="https://github.com/CalaKuad1">CalaKuad1</a></p>
198+
</div>

0 commit comments

Comments
 (0)