https://github.com/fernandomema/minecraft-server-manager-gtk
https://github.com/fernandomema/minecraft-server-manager-gtk
Last synced: 11 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/fernandomema/minecraft-server-manager-gtk
- Owner: fernandomema
- License: mit
- Created: 2025-08-09T02:33:01.000Z (12 months ago)
- Default Branch: main
- Last Pushed: 2025-08-27T17:36:48.000Z (11 months ago)
- Last Synced: 2025-08-28T02:20:22.929Z (11 months ago)
- Language: Python
- Size: 361 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Minecraft Server Manager GTK
A GTK-based graphical application for managing Minecraft servers with plugin and mod support.



## Features
- 🎮 **Server Management**: Create, start, stop, and configure Minecraft servers
- 🔌 **Plugin & Mod Management**: Browse, download, and manage plugins from Modrinth, Spigot, and CurseForge
- 🎨 **Colorized Console**: Real-time server output with syntax highlighting
- ⚙️ **Configuration Editor**: Visual editor for YAML/YML server configuration files
- 📥 **Automatic Downloads**: Download server JARs and plugins with ease
- ☕ **Java Version Picker**: Choose installed Java versions and open the download page if needed
- 🔍 **Smart Search**: Search and filter plugins vs mods with type detection
- 🖼️ **Visual Icons**: Display plugin/mod icons from multiple sources
- 📊 **Metadata Tracking**: Track installation methods and sources
## Screenshots
**Server Management**

**Plugin Management**

**Configuration Editor**

## Installation
### From Flathub (Recommended)
```bash
flatpak install flathub io.github.fernandomema.MinecraftServerManager
```
### From Source
```bash
git clone https://github.com/fernandomema/minecraft-server-manager-gtk.git
cd minecraft-server-manager-gtk
python3 main.py
```
### AppImage
Build a portable AppImage (self-extracting executable):
```bash
# Build the AppImage
./build-appimage.sh
```
The script creates a self-extracting portable executable that:
1. Contains all application files
2. Checks for required system dependencies
3. Runs without installation on most Linux distributions
**System Requirements for AppImage:**
- Python 3
- PyGObject (python3-gi)
- GTK 3
- PyYAML (python3-yaml)
The resulting `minecraft-server-manager-gtk-x86_64.AppImage` can be distributed and run directly.
## Dependencies
- Python 3.6+
- PyGObject (GTK 3.0)
- PyYAML
- Java 8+ (for running Minecraft servers)
## Project Structure
The project follows MVC (Model-View-Controller) architecture:
```
minecraft-server-manager-gtk/
├── main.py # Application entry point
├── models/ # Data models
│ ├── server.py # Server model
│ └── plugin.py # Plugin/mod model
├── views/ # User interface
│ ├── main_window.py # Main window
│ ├── server_management_page.py # Server management tab
│ ├── plugin_management_page.py # Plugin management tab
│ ├── console_manager.py # Server console
│ └── ...
├── controllers/ # Business logic
│ ├── server_controller.py # Server operations
│ ├── plugin_controller.py # Plugin/mod operations
│ └── download_controller.py # Download management
└── utils/ # Utilities
├── constants.py # Application constants
└── file_utils.py # File operations
```
## Usage
### Server Management
1. Click "Add Server" to create a new server
2. Choose server type (Paper, Spigot, etc.)
3. Configure server settings
4. Start/stop servers from the interface
### Plugin Management
1. Switch to the "Plugin Management" tab
2. Search for plugins/mods using the search bar
3. Filter by type (Plugin or Mod)
4. Click download to install directly to your server
### Console
- View real-time server output with colorized text
- Auto-scrolling console for latest messages
- Dark theme for better readability
## Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
## License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
## Support
If you encounter any issues or have suggestions, please [open an issue](https://github.com/fernandomema/minecraft-server-manager-gtk/issues) on GitHub.
## Translations
To add a new translation:
1. Extract strings with `xgettext`:
```bash
xgettext --language=Python --keyword=_ --output=locale/messages.pot $(find . -name "*.py")
```
2. Create a `.po` file for your locale (replace `es` with the desired code):
```bash
msginit --locale=es --input=locale/messages.pot --output-file=locale/es/LC_MESSAGES/minecraft-server-manager-gtk.po
```
3. Compile the translation to a `.mo` file:
```bash
msgfmt locale/es/LC_MESSAGES/minecraft-server-manager-gtk.po --output-file=locale/es/LC_MESSAGES/minecraft-server-manager-gtk.mo
```
4. Run the application. It will use available translations automatically if the locale is set.