Nodes (LAN + cloud)
Add spare PCs or any VPS as compute — PlayOn configures WireGuard for cloud so players still join on the LAN.
What a node is
Home is the control plane (admin UI, agents, /play). A node is a machine that can run game servers.
| Kind | Typical machine | Tunnel |
|---|---|---|
| Local | The same box as Home (optional) | None |
| Remote (LAN) | Spare PC / mini-PC on your network | None |
| Cloud | Any VPS you can SSH to | WireGuard (PlayOn sets this up) |
You do not pick a cloud vendor inside PlayOn. Bring your own VPS (or spare PC), then Add node.
1. Decide if Home hosts games
Settings → Nodes
- Leave Also host game servers on this machine on if the install box can run games.
- Turn it off for a laptop-only control plane (all runtimes on added nodes).
2. Add a node
Same flow for LAN and cloud:
- Choose On my LAN or In the cloud.
- Prefer Add via SSH (host, username, password or key). PlayOn installs the node-agent for you.
- Or use Copy one-liner instead and paste it in a root shell on the target (for cloud, enter the VPS public IP first).
Within about 15 seconds the Dashboard → Nodes list should show the machine online.
Cloud specifics
- Install WireGuard tools on Home once:
wireguard-tools(Linux) or WireGuard for Windows. - PlayOn generates keys, brings up the tunnel, and points the node-agent at the overlay.
- When a game runs on a cloud node, Home publishes LAN ports and forwards them over WireGuard. The player panel still shows your LAN join address — guests do not need the VPS public IP.
LAN specifics
- No WireGuard.
- The node must reach Home’s API on the LAN (
PLAYON_ADVERTISE_HOST/ auto-detected IP).
3. Place servers
When you create a server (chat or UI), PlayOn ranks eligible nodes. Badges look like:
LocalRemote · basement-pcCloud · vps-1
You can move a stopped server between nodes later (snapshot + data copy).
3b. Manage an existing install on a node
If a node already has a game install (Steam//opt/servers trees):
- Open the Dashboard map and click that host’s pad.
- Scan — PlayOn looks for known launchers (Minecraft, Rust, Valheim, Terraria, Factorio, Project Zomboid, UT99, …).
- Manage — copies the install into PlayOn’s jail on that host (original left in place). For games that keep worlds outside the install (e.g. Zomboid
~/Zomboid, Valheim/Terraria under XDG), PlayOn also copies that world/config when it can read it, and picks up systemd launch args like-servername/-world. - Stop the old host service/unit yourself, then Start the server in PlayOn (cutover needs a maintenance window).
The node-agent user must be able to read the previous service user’s data directory when worlds live under $HOME. After updating Home, use Settings → Nodes → Update so remote agents get the latest Manage/cutover support.
4. Remove a node
Move or delete servers on that node first, then Remove under Settings → Nodes. For cloud, PlayOn tears down the WireGuard peer; your VPS keeps running until you destroy it at the provider.
Docker on nodes
Many catalog games need Docker on the machine that runs them. On Linux, Add-node and Home service install can install Engine automatically. If a node is online without Docker, open Settings → Nodes → Install Docker (SSH or copyable one-liner). Full guide: Docker on nodes.
Tips
- Heavy modpacks → prefer a strong LAN box or cloud node; keep voice/proxy Local if you want.
- Air-gapped LANs: use Local + LAN nodes only (cloud Add node needs outbound SSH and WireGuard).
- Agents can call
nodes_add/nodes_remove/placement_suggest/servers_relocateover MCP once connected.