Files
Vantz Stockwell 651a35d4be
All checks were successful
CI / backend-types (push) Successful in 10s
CI / frontend-build (push) Successful in 15s
CI / agent-tests (push) Successful in 39s
CI / integration (push) Successful in 22s
docs(reference): import Dune: Awakening server-manager references
Phase 2 references for the host-agent Dune adapter, moved out of volatile /tmp
into docs/reference-repos/ (per Commander). Three upstream projects, .git +
node_modules + compiled binaries stripped (16MB source). Nested AI-instruction
files (.claude/, CLAUDE.md) removed so they don't pollute Corrosion sessions.

- icehunter/    dune-admin (Go+React) — 4 control planes; SETUP_DOCKER.md is the
                closest analog to our agent's Dune docker control plane (compose
                lifecycle, docker logs, RabbitMQ-via-exec, dune Postgres schema)
- adainrivers/  Rust/Tauri desktop — SSH+k8s BattleGroup control, maintenance
                daemon, in-game admin console (Rust idiom reference)
- the4rchangel/ Node web UI replacing battlegroup.bat — matches the Commander's
                Hyper-V self-host path + game-config schema

See docs/reference-repos/README.md for the full index + how we use each.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-11 21:08:05 -04:00

3.9 KiB

Reference Repos

Third-party Dune: Awakening server-management projects, kept here as behavior references for Phase 2 (the Corrosion host-agent Dune adapter + future panel Dune features). These are NOT Corrosion code and are not built or shipped — they are read-only references. .git histories, node_modules, and compiled binaries were stripped on import (the 38 MB icehunter/web/dune-admin build artifact and a Tauri .icns are intentionally absent).

Imported 2026-06-12 from /tmp/dune-re. Each was a separate upstream repo; see each project's own LICENSE and README.md. Treat as documentation.

Why these are here

Dune: Awakening does not use SteamCMD or a plain game-server process like Rust/Conan/Soulmask. It ships as Docker container(s) fronted by a RabbitMQ broker (admin + game vhosts) and a PostgreSQL admin database (dune schema), orchestrated as a "battlegroup". The game process is DuneSandboxServer-Linux-Shipping (one per partition). Server settings live in INI files (UserEngine.ini / UserGame.ini) and only take effect after a restart. Our Dune adapter must model that container/broker/DB world instead of the process+SteamCMD model — these repos are how that world actually works in the wild.

The references

icehunter/dune-admin (Go backend + React SPA)

The richest ops reference. A web admin panel with four interchangeable control planes: docker, kubectl, local, and amp (CubeCoders AMP / podman). Most relevant to us:

  • SETUP_DOCKER.md — the Docker control plane: docker start/stop/restart for lifecycle, docker logs -f for streaming, docker exec into the broker container for RabbitMQ (rabbitmqctl) commands, direct TCP to the dune Postgres. Optional SSH tunnelling when the admin is off-host. This is the closest analog to what the Corrosion host-agent Dune adapter must do.
  • cmd/dune-admin/control_docker.go / control_kubectl.go / control_local.go / control_amp.go — the ControlPlane interface and its implementations (the start/stop/restart/status/log/broker abstraction we mirror as a Rust game-adapter trait).
  • db.go / model.go — the full Dune admin data model (players, bases, inventory, exchange/market) for when Corrosion grows a richer Dune admin surface beyond lifecycle.
  • CLAUDE.md — upstream's own engineering notes; the AMP section documents the INI-vs-API server-settings gotcha (AMP regenerates INIs on start).

adainrivers/ — Dune Dedicated Server Manager (Rust / Tauri desktop)

The Rust reference. Manages already-provisioned servers over SSH + Kubernetes ("BattleGroup" start/stop/restart/update), with secure SSH tunnels to Director / File Browser / Postgres / PgHero, an in-game admin console (item grants, vehicle spawns, journey/XP tags), and a bundled dune-server-service daemon for scheduled maintenance (timed restarts with in-game warnings, backups, update apply). Closest to our stack idiomatically — read it for Rust patterns on SSH control, the maintenance-daemon design, and the in-game command surface.

the4rchangel/ — Dune: Awakening Server Manager (Node.js local web UI)

Matches the Commander's exact self-host path. A local dashboard that replaces the battlegroup.bat terminal menu — guided VM import (Hyper-V), network, SSH, bootstrap, then daily ops: battlegroup start/stop/restart/update, character editor, visual game-config editor (PvP, sandstorms, sandworms, mining rates, decay, building limits), monitoring, DB access. Read it to understand the battlegroup.bat workflow our agent has to drive on a Windows/Hyper-V host.

How we use them

  • Lifecycle/control → mirror icehunter's ControlPlane docker provider as the agent's Dune game-adapter (compose/docker lifecycle, docker logs console, reject SteamCMD).
  • Rust idioms / maintenance daemon / SSHadainrivers.
  • Battlegroup.bat reality / setup flow / game-config schemathe4rchangel.