Where the road goes next
Roadmap
What we’re building for Arctic Heritage, what’s holding each piece up, and the latest work on it. Updated automatically with every change we ship.
- In Progress 0
- Blocked 1
- Planned 21
- Done 12
Decisions
-
Done AH-090 Plugin breakage on game updates is accepted
- Status
- Done
- Blockers
- None
Like every plugin that patches game memory, ours may break on game updates. We handle it with signature scanning, a verified-build allowlist, automated checks against every new game build, and a test server before each release. Players are version-locked to the last verified ATS build (via Steam's previous-version branches) until fixes ship together.
-
Done AH-091 Mod distribution: aggregate on the player's PC
- Status
- Done
- Blockers
- None
We publish a manifest, not mods. The installer downloads each free mod from its official source, verifies the pinned version and checksum, and merges them locally into deterministic packs (LLCC-style P0..Pn) that must match the server's export byte for byte. Paid mods are never downloaded; the installer only checks they are present. Mods whose authors grant permission may also be hosted by us.
Foundation
-
Done AH-001 Convoy server
- Status
- Done
- Blockers
- None
ATS dedicated server in its own container: 128 player slots (
g_max_convoy_size), modded session, self-update on restart, status reporter every 30 seconds.Lesson learned: editing
optional_modflags in the server export breaks joining ("Data not compatible with the server"); the server checks the package list against the map data.Recent work
-
cda548dFix job extraction for real game config order; add reprocessing -
b83e69bAdd reusable optional-flag tool for server package exports -
837b75bAdd arcticheritage.net homepage and live convoy server status
-
Done AH-002 Telemetry protocol and offline simulator
- Status
- Done
- Blockers
- None
NDJSON protocol v1, signed hash-chained journal format, simulator with replay server so every consumer can be developed without driving.
Recent work
-
72ea376Run the API as a LAN service, add Windows smoke test, update design -
8ab3bfcAdd the Rust telemetry plugin (SCS SDK 1.15) -
4f02618Add driver client: enrollment, journal sync and live follow -
429d2aaAdd API enrollment, verified session sync and job extraction -
e2a62c9Add journal, offline catch-up and signed telemetry integrity -
8cbf74dAdd telemetry protocol v1, design doc and offline simulator -
2bdce92Add SCS telemetry SDK 1.15 reference -
6f38122Scaffold Arctic Heritage monorepo
-
Done AH-003 Telemetry plugin (Rust)
- Status
- Done
- Blockers
- None
All SCS SDK 1.15 channels, configurations and events; signed journal; local TCP stream. First live session on 2026-10-03.
Recent work
-
72ea376Run the API as a LAN service, add Windows smoke test, update design -
8ab3bfcAdd the Rust telemetry plugin (SCS SDK 1.15)
-
Done AH-004 Driver client
- Status
- Done
- Blockers
- None
ah-client: DPAPI-protected install key, enrollment, journal sync with catch-up, live follow, full-raterecord.Recent work
-
7e0003cRe-link enrolled PCs with driver codes; grant the Driver role -
5e3d1c4Add ah-client record for full-rate live recordings -
4f02618Add driver client: enrollment, journal sync and live follow -
429d2aaAdd API enrollment, verified session sync and job extraction -
6f38122Scaffold Arctic Heritage monorepo
-
Done AH-005 API: enrollment, session sync, jobs
- Status
- Done
- Blockers
- None
Verified session sync, job extraction with plausibility flags, reprocessing from stored chunks, convoy server status.
Recent work
-
7e0003cRe-link enrolled PCs with driver codes; grant the Driver role -
6066a84Add Discord login, driver accounts, enrollment codes and delivery posts -
35a1402Add roadmap guardrails: required Refs and ROADMAP.md validation -
136eb99Add the public roadmap page driven by ROADMAP.md and git history -
cda548dFix job extraction for real game config order; add reprocessing -
ba89a37Redirect www.arcticheritage.net to the bare domain -
86149e5Add the Join page, mobile menu and public-exposure hardening -
837b75bAdd arcticheritage.net homepage and live convoy server status
and 3 earlier commits
-
Done AH-006 Website: homepage and Join page
- Status
- Done
- Blockers
- None
arcticheritage.net via Cloudflare Tunnel: live server status, recent deliveries, a Join page generated from the server's package export.
Recent work
-
b1153e1Show the driver on delivery lists -
6066a84Add Discord login, driver accounts, enrollment codes and delivery posts -
859a949Fix the roadmap item collapse icon -
136eb99Add the public roadmap page driven by ROADMAP.md and git history -
f7b5d87Update server package list for game 1.61.3 -
ba89a37Redirect www.arcticheritage.net to the bare domain -
86149e5Add the Join page, mobile menu and public-exposure hardening -
78a21e1Tell players how to see the 128-player server
and 2 earlier commits
-
Done AH-007 Infrastructure
- Status
- Done
- Blockers
- None
Dev VM (Fedora), Postgres with nightly backups, website/API service, Gitea with GitHub mirror.
Recent work
-
35a1402Add roadmap guardrails: required Refs and ROADMAP.md validation -
cda548dFix job extraction for real game config order; add reprocessing -
b83e69bAdd reusable optional-flag tool for server package exports -
837b75bAdd arcticheritage.net homepage and live convoy server status -
e0a3b37Exclude the Windows-only smoke test from pyright -
72ea376Run the API as a LAN service, add Windows smoke test, update design -
8cbf74dAdd telemetry protocol v1, design doc and offline simulator -
4e3aed4Run Postgres backup as a systemd user timer
and 1 earlier commits
Now
-
Done AH-010 Public roadmap page
- Status
- Done
- Blockers
- None
This page: generated from
ROADMAP.mdand the git log, with status, blockers and recent commits per item. Doubles as the working plan for contributors and AI agents.Recent work
-
4bc1a99Mark the public roadmap page done -
859a949Fix the roadmap item collapse icon -
136eb99Add the public roadmap page driven by ROADMAP.md and git history
-
Blocked AH-011 Join page matches the server's required mods
- Status
- Blocked
- Blockers
- Marking paid truck mods optional by editing the export breaks joining; need another way (or accept them as required)
The server currently runs the unedited export (only Alaska NTTF and the Cargo Add-On are optional), but the Join page still shows the earlier 19 required / 28 optional split.
-
Planned AH-012 First real-drive fixture
- Status
- Planned
- Blockers
- None
- Depends on
- AH-002
Gzip support in
ah-telemetry-sim, then store the 2026-10-03 Prudhoe Bay to Mikkelsen Bay recording as the first fixture from the real game. -
Done AH-013 Discord integration
- Status
- Done
- Blockers
- None
- Depends on
- AH-005
Done: log in with Discord (members of the Arctic Heritage Discord only), account page, one-time enrollment codes that link a PC to the driver, delivery posts to #deliveries, driver names on the site,
ah-client enroll --codere-links an already enrolled PC (client 0.1.1), and the Driver role (created by the bot) after a first verified delivery.Log in with Discord (replaces the enrollment code), driver accounts linked to installs, delivery posts, roles. The bot is registered and already in the Discord, waiting on the backend.
Recent work
-
bcb22b6Mark Discord integration done -
7e0003cRe-link enrolled PCs with driver codes; grant the Driver role -
b1153e1Show the driver on delivery lists -
6066a84Add Discord login, driver accounts, enrollment codes and delivery posts -
ac3ec9fRoadmap: unblock Discord, add internal tooling items -
6f38122Scaffold Arctic Heritage monorepo
-
Planned AH-015 Server, Drivers, Convoys and Tracker pages
- Status
- Planned
- Blockers
- None
- Depends on
- AH-006
Replace the remaining "coming soon" pages: server details, leaderboards from verified jobs, convoy schedule, tracker download and how verification works.
Internal tooling
-
Done AH-030 Roadmap guardrails
- Status
- Done
- Blockers
- None
- Depends on
- AH-010
A commit hook that rejects commits without a valid
Refs: AH-NNNline, and a format check onROADMAP.md(known IDs, valid statuses, no duplicate IDs), so tracking cannot drift.Recent work
-
35a1402Add roadmap guardrails: required Refs and ROADMAP.md validation -
ac3ec9fRoadmap: unblock Discord, add internal tooling items -
837b75bAdd arcticheritage.net homepage and live convoy server status -
4f02618Add driver client: enrollment, journal sync and live follow -
6f38122Scaffold Arctic Heritage monorepo
-
Planned AH-031 Continuous integration
- Status
- Planned
- Blockers
- Choose where CI runs (Gitea Actions runner on the VM, or GitHub Actions)
- Depends on
- AH-030
Every push: Python and Rust checks and tests, the Windows plugin DLL, and client wheels as downloadable artifacts. Foundation for game-update checks (AH-023) and the installer (AH-028).
Recent work
-
ac3ec9fRoadmap: unblock Discord, add internal tooling items
-
Planned AH-032 One-command deploys
- Status
- Planned
- Blockers
- None
- Depends on
- AH-031
ops/deploy: update, migrate, restart, health-check and roll back automatically for the website/API; the same for convoy server package deploys.Recent work
-
ac3ec9fRoadmap: unblock Discord, add internal tooling items
-
Planned AH-033 Scale back the Discord bot's permissions
- Status
- Planned
- Blockers
- Waiting for the Discord server setup to finish
- Depends on
- AH-013
The bot has Administrator for the initial server setup. Afterwards, reduce it to the permissions its features use (Send Messages, Embed Links, Manage Roles, plus any added later) and rotate the bot token.
Recent work
-
cc68097Roadmap: scale back the bot's Administrator permission after setup
Discord
-
Planned AH-034 Discord server layout as code
- Status
- Planned
- Blockers
- Final sign-off on roles, channels and onboarding
- Depends on
- AH-013
The server's roles, categories, channels, permissions and onboarding defined in
ops/discord/layout.yamland applied by a script with a preview mode; never deletes unless told to; every change logged to #bot-log. Roles: Admin, Moderator, Convoy Host, VTC Representative, Partnered VTC (+ one role per partner VTC), Sponsor, Streamer, Driver, Member, and self-assigned Convoy Pings / Server Status / Stream Pings.A #suggestions forum with required topic tags (Convoys, Website, VTC System, Tracker & Bot, Mods) and moderator-only status tags (Under review, Planned, Declined, Done). Later the bot links Planned suggestions to roadmap items and marks them Done when the item ships.
Recent work
-
6d6bf58Roadmap: suggestions forum with topic and status tags -
e1d8e5cRoadmap: Discord layout, bot commands, mod list, streams, convoy events
-
Planned AH-035 Bot service and slash commands
- Status
- Planned
- Blockers
- None
discord.py bot sharing the API's database. First commands:
/link,/profile,/leaderboard,/lastjob,/server,/mods,/online,/roadmap,/announce. VTC commands are read-only (/vtc info,/vtc roster,/vtc stats) except/vtc invite @driver, which creates the same pending invite as the website (AH-039) and DMs the invitee a link. Dispatch, truck and economy commands come with AH-020 to AH-022.Recent work
-
7b6703dRoadmap: VTC management on the website, read-only VTC info in Discord -
e1d8e5cRoadmap: Discord layout, bot commands, mod list, streams, convoy events -
6f38122Scaffold Arctic Heritage monorepo
-
Planned AH-036 Mod list in Discord, generated automatically
- Status
- Planned
- Blockers
- None
A pinned message in #how-to-join built from the same data as the website's Join page (the server's package export + mods.json), edited in place after every package deploy.
Recent work
-
e1d8e5cRoadmap: Discord layout, bot commands, mod list, streams, convoy events
-
Planned AH-037 Live stream notifications (#live-now)
- Status
- Planned
- Blockers
- Twitch/YouTube developer apps to register
- Depends on
- AH-035
Twitch EventSub webhooks, YouTube push notifications + Data API, polling for Kick and others. Posts carry the stream URL (Discord's native preview) plus a branded embed that updates while live and turns into a "was live" summary with the recording link.
Recent work
-
e1d8e5cRoadmap: Discord layout, bot commands, mod list, streams, convoy events
-
Planned AH-038 Convoy events
- Status
- Planned
- Blockers
- None
/convoy create|list|rsvp|start|end: Discord scheduled event, branded announcement with a cover image generated from the brand pack's event templates, website schedule entry, and an automatic post-convoy summary from telemetry.Recent work
-
e1d8e5cRoadmap: Discord layout, bot commands, mod list, streams, convoy events
-
Planned AH-039 VTC management on the website
- Status
- Planned
- Blockers
- None
VTCs are managed on arcticheritage.net: owners and managers create their VTC (name, tag, logo, description, links, recruiting status) and manage the roster and ranks. Invites, from the website or
/vtc invitein Discord, appear as an Accept / Decline prompt on the invitee's next login; the inviter is notified either way. Partnered VTC Discord roles are synced from the website roster. Discord only displays VTC information.Recent work
-
7b6703dRoadmap: VTC management on the website, read-only VTC info in Discord
Later
-
Planned AH-020 Reactive economy
- Status
- Planned
- Blockers
- Decide: our own GDC-style economy mod, or GDC's mod with our layer on top
Supply and demand driven by verified deliveries. Live layer on the server (price index, shortages, surpluses) plus a periodically regenerated, legitimately optional in-game mod, the same pattern GDC's Companion App uses. Goal: owner-operator status is hard to reach but the gameplay loop stays rewarding.
-
Planned AH-021 Dispatch system
- Status
- Planned
- Blockers
- None
- Depends on
- AH-020
Contract board priced from the economy model; drivers claim contracts, matching verified deliveries complete them, bonuses paid in the community economy.
-
Planned AH-022 VTC company trucks (LLT pilot)
- Status
- Planned
- Blockers
- Decide how to handle truck ownership (an injected truck could be sold)
Company assigns a truck (injected into the save while the game is closed); the SDK input device locks the parking brake/ignition on unassigned loads; company fuel card and maintenance charged to the VTC account.
-
Planned AH-024 Steam session detection
- Status
- Planned
- Blockers
- None
- Depends on
- AH-003
Detect which convoy server a player is on through Steam (as LLCC's client does), for accurate online lists.
-
Planned AH-025 Test server
- Status
- Planned
- Blockers
- None
A second convoy server and test profile for smoke-testing every game update, plugin build and mod pack before release.
-
Planned AH-026 Mod manifest
- Status
- Planned
- Blockers
- None
- Depends on
- AH-001
Every free mod in the server's set: author, official source, pinned version, checksum, pack placement, and any redistribution permission granted.
-
Planned AH-027 Deterministic pack builder
- Status
- Planned
- Blockers
- None
- Depends on
- AH-026
Merges pinned mods into P0..Pn packs that build byte-identical on every PC, so locally built packs match the server's export.
Generated from our project plan at
revision 6d6bf58.