Add dedicated server bootstrap target

This commit is contained in:
2026-05-18 15:09:25 -07:00
parent 6178e77705
commit 1367f5963a
4 changed files with 208 additions and 1 deletions
+37
View File
@@ -4,6 +4,19 @@ Agrarian's multiplayer server target is Linux. Windows-Builder remains the
interactive Unreal build machine, but the server artifact should run on an
Ubuntu cloud VM or other Linux host.
## Public Endpoint Convention
Use this MVP gameplay endpoint unless a later deployment requires a different
host name:
- DNS name: `play.agrariangame.com`
- Unreal gameplay traffic: `7777/udp`
- SSH: admin IPs only
When the first Ubuntu gameplay VM is created, point the `play` A/AAAA record at
that VM. Do not point this name at the tile server; tile delivery and gameplay
should remain separate until a deliberate combined-host decision is made.
## Build Machine
Use Windows-Builder for the first repeatable build lane:
@@ -16,6 +29,23 @@ Use Windows-Builder for the first repeatable build lane:
The server target is `AgrarianGameServer`, defined in
`Source/AgrarianGameServer.Target.cs`.
## Ubuntu Host Bootstrap
Prepare a new Ubuntu gameplay host with:
```bash
sudo Operations/cloud-game-server/bootstrap_ubuntu_game_server.sh play.agrariangame.com
```
The script installs baseline packages, creates an `agrarian` service user,
creates `/opt/agrarian/server`, writes a systemd unit named
`agrarian-game-server`, and opens `7777/udp` with `ufw` when available.
For DigitalOcean or another cloud provider later, create an Ubuntu LTS droplet
or VM, copy this repository or just the script onto the host, run the bootstrap
script, then copy the `Builds/LinuxServerDevelopment` package contents into
`/opt/agrarian/server`.
## Build Command
From an elevated or normal Command Prompt on Windows-Builder:
@@ -48,6 +78,13 @@ First cloud/server launch target:
./AgrarianGameServer L_GroundZeroTerrain_Test?listen -log -port=7777
```
Systemd launch target created by the bootstrap script:
```bash
sudo systemctl restart agrarian-game-server
sudo journalctl -u agrarian-game-server -f
```
Open firewall ports only as needed:
- `7777/udp` for Unreal gameplay traffic.