Waystone Panel

Updates

Development updates

News from the Waystone Panel project as development progresses, newest first. For planned work, see the roadmap; for published versions, the changelog.

  1. Stage WS: locking the front door before building it

    Stage 5 gives Waystone a web panel: a login page, and buttons for start, stop and the operation history. That means the controller will answer browsers for the first time. Before writing a single page, I wanted the door they come through to be solid. Stage WS is that door. There's no UI in it yet. It's the part every page will stand on.

  2. Stage 4c: start, stop and restart, for real

    At the end of 4b-2 the controller could take requests and the agent could report what was running, but nothing connected the two. A start request was written down and then just sat there. Stage 4c joins them up. You ask the controller to start a server, the agent on that machine carries it out, and the result is recorded against the operation. Then all of it moves out of my terminal windows and into systemd, where it runs by itself and comes back after a reboot.

  3. Stage 4b-1: the database learns who is allowed to report

    Since stage 4a, Waystone has been able to record that someone asked for a server to start. What it can't do yet is hear back from the machine the server runs on. In stage 4b the agent on each machine connects to the controller and reports what's really running. 4b-1 is the half of that which lives in the database: what a "connection" means, what a report may change, and who is allowed to send one.

  4. Stage 4a-1: Waystone now remembers everything it does

    Through stage 3, Waystone could build a Minecraft server from nothing, install its jar and start or stop it, all without root. But it had no memory. Once a request was done, nothing recorded who asked for it, what happened, or whether it was still running. Stage 4 gives Waystone a controller that keeps that record, and stage 4a-1 is its foundation: the database.

  5. Stage 3c-2: Waystone now installs the game itself

    In Stage 3c-1, Waystone learned to write a server's settings and accept the EULA through a sandboxed worker. One manual step was left: the Minecraft jar. Until now, I copied it into each server's folder by hand. As of Stage 3c-2, that's gone too. A server now goes from nothing to running in five steps, and nothing gets copied onto the machine by hand:

  6. Stage 3b: Waystone now builds its own game servers

    In Stage 3a, Waystone learned to start and stop a Minecraft server. There was a catch: I had to set that server up by hand first, including its user, its folder and its systemd unit. As of Stage 3b, that's no longer true. One request now gives a game server everything it needs to exist on a machine.

  7. First Minecraft server started through the real agent path

    Waystone just started and stopped its first Minecraft server through the real agent path. On screen it's a handful of commands in a terminal. Underneath, it's the security boundary the rest of the panel will stand on, so here's what's in that screenshot and why it's built this way.