- HTML 100%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
| examples/blueprints | ||
| web | ||
| blueprint.schema.json | ||
| README.md | ||
| VERSION | ||
GameOps Blueprint Builder
The Blueprint Builder is the configuration stage for a GameOps dashboard. It
asks how an existing game server is run, updated, observed, and published, then
downloads a reviewable *.blueprint.json file.
It does not connect to the game server, run commands, or install the dashboard. After reviewing the downloaded file, give it to the separate GameOps Host Dashboard installer on the game server.
Companion project
The generated blueprint is installed by the GameOps Host Dashboard. Keep the two repositories separate: this project creates configuration, while the Host Dashboard validates it and manages the operational services.
Use the builder
Publish the contents of web/ with any static HTTPS server, or run it locally:
python3 -m http.server 8080 --directory web
Open http://127.0.0.1:8080/, complete the sections, and select Download
manifest. Draft answers stay in the current browser's local storage.
The builder cannot confirm that a Linux account, path, service, container, certificate, or telemetry endpoint exists. The host installer validates the blueprint against the actual server.
For games that implement the Steam A2S query protocol, choose Steam A2S
(UDP) and enter the game's documented local query port. A2S uses UDP, but its
port is game-specific: it may be separate from or shared with the gameplay
port, so do not assume game port + 1.
The supplied Valheim example uses game port 2456 and A2S query port 2457.
Confirm that example against the local ports reported by LinuxGSM. Steam queries may
be unavailable when Valheim is started with -crossplay; in that case choose
a real HTTP JSON status service or leave player totals unavailable. Runtime
uptime does not require telemetry: the Host Dashboard derives LinuxGSM uptime
from the explicitly configured named tmux session through a fast local process
probe.
Choose a dashboard board
The Dashboard board step changes both the interface and the host integration that will be installed. The live preview changes with the selection and the questionnaire shows only that board's host settings.
- GameOps works with systemd, LinuxGSM, Compose, a named container, a fixed GNU screen session, or fixed executable argument arrays. It is the correct choice for Valheim and for any game without a dedicated profile.
- Vana'diel Operations requires a LandSandBoat Docker Compose stack with
services named exactly
database,connect,search,world, andmap, plus the expected MariaDB character/session schema. - Palworld Operations requires a Palworld server controlled by GNU screen or systemd. Its richer metrics and graceful save/warning flow require the local Palworld REST API.
- Minecraft Server Dashboard requires Minecraft Java Edition Vanilla under systemd. Its installer adopts the selected unit, protects RCON credentials, and manages the official Mojang stable-release update workflow. Do not use it for Paper, Fabric, Forge, or a modpack without first adapting that profile.
Tailored profiles are deliberately game-locked. Their profile acknowledgement
means the listed runtime, data model, and private API requirements were reviewed;
it is not a compatibility override. Every tailored board also requires
edge.fail2ban: true and a working fail2ban installation on the host; its
installer does not support --no-fail2ban.
Only the universal GameOps board supports appearance settings. Its blueprint can seed an allowlisted preset, colours, density, and corner style. After deployment, an authenticated operator can change the shared appearance or reset it to that seed, upload bounded PNG/JPEG background artwork, and accept or edit locally suggested colours. With HTTP JSON telemetry it can also map up to eight fixed-format text widgets. The LinuxGSM updater gives an existing LinuxGSM server installed-build reporting, a Steam public-build check, and its native update action without custom helper scripts. SteamCMD or paired advanced custom reporting commands cover other servers. Selecting No updates omits the maintenance section from the deployed dashboard. Tailored boards keep their native game-specific design and do not use the universal appearance editor.
The first two appearance choices are the shared product foundations:
GameOps appearance and Nexus appearance. New manifests use gameops or
nexus; the older violet identifier remains accepted as a compatibility
alias for nexus.
Next step
Copy the downloaded JSON file to the game host and run the Host Dashboard installer:
sudo ./install.sh --blueprint my-game.blueprint.json
For a tailored board, include the acknowledgement printed by the Builder:
sudo ./install.sh \
--blueprint palworld.blueprint.json \
--confirm-tailored-profile palworld
The installer collects the dashboard password separately. The Palworld profile
can also read its REST/AdminPassword from a root-readable
--game-secret-file; Minecraft creates and protects its RCON credential, and
FFXI reads its existing database container environment. Passwords, API tokens,
RCON credentials, and private keys never belong in the downloaded JSON.
The host package README documents TLS paths, Apache/Nginx, authentication, upgrades, removal, and all supported adapters.
Blueprint safety
Treat the generated JSON as system configuration. Review every account, path, service, container, executable, argument, URL, and allowed action before it is installed. Do not put passwords, API tokens, RCON secrets, or private keys in a blueprint.