{"id":51621126,"url":"https://github.com/nexuls/mcworker-go","last_synced_at":"2026-07-12T19:43:30.569Z","repository":{"id":334267121,"uuid":"1138058768","full_name":"nexuls/mcworker-go","owner":"nexuls","description":"🌍 Create, manage, and monitor Minecraft servers from your terminal — supports Paper, Fabric, Forge, and more.","archived":false,"fork":false,"pushed_at":"2026-01-26T17:13:56.000Z","size":542,"stargazers_count":2,"open_issues_count":0,"forks_count":1,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-07-12T19:43:29.225Z","etag":null,"topics":["bubbletea","cli","cli-tool","minecraft-server"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/nexuls.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-01-20T07:32:49.000Z","updated_at":"2026-05-01T22:48:54.000Z","dependencies_parsed_at":"2026-06-12T01:31:49.155Z","dependency_job_id":"e3b1352e-55fe-4b24-8bcb-f055ca57fd64","html_url":"https://github.com/nexuls/mcworker-go","commit_stats":null,"previous_names":["neuronexul/mineworker-go","nexuls/mcworker-go"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/nexuls/mcworker-go","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nexuls%2Fmcworker-go","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nexuls%2Fmcworker-go/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nexuls%2Fmcworker-go/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nexuls%2Fmcworker-go/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nexuls","download_url":"https://codeload.github.com/nexuls/mcworker-go/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nexuls%2Fmcworker-go/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":35401732,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-07-12T02:00:06.386Z","response_time":87,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bubbletea","cli","cli-tool","minecraft-server"],"created_at":"2026-07-12T19:43:29.849Z","updated_at":"2026-07-12T19:43:30.562Z","avatar_url":"https://github.com/nexuls.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# MineWorker\n\n[![Go Version](https://img.shields.io/badge/Go-1.25+-00ADD8?style=flat\u0026logo=go)](https://go.dev/)\n[![License](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE)\n\n\u003e [!WARNING]\n\u003e 🚧 **Under Construction** — This project is currently in active development. Features and APIs may change without notice.\n\nA terminal-based Minecraft server management tool built with Go and [Bubble Tea](https://github.com/charmbracelet/bubbletea).\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"assets/main-menu.png\" alt=\"MineWorker Main Menu\"\u003e\n\u003c/p\u003e\n\n## Features\n\n- 🌍 **World Management** — Create, configure, and manage multiple Minecraft server worlds with an intuitive form-based interface\n- ⚙️ **Server Support** — Vanilla, Fabric, and Forge servers with automatic JAR downloading\n- ☕ **Java Management** — Automatic Java version detection and installation (Eclipse Temurin) per world\n- ⌨️ **Script Generation** — Auto-generates start scripts for Windows (.bat) and Unix (.sh) with proper JVM flags\n- 🤖 **Server Configuration** — Full control over RAM allocation, port, gamemode, difficulty, PVP, and more\n- 🖥️ **Session Management** — Run servers in tmux sessions or foreground mode\n- 📊 **Progress Tracking** — Real-time creation progress with stage indicators and scrollable logs\n- 🎨 **Beautiful TUI** — Full-screen terminal interface powered by Bubble Tea with modern styling\n\n## Installation\n\n### From Source\n\n```bash\n# Clone the repository\ngit clone https://github.com/neuronexul/mcworker.git\ncd mineworker-go\n\n# Build\ngo build -o mcworker ./cmd/cli\n\n# Run\n./mcworker\n```\n\n### Requirements\n\n- Go 1.25 or later\n- Linux, macOS, or Windows\n- tmux (optional, for background server sessions)\n\n## Usage\n\nSimply run the `mcworker` command to launch the interactive TUI:\n\n```bash\nmcworker\n```\n\nAll functionality is driven through the TUI with proper interactive elements — no subcommands required.\n\n### Keyboard Shortcuts\n\n| Key | Action |\n|-----|--------|\n| `↑` / `k` | Navigate up |\n| `↓` / `j` | Navigate down |\n| `1-4` | Quick select menu item |\n| `Enter` | Confirm selection |\n| `Tab` | Next field (in forms) |\n| `Shift+Tab` | Previous field (in forms) |\n| `q` | Quit |\n\n### Server Creation Workflow\n\nWhen creating a new world, MineWorker automatically handles:\n\n1. **Directory Setup** — Creates the world directory structure\n2. **Java Runtime** — Downloads and installs the required Java version (if not present)\n3. **Server Download** — Fetches the server JAR for your selected server type and version\n4. **EULA Acceptance** — Automatically accepts the Minecraft EULA\n5. **Script Generation** — Creates start scripts with optimized JVM arguments\n6. **Configuration** — Saves the world configuration and generates `server.properties`\n7. **Network Setup** — Configures port and DNS settings\n\n## World Configuration\n\nEach world is a self-contained unit with its own `worker.json` configuration:\n\n```json\n{\n  \"world\": {\n    \"name\": \"my-survival-world\",\n    \"path\": \"./\",\n    \"minecraft_version\": \"1.21.11\",\n    \"description\": \"This is my survival forever world\"\n  },\n  \"server\": {\n    \"type\": \"fabric\",\n    \"jar\": \"fabric-server-1.21.11-0.18.4.jar\",\n    \"eula_accepted\": true\n  },\n  \"java\": {\n    \"version\": \"21\",\n    \"vendor\": \"temurin\",\n    \"path\": \"/home/neuronexul/.mcworker/java/temurin-21/bin/java\"\n  },\n  \"resources\": {\n    \"ram\": {\n      \"min\": \"2G\",\n      \"max\": \"4G\"\n    },\n    \"cpu\": {}\n  },\n  \"network\": {\n    \"port\": 25565,\n    \"dns\": \"mc.nexul.in\"\n  },\n  \"backups\": {}\n}\n```\n\n## Architecture\n\n```\n┌──────────────────────────────┐\n│        Bubble Tea TUI        │  ← Main menu, create world form, progress screen\n└──────────────▲───────────────┘\n               │\n┌──────────────┴───────────────┐\n│     Application / Tasks      │  ← Server creation orchestration\n└──────────────▲───────────────┘\n               │\n┌──────────────┴───────────────┐\n│      Domain / Core Logic     │  ← World, server types, validation\n└──────────────▲───────────────┘\n               │\n┌──────────────┴───────────────┐\n│  Runtime / System Services   │  ← Java, scripts, sessions, network\n└──────────────────────────────┘\n```\n\n## Project Structure\n\n```\nmineworker-go/\n├── cmd/cli/                    # Entry point\n├── internal/\n│   ├── app/                    # Application orchestration\n│   │   └── create.go           # Server creation workflow\n│   ├── domain/                 # Pure business logic\n│   │   ├── server/             # Server type definitions\n│   │   └── world/              # World configuration \u0026 validation\n│   ├── network/                # Network configuration\n│   ├── runtime/                # System integrations\n│   │   ├── java/               # Java installation \u0026 management\n│   │   ├── scripts/            # Start script generation\n│   │   └── session/            # Process \u0026 session management\n│   ├── servers/                # Server type implementations\n│   │   ├── vanilla/            # Vanilla server support\n│   │   ├── fabric/             # Fabric server support\n│   │   └── forge/              # Forge server support\n│   ├── tui/                    # Bubble Tea UI components\n│   │   ├── root.go             # Root model \u0026 screen management\n│   │   ├── main_menu.go        # Main menu screen\n│   │   ├── create_world.go     # World creation form\n│   │   ├── creation_progress.go # Progress tracking screen\n│   │   └── styles.go           # UI styles \u0026 theming\n│   └── utils/                  # Cross-platform utilities\n│       └── paths.go            # Path management\n└── assets/                     # Screenshots \u0026 media\n```\n\n## Supported Server Types\n\n| Server Type | Description |\n|------------|-------------|\n| **Vanilla** | Official Minecraft server from Mojang |\n| **Fabric** | Lightweight modding toolchain |\n| **Forge** | Popular modding platform |\n\n## Contributing\n\nContributions are welcome! Please feel free to submit a Pull Request.\n\n## License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n\n## Acknowledgments\n\n- [Bubble Tea](https://github.com/charmbracelet/bubbletea) — TUI framework\n- [Lip Gloss](https://github.com/charmbracelet/lipgloss) — Style definitions\n- [Charm](https://charm.sh/) — For the amazing terminal tools ecosystem\n- [Eclipse Temurin](https://adoptium.net/) — Java runtime distribution\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnexuls%2Fmcworker-go","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnexuls%2Fmcworker-go","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnexuls%2Fmcworker-go/lists"}