No description
  • Go 85.1%
  • Shell 12.3%
  • Perl 2.5%
Find a file
2026-07-03 11:58:06 +02:00
api fixing some stuff 2026-06-27 19:01:53 +02:00
hooks batman, working search for modrith and curseforge 2026-06-21 12:48:33 +02:00
info batman, working search for modrith and curseforge 2026-06-21 12:48:33 +02:00
server adding updates 2026-07-03 11:58:06 +02:00
commands.go adding updates 2026-07-03 11:58:06 +02:00
config batman, working search for modrith and curseforge 2026-06-21 12:48:33 +02:00
config.go fixing some stuff 2026-06-27 19:01:53 +02:00
config.toml.example fixing java versions now? 2026-06-21 15:19:40 +02:00
description batman, working search for modrith and curseforge 2026-06-21 12:48:33 +02:00
go.mod batman, working search for modrith and curseforge 2026-06-21 12:48:33 +02:00
go.sum batman, working search for modrith and curseforge 2026-06-21 12:48:33 +02:00
main.go adding updates 2026-07-03 11:58:06 +02:00
makefile batman, working search for modrith and curseforge 2026-06-21 12:48:33 +02:00
model.go adding updates 2026-07-03 11:58:06 +02:00
mstui-debug.log fixing some visuals 2026-06-21 14:30:19 +02:00
README.md fixing readme 2026-06-21 14:34:14 +02:00
styles.go fixing styles 2026-07-02 23:40:33 +02:00
types.go adding updates 2026-07-03 11:58:06 +02:00
update.go adding updates 2026-07-03 11:58:06 +02:00
update_keyboard.go adding updates 2026-07-03 11:58:06 +02:00
view.go adding updates 2026-07-03 11:58:06 +02:00

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 via curseforge_api_key in config or CF_API_KEY env var.
Modrinth works without any key — press s to 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.toml
  • export CF_API_KEY=your-key
  • export 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)