Skip to content

Commit ec19d67

Browse files
committed
Enhance minecraft_server_gui.py with Forge support and UI improvements
- Added functionality to install Forge servers, including fetching and displaying available Forge versions. - Improved the server installation process with better handling of EULA acceptance and progress updates. - Updated the GUI to dynamically show version selection based on the chosen server type (Forge or others). - Enhanced README.md with updated installation instructions and new features. - Added customtkinter to requirements.txt for improved UI components.
1 parent ec74d4d commit ec19d67

File tree

8 files changed

+433
-139
lines changed

8 files changed

+433
-139
lines changed

README.md

Lines changed: 52 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,22 @@
1-
# Minecraft Local Server GUI
1+
<div align="center">
2+
<img src="assets/logo.png" alt="Logo" width="150">
3+
<h1>Minecraft Local Server GUI</h1>
4+
</div>
25

3-
A user-friendly desktop application for installing, managing, and running local Minecraft servers. Built with Python and Tkinter, this tool provides a complete graphical interface for server administration, from initial setup to daily management.
6+
A user-friendly desktop application for installing, managing, and running local Minecraft servers. Built with Python, this tool provides a complete graphical interface for server administration, from initial setup to daily management.
47

58
## Features
69

710
- **Easy Setup Wizard**:
8-
- **Install New Servers**: Download and install a new server with just a few clicks. Supports **Vanilla, Paper, Spigot, Forge, and Fabric**.
11+
- **Install New Servers**: Download and set up a new server with just a few clicks. Supports **Vanilla, Paper, Spigot, Forge, and Fabric**.
912
- **Use Existing Servers**: Easily import and manage a pre-existing server folder.
1013
- **Complete Server Control**:
1114
- **One-Click Actions**: Start, Stop, and Restart the server directly from the GUI.
1215
- **Live Console**: View the live server console, with color-coded messages for errors and warnings.
1316
- **Command Input**: Send commands directly to the server through the interface.
1417
- **Management Panels**:
1518
- **Properties Editor**: A graphical editor for `server.properties` with categorized, collapsible sections and helpful descriptions.
16-
- **Player Management**: View connected players with their avatars, op/de-op, kick, or ban them with a right-click.
19+
- **Player Management**: View connected players with their avatars, op/de-op, kick, or ban them.
1720
- **Operators & Bans**: Manage server operators and banned players/IPs, with support for offline modifications.
1821
- **World Management**: View all world folders and create backups with a single click.
1922
- **Mod Management**: For Forge/Fabric, view installed mods, enable/disable them, view/edit their config files, and delete them.
@@ -26,56 +29,68 @@ A user-friendly desktop application for installing, managing, and running local
2629
- **Custom RAM Allocation**: Easily set the minimum and maximum RAM for your server.
2730
- **Configuration Saving**: Remembers your server path and settings between sessions.
2831

32+
## Screenshots
33+
34+
<div align="center">
35+
<img src="assets/ServerSetup.png" alt="Server Setup Wizard" width="400">
36+
<p><em>Setup Wizard</em></p>
37+
<br>
38+
<img src="assets/ControlPanel.png" alt="Main Control Panel" width="700">
39+
<p><em>Main Control Panel</em></p>
40+
</div>
41+
2942
## Requirements
3043

31-
- **Python 3.x**
44+
- **Python 3.x**: Must be added to your system's PATH.
3245
- **Java**: You must have Java installed on your system for the application to run the Minecraft server JAR file.
33-
- The required Python packages are listed in `requirements.txt`:
34-
```
35-
requests
36-
psutil
37-
Pillow
38-
matplotlib
39-
```
46+
47+
---
4048

4149
## Installation & Usage
4250

51+
### For Windows Users (Recommended)
52+
53+
1. Download or clone the repository.
54+
2. Simply double-click the **`run.bat`** file.
55+
3. The first time you run it, a setup process will automatically:
56+
- Create a Python virtual environment (`venv` folder).
57+
- Install all the required packages.
58+
4. After the initial setup, the script will launch the application directly.
59+
60+
### Manual Installation (All Platforms)
61+
4362
1. **Clone the Repository**:
4463
```sh
4564
git clone https://github.com/CalaKuad1/Minecraft-Local-Server-GUI.git
4665
cd Minecraft-Local-Server-GUI
4766
```
48-
2. **Install Dependencies**:
67+
2. **Create and Activate a Virtual Environment**:
68+
```sh
69+
# Create the virtual environment
70+
python -m venv venv
71+
72+
# Activate it
73+
# On Windows:
74+
.\venv\Scripts\activate
75+
# On macOS/Linux:
76+
source venv/bin/activate
77+
```
78+
3. **Install Dependencies**:
4979
```sh
5080
pip install -r requirements.txt
5181
```
52-
3. **Run the Application**:
82+
4. **Run the Application**:
5383
```sh
5484
python main.py
5585
```
56-
4. **First-Time Setup**:
57-
- The first time you run the app, a setup wizard will appear.
58-
- Choose to **install a new server** (the app will download all necessary files) or **use an existing server folder**.
59-
- Once configured, the main GUI will launch, and your settings will be saved for the next session.
60-
61-
## Project Structure
62-
63-
```
64-
Minecraft-Local-Server-GUI/
65-
├── gui/
66-
│ ├── widgets.py # Custom Tkinter widgets (CollapsiblePane, etc.)
67-
├── server/
68-
│ ├── config_manager.py # Handles saving/loading of GUI and server settings.
69-
│ └── server_handler.py # Manages the Minecraft server process.
70-
├── utils/
71-
│ ├── api_client.py # Handles API calls to fetch server versions, player data, etc.
72-
│ ├── constants.py # Stores UI constants like colors and fonts.
73-
│ └── helpers.py # Utility functions.
74-
├── main.py # Main entry point of the application.
75-
├── minecraft_server_gui.py # The core class for the main GUI window and all its logic.
76-
├── requirements.txt # Python package dependencies.
77-
└── README.md # This file.
78-
```
86+
87+
---
88+
89+
## First-Time Setup
90+
91+
- The first time you run the app, a setup wizard will appear.
92+
- Choose to **install a new server** (the app will download all necessary files) or **use an existing server folder**.
93+
- Once configured, the main GUI will launch, and your settings will be saved for the next session.
7994

8095
## License
8196

assets/ControlPanel.png

41.6 KB
Loading

assets/ServerSetup.png

26.7 KB
Loading

0 commit comments

Comments
 (0)