Warning
๐ง Under Construction โ This project is currently in active development. Features and APIs may change without notice.
A terminal-based Minecraft server management tool built with Go and Bubble Tea.
- ๐ World Management โ Create, configure, and manage multiple Minecraft server worlds with an intuitive form-based interface
- โ๏ธ Server Support โ Vanilla, Fabric, and Forge servers with automatic JAR downloading
- โ Java Management โ Automatic Java version detection and installation (Eclipse Temurin) per world
- โจ๏ธ Script Generation โ Auto-generates start scripts for Windows (.bat) and Unix (.sh) with proper JVM flags
- ๐ค Server Configuration โ Full control over RAM allocation, port, gamemode, difficulty, PVP, and more
- ๐ฅ๏ธ Session Management โ Run servers in tmux sessions or foreground mode
- ๐ Progress Tracking โ Real-time creation progress with stage indicators and scrollable logs
- ๐จ Beautiful TUI โ Full-screen terminal interface powered by Bubble Tea with modern styling
# Clone the repository
git clone https://github.com/neuronexul/mcworker.git
cd mineworker-go
# Build
go build -o mcworker ./cmd/cli
# Run
./mcworker- Go 1.25 or later
- Linux, macOS, or Windows
- tmux (optional, for background server sessions)
Simply run the mcworker command to launch the interactive TUI:
mcworkerAll functionality is driven through the TUI with proper interactive elements โ no subcommands required.
| Key | Action |
|---|---|
โ / k |
Navigate up |
โ / j |
Navigate down |
1-4 |
Quick select menu item |
Enter |
Confirm selection |
Tab |
Next field (in forms) |
Shift+Tab |
Previous field (in forms) |
q |
Quit |
When creating a new world, MineWorker automatically handles:
- Directory Setup โ Creates the world directory structure
- Java Runtime โ Downloads and installs the required Java version (if not present)
- Server Download โ Fetches the server JAR for your selected server type and version
- EULA Acceptance โ Automatically accepts the Minecraft EULA
- Script Generation โ Creates start scripts with optimized JVM arguments
- Configuration โ Saves the world configuration and generates
server.properties - Network Setup โ Configures port and DNS settings
Each world is a self-contained unit with its own worker.json configuration:
{
"world": {
"name": "my-survival-world",
"path": "./",
"minecraft_version": "1.21.11",
"description": "This is my survival forever world"
},
"server": {
"type": "fabric",
"jar": "fabric-server-1.21.11-0.18.4.jar",
"eula_accepted": true
},
"java": {
"version": "21",
"vendor": "temurin",
"path": "/home/neuronexul/.mcworker/java/temurin-21/bin/java"
},
"resources": {
"ram": {
"min": "2G",
"max": "4G"
},
"cpu": {}
},
"network": {
"port": 25565,
"dns": "mc.nexul.in"
},
"backups": {}
}โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Bubble Tea TUI โ โ Main menu, create world form, progress screen
โโโโโโโโโโโโโโโโฒโโโโโโโโโโโโโโโโ
โ
โโโโโโโโโโโโโโโโดโโโโโโโโโโโโโโโโ
โ Application / Tasks โ โ Server creation orchestration
โโโโโโโโโโโโโโโโฒโโโโโโโโโโโโโโโโ
โ
โโโโโโโโโโโโโโโโดโโโโโโโโโโโโโโโโ
โ Domain / Core Logic โ โ World, server types, validation
โโโโโโโโโโโโโโโโฒโโโโโโโโโโโโโโโโ
โ
โโโโโโโโโโโโโโโโดโโโโโโโโโโโโโโโโ
โ Runtime / System Services โ โ Java, scripts, sessions, network
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
mineworker-go/
โโโ cmd/cli/ # Entry point
โโโ internal/
โ โโโ app/ # Application orchestration
โ โ โโโ create.go # Server creation workflow
โ โโโ domain/ # Pure business logic
โ โ โโโ server/ # Server type definitions
โ โ โโโ world/ # World configuration & validation
โ โโโ network/ # Network configuration
โ โโโ runtime/ # System integrations
โ โ โโโ java/ # Java installation & management
โ โ โโโ scripts/ # Start script generation
โ โ โโโ session/ # Process & session management
โ โโโ servers/ # Server type implementations
โ โ โโโ vanilla/ # Vanilla server support
โ โ โโโ fabric/ # Fabric server support
โ โ โโโ forge/ # Forge server support
โ โโโ tui/ # Bubble Tea UI components
โ โ โโโ root.go # Root model & screen management
โ โ โโโ main_menu.go # Main menu screen
โ โ โโโ create_world.go # World creation form
โ โ โโโ creation_progress.go # Progress tracking screen
โ โ โโโ styles.go # UI styles & theming
โ โโโ utils/ # Cross-platform utilities
โ โโโ paths.go # Path management
โโโ assets/ # Screenshots & media
| Server Type | Description |
|---|---|
| Vanilla | Official Minecraft server from Mojang |
| Fabric | Lightweight modding toolchain |
| Forge | Popular modding platform |
Contributions are welcome! Please feel free to submit a Pull Request.
This project is licensed under the MIT License - see the LICENSE file for details.
- Bubble Tea โ TUI framework
- Lip Gloss โ Style definitions
- Charm โ For the amazing terminal tools ecosystem
- Eclipse Temurin โ Java runtime distribution
