Every number.
Every result.
Every improvement we have ever shipped: game servers, control panel, website. Wins and negative results both. Nothing rounded up, nothing projected without a label.
Most hosts advertise speed. We measure it, publish the data, and mark the rounds that did not move the needle.
± 1.6 s stddev · mean of five cold starts
Fast Load cut cold-start from vanilla's 45–90 s to 6.2 s.
Same hardware everyone else rents. Same GMod binary. What changed is what runs around it — container template, image layout, and what actually needs to load before the server accepts connections.
- Boot mean: 6.2 s, n=5, gm_construct, no addons
- Vanilla community range: 45 – 90 s (typical setup guides)
- Every future improvement adds a row to the archive below
All runs.
In chronological order.
Each point is a separate measurement. Green means the delta was larger than 2× baseline stddev. Grey means it landed inside noise, so no claim is made. Failed attempts stay published — they narrow the search space and prevent revisiting the same dead ends.
- Hover any point for detail and stddev
- X axis: run number (chronological, not calendar-spaced)
- Y axis: mean startup time in seconds
Instant Boot pool.
A pre-warmed server pool for near-instant new-server starts. Live metrics appear here once it begins serving traffic — until then this panel shows the current in-development state, updating every 60 s.
Instant Boot pool: in development. A pre-warmed server pool for near-instant new-server starts. It is not serving yet, so there are no pool metrics to show. The Fast Load figures above are measured on production hardware today. Methodology
Every claim, checked.
Every PR that claims a speed improvement is measured against the canonical scenario. Delta smaller than 2× baseline stddev = recorded as within noise, no claim made.
Within noise floor (threshold 3.6s = 2x before stddev). Startup time unaffected. Confirmed wins: image -175MB, per-server volume -273MB.
Within noise floor. Negative result: the targeted phase was not the bottleneck.
Total mean within noise floor, but the targeted loading phase consistently improved 2.0s to 1.8s. Composes with future work.
Within noise floor. Negative result: the targeted phase did not measurably improve.
What didn't work.
Published the same way as wins. They narrow the search space and prevent the same dead ends being revisited.
Attempt 4 did not reduce startup time
Startup mean moved 5.8 s → 7.2 s, a +1.4 s change inside the 3.6 s noise floor. Image size dropped 175 MB and provisioning improved, but startup itself is unchanged.
Attempt 1 was not the bottleneck
A 12.2% file-size reduction produced a +0.3 s change within noise. The targeted phase was not the bottleneck.
Attempt 3 did not improve startup time
A +0.4 s change within the 3.2 s noise floor. The targeted phase moved the wrong way. No further investigation planned.
Project Zomboid, 2 GB (former Starter tier)
A fresh world-gen boot with zero players and zero mods settled around 2.2 GB against a 2.4 GB ceiling -- effectively maxed out before anyone connects. This is why Starter moved to 4 GB in August 2026.
Improvements archive.
Every improvement shipped across game servers, panel, and website. Updated with each optimisation round.
Game servers
16 entries| What improved | Result |
|---|---|
| Server cold-boot time vs vanilla GMod hosting* | 6.2s vs 45-90s (~7x faster) |
| Instant Boot server start time | 6.1s → 798ms (-87%) |
| Project Zomboid out-of-memory startup crash | Eliminated |
| Cold-start time (Garry's Mod, n=5) | 6.2s |
| New server provisioning, cold | Under 90s |
| Early startup phase | -0.2s (consistent across runs) |
| Server image size | 6.5GB → 141MB (-98%) |
| Per-server storage footprint | -273MB |
| Container creation overhead, identified | 1.56s (78% of boot gap) |
| Idle CPU, empty server (Standby) | 0% while suspended (by design) |
| Wake-on-packet latency (Standby) | ~1s end-to-end |
| Minecraft server, subsequent startups | 2-5s faster |
| Minecraft memory pauses under load | 5x reduction |
| New server, first-start wait | 30-90s eliminated |
| GMod server jitter, multi-server hosts | Eliminated |
| Project Zomboid server memory footprint* | Now stable at ~1.2GB (previously crashed under normal load) |
*Zeros result: 6.2s mean cold-start, n=5, production hardware, 2026-06-03 (docs/fast-load/benchmarks.md). Vanilla range 45-90s from community server setup guides and forum reports; not a controlled benchmark of third-party infrastructure.
*Prior default configuration could crash under normal load; current default runs stably at roughly 1.2GB observed, consistent across 5 independent test runs.
Control panel
16 entries| What improved | Result |
|---|---|
| VitalsPage chunk size | 67.71 kB → 4.42 kB gzip (-93%) |
| ModelsPage chunk size | 136.29 kB → 10.74 kB gzip (-92%) |
| Panel initial load, non-editor pages | -8 kB gzip (-1 HTTP request) |
| Wings process heap (inuse_space) | 34 MB → 7 MB (-79%) |
| Console history, 50 concurrent cold reads | ~287ms → ~10ms (-97%) |
| Console page load time | ~1.04s → ~250-350ms |
| Panel initial page load | 2.65MB → 210KB (-92%) |
| Admin section, repeat visits | Up to 6 reads → 0 |
| Player avatar loading | Faster, persists between pages |
| Player avatar requests per page | Many → 1 |
| Panel progress bar updates | 2 → 1 per event |
| Panel overlay event handling | 3 → 1 per open/close |
| Username colour computation | Once per session |
| User avatar initials and colour computation | Once per avatar (memoized) |
| Console log history fetches on load | 2 → 1 |
| Workshop page collection requests on load | 2 → 1 |
Website
11 entries| What improved | Result |
|---|---|
| Game page images, total weight | 6.7MB → 866KB (-87%) |
| Largest page image | 2MB → 147KB (-93%) |
| JS download, return visitor re-fetch | 117KB → 17.76KB gzip (-84.9%) |
| Home page JS download | 31.9KB → 22.6KB gzip (-29%) |
| Garry's Mod page JS download | 14.0KB → 8.5KB gzip (-39%) |
| Minecraft page JS download | 14.0KB → 5.7KB gzip (-59%) |
| Project Zomboid page JS download | 7.1KB → 3.3KB gzip (-54%) |
| Terraria page JS download | 7.1KB → 3.4KB gzip (-53%) |
| Discord Bot page JS download | 12.4KB → 9.5KB gzip (-23%) |
| TTFB, game and content pages | 50-55ms |
| Total critical-path JS + CSS (first visit) | 130KB gzip |
Measured = verified via script on production hardware. Documented = confirmed in PR description or release notes.
Benchmark records.
Every measurement run against the canonical scenario. Append-only: no row is ever edited or removed.
| Date | Round | n | Mean | Stddev |
|---|---|---|---|---|
| 2026-06-03 | Phase 1 baseline | 5 | 6.2s | ± 1.6s |
| 2026-06-03 | Run 2 baseline | 5 | 5.8s | ± 1.8s |
| 2026-06-03 | Attempt 4 after | 5 | 7.2s | ± 2.0s |
| 2026-06-03 | Run 2 baseline | 10 | 6.2s | ± 1.5s |
| 2026-06-03 | Attempt 1 after | 10 | 6.5s | ± 2.0s |
| 2026-06-03 | Attempt 2 after | 10 | 6.1s | ± 1.6s |
| 2026-06-03 | Attempt 3 after | 10 | 6.5s | ± 2.1s |
Scenario: canonical-cold = sandbox / gm_construct / no-addons / cold-start
Methodology.
Numbers are only useful if the method is reproducible and the thresholds are stated up front.
n=5–20, drop outliers
Run 5–20 cold starts. Drop run 1 (first-start overhead) and any result more than 3 standard deviations from the mean. Report median.
Canonical scenario
Same gamemode, map, no addons, cold-start on the same production server each time. Any deviation is noted in the scenario column.
Noise floor threshold
A delta is only claimed as meaningful if it exceeds 2× the baseline standard deviation. Smaller deltas are recorded as within noise floor.
Same hardware. Same benchmarks. Same honesty.
24-hour free trial, no card required. Plans from £1/mo.