2.3 KiB
Agrarian MVP Map Tile Delivery Server Runbook
The near-term tile server is intentionally simple: static files served by nginx from an Ubuntu VM. This proves the contract for tile manifest lookup, package download, checksums, local cache, and redownload before investing in a database or application service.
Build The Ground Zero Tile Package
On Ubuntu-Codex or any Linux machine with the repo mounted:
cd /mnt/projects/AgrarianGameBulid
Scripts/build_ground_zero_tile_delivery_package.sh
Output:
BuildArtifacts/TileDelivery/public/manifest.jsonBuildArtifacts/TileDelivery/public/ground_zero_tiles.jsonBuildArtifacts/TileDelivery/public/tiles/gz_us_ca_pacifica_utm10n_e544_n4160/v0/BuildArtifacts/TileDelivery/public/SHA256SUMSBuildArtifacts/TileDelivery/agrarian-ground-zero-tile-delivery.tar.gz
BuildArtifacts/ is a local build output and should not be committed.
Bootstrap A New Ubuntu Tile Server
Copy the archive to a fresh Ubuntu VM, then run:
sudo AGRARIAN_TILE_SERVER_NAME=tiles.example.test \
Operations/cloud-map-tile-server/bootstrap_ubuntu_tile_server.sh \
/path/to/agrarian-ground-zero-tile-delivery.tar.gz
For an IP-only MVP test, omit AGRARIAN_TILE_SERVER_NAME.
The bootstrap installs nginx, creates:
/srv/agrarian/tile-delivery/public
and publishes:
http://SERVER_IP/healthhttp://SERVER_IP/manifest.jsonhttp://SERVER_IP/ground_zero_tiles.jsonhttp://SERVER_IP/tiles/gz_us_ca_pacifica_utm10n_e544_n4160/v0/...
Cost Control
Keep the MVP server small:
- Ubuntu LTS, smallest useful VM size.
- Static nginx only.
- No database for the first proof.
- No public write endpoints.
- No Unreal server process on the tile VM unless explicitly testing combined hosting.
- Shut down or destroy the VM when not testing.
Security Baseline
- Allow inbound
80/tcpfor the public MVP endpoint. - Allow SSH only from trusted admin IPs.
- Add HTTPS with certbot when a real DNS name is assigned.
- Treat tile packages as immutable by version. Publish fixes as a new package version instead of editing files in place.
Next Proof
The next implementation step after this runbook is to launch the MVP cloud VM, publish this static package, and prove lookup/download/cache/redownload behavior from a representative client.