No description
- Go 85.1%
- Shell 12.3%
- Perl 2.5%
| api | ||
| hooks | ||
| info | ||
| server | ||
| commands.go | ||
| config | ||
| config.go | ||
| config.toml.example | ||
| description | ||
| go.mod | ||
| go.sum | ||
| main.go | ||
| makefile | ||
| model.go | ||
| mstui-debug.log | ||
| README.md | ||
| styles.go | ||
| types.go | ||
| update.go | ||
| update_keyboard.go | ||
| view.go | ||
Minecraft Server TUI
Terminal UI for managing Minecraft modded servers.
Prerequisites
- Go 1.24+ (to build)
- Java 17+ runtime (to run servers)
- Java 17+ runtime (to run servers)
CurseForge: The official API requires a free API key from https://console.curseforge.com/.
Set it viacurseforge_api_keyin config orCF_API_KEYenv var.
Modrinth works without any key — presssto switch sources.
Build
go build -o mc-tui .
Configuration
Config file: ~/.mc-tui.toml
See config.toml.example for all options.
CurseForge API Key
Optional but needed for CurseForge source (Modrinth works without one).
Set via one of:
curseforge_api_key = "your-key"in~/.mc-tui.tomlexport CF_API_KEY=your-keyexport MSTUI_CONFIG=/path/to/config.toml
Usage
Run: ./mc-tui
| Key | Action |
|---|---|
Tab |
Cycle focus between panels |
j/k |
Navigate lists |
/ |
Search (Browse view) |
s |
Toggle source (Modrinth/CurseForge) |
v |
Open version dropdown |
i |
Install selected modpack |
Enter |
Select / focus console input |
Ctrl+S / Ctrl+X |
Start / Stop server |
q |
Quit |
? |
Help |
Project Structure
api/ — Modrinth & CurseForge API clients
server/ — Instance management, install, process lifecycle
main.go — Entry point
model.go — Initial state
update.go — Tea.Update handler
update_keyboard.go — Key event routing
view.go — Terminal rendering
styles.go — Lipgloss styles
types.go — Shared types & constants
config.go — Config file loading
commands.go — Async commands (search, install, start/stop)