Launch MVP tile delivery server

This commit is contained in:
2026-05-14 19:10:28 -07:00
parent e25b3d2cdd
commit 03cf249d19
3 changed files with 182 additions and 10 deletions
+48 -4
View File
@@ -49,6 +49,48 @@ and publishes:
- `http://SERVER_IP/ground_zero_tiles.json`
- `http://SERVER_IP/tiles/gz_us_ca_pacifica_utm10n_e544_n4160/v0/...`
## Current MVP VM
The first Unraid-hosted MVP tile server is running on the existing
`Ubuntu-Codex` VM while we keep costs at zero and avoid creating a new paid
cloud host too early.
Current endpoint:
```text
http://192.168.5.10:18080
```
The uncommon port is intentional for this local MVP proof. The server publishes:
- `http://192.168.5.10:18080/health`
- `http://192.168.5.10:18080/manifest.json`
- `http://192.168.5.10:18080/ground_zero_tiles.json`
- `http://192.168.5.10:18080/tiles/gz_us_ca_pacifica_utm10n_e544_n4160/v0/...`
The attempted dedicated `Agrarian-TileServer` VM bootstrap was deferred because
the Ubuntu cloud image download from Unraid was too slow to be practical during
this pass. A dedicated VM remains the next hardening step before exposing the
tile server outside the LAN.
## Verify Client Lookup And Cache
From a representative Linux client with the repo mounted:
```bash
cd /mnt/projects/AgrarianGameBulid
Scripts/verify_tile_delivery_client.sh http://192.168.5.10:18080
```
The verification script:
- downloads `manifest.json`;
- resolves the tile registry and package paths;
- downloads the Ground Zero terrain package files into a local cache;
- verifies `SHA256SUMS`;
- checks that immediate-neighbor metadata exists for the Ground Zero tile;
- deletes and redownloads the heightmap to prove cache recovery.
## Cost Control
Keep the MVP server small:
@@ -63,7 +105,8 @@ Keep the MVP server small:
## Security Baseline
- Allow inbound `80/tcp` for the public MVP endpoint.
- Allow inbound `18080/tcp` for the local MVP endpoint. Use `80/tcp` or
`443/tcp` only when a real DNS name and HTTPS path are assigned.
- 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
@@ -71,6 +114,7 @@ Keep the MVP server small:
## 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.
The current implementation proves static lookup/download/cache/redownload on
the LAN. The next operational hardening step is to move this from shared
`Ubuntu-Codex` hosting to a dedicated `Agrarian-TileServer` VM or external cloud
host when we need public testing.