Technical Design

Servers & Hosting

Both official-dedicated and player-hosted servers — CONFIRMED. Players can join servers run by the developer and can also rent/run their own dedicated servers (Rust-like).

Status: draftOwner: UnassignedUpdated: 2026-09-16

Production schedule — 2026-09-13: PIPE-ROADMAP now defines 32 focused phases (P00–P31). Phase 0/1/2/3 references retained in this document are legacy scope bands, not the new phase numbers. The owner confirmed limited-area core-loop proof before full-map expansion; see the roadmap for dependencies, audited status and remaining work.

Production context

Deprecated source referenceGDD/04-Multiplayer/02-Servers-and-Hosting.md
Decision markers2 confirmed · 2 recommendations · 1 TBD
Browser document roleThis standalone HTML file is authoritative; edit this file directly through the project workflow.

Verified implementation evidence

  • Not verified for this documentation pass.

Relationships

Document contract coverage

Use these required Technical Design areas during review. The HTML content below is authoritative; items not stated explicitly remain unresolved.

  • ReviewProblem & Scope
  • ReviewCurrent vs Proposed
  • ReviewArchitecture
  • ReviewData Model
  • ReviewInterfaces & Events
  • ReviewReplication / Persistence
  • ReviewPerformance & Failure Handling
  • ReviewImplementation Plan
  • ReviewVerification Strategy
  • ReviewTechnical Decisions / TBDs

Authoritative project content

Both official-dedicated and player-hosted servers[CONFIRMED]. Players can join servers run by the developer and can also rent/run their own dedicated servers (Rust-like).

Hosting models

Official dedicated (developer-run)

  • Developer operates a fleet of dedicated servers.
  • Controlled quality, monitoring, anti-cheat, and live-ops.
  • This is the curated/"trusted" experience.
  • [RISK] ongoing hosting cost + ops burden; this is a real operating expense for an indie. Plan capacity and cost before launch.

Player-hosted dedicated

  • Players run the Linux/Windows dedicated server binary themselves (rented box or home server), Rust/DayZ-style.
  • Grows the community and offloads hosting cost; enables custom rules/mods.
  • Requires: a shippable, documented server build; configuration files; an admin/RCON toolset. This is a Phase-3 deliverable (tooling/docs), though the dedicated build itself must work from Phase 1 for development.

Server configuration — [RECOMMENDATION]

Expose via config (.ini/JSON) so server operators can tune without code (see ../05-Technical/05-Project-Setup-Steps.md): - Max players, server name/description, map/region selection. - Rates: gather multipliers, craft speed, decay timers, loot respawn. - Rules: the world has no safe zones or PvP-disabled zones; offline raiding is allowed with no offline-raid protection. Raid-window scheduling remains [TBD]. - Social rules: squads have no design-level member cap; friendly fire is enabled or disabled through dedicated-server settings. - Voice chat: both proximity and squad channels are supported. - Wipe schedule (see below).

Persistence per server

Wipes — [CONFIRMED] none

Servers do not perform scheduled wipes. World, player, building, vehicle, inventory, and permanent-buff state remain persistent. Database growth is controlled through lifecycle cleanup, compaction, archival, backups, and schema migrations rather than periodic resets. Destructive administrator recovery remains an operational tool, not a normal gameplay wipe.

Administration

  • Admin/moderation tools: kick/ban, teleport, spawn, inspect — [RECOMMENDATION], needed for live and for player-hosted operators.
  • Logging/telemetry for cheat detection and balancing.

Build targets

Server browser & entry flow — [CONFIRMED]

FEAT-HUD-UI defines Official/Community tabs, favorites, ping, population, search, and filters. After server selection, a missing character routes to character creation then free starter-town selection; an existing character enters at its persisted location. Steam Client is the launch/update surface, so no custom launcher/patcher is in scope.

[P08 IMPLEMENTED 2026-09-15; NULL/LAN ADVERTISE 2026-09-16; IN-PROCESS PIE LISTING 2026-09-16; OWNER-REPORTED JOIN PASS 2026-09-16; STEAM STILL BLOCKED] ULambeerSessionSubsystem adapts Unreal Online Sessions into stable presentation rows with cancellable refresh, favorites, Official/Community and friendly-fire metadata, build compatibility, search/filter and explicit full/stale/timeout/join failures. Dedicated and listen persistable worlds advertise a Null/LAN session. One-process PIE lists those hosts by listen port because Null FindSessions cannot see the same-process beacon. UE 5.8 Play As Client starts that dedicated world automatically (hidden under one-process PIE). Development config uses OnlineSubsystemNull and LAN search for other processes. It does not prove Steam discovery or production metadata; TBD-HUD-UI-004 remains blocked. Owner reported Dedicated Server + two-client Server Browser Refresh/Join.