Skip to main content
⌖ OF Intel

GUIDES

Steam Early Access: What to Buy, What Stays Free, and How Trusted Lobbies Work

Decide whether the paid Steam edition is worth it for you, what the web version keeps free, and how the trusted-only lobbies that shipped with the Steam launch actually gate players.

Accounts Difficulty · Beginner Published Sep 18, 2026 Updated Sep 18, 2026 Reviewed by OpenFront Intel editors #steam#early-access#trusted-lobbies#accounts#subscription#purchasing

Direct answer: the game stays free; the Steam client is the paid layer

OpenFront on Steam launched 17 September 2026, and the single most important fact about the launch is the one that surprises players: the game is still free, and it always will be. The web build at openfront.io costs nothing and remains the same game you have been playing. What you actually buy on Steam is a native client — the store listing markets it as the “STEAM EDITION,” and the official v0.34.0 release notes are explicit: “OpenFront is still free in the browser, and always will be. The Steam client is the same game with a set of things a browser tab can’t do.” So the purchase is not a second copy of the game and not a paywall; it is a client that adds offline play, Steam achievements, an audio rework, better performance, and — the part that changes matchmaking for you — instant trusted status.

That trusted status is the real decision driver, because the v0.34 arc also shipped trusted-only lobbies. In those rooms, the server admits only accounts the API reports as trusted at join time, and anonymous web joins are never trusted. Steam accounts skip the trust ladder entirely, which is why “buy it and you can join the clean lobbies” is the short version of what you are paying for. The official account said the same thing on the subreddit: trusted status is “not pay-to-play,” and you can earn it for free by playing enough games with an account old enough — you just can’t skip the queue the way a Steam link can.

So the decision splits cleanly. If your only goal is to keep playing the game you already play, you do not need to spend anything: the free web client is unlimited, and you can earn trusted status for free over time. If you want to play without an internet connection, you want Steam achievements, you want the performance and audio pass, or you want to skip the trust queue and reach the trusted lobbies now, the Steam edition is the thing that buys those — for a one-time price (US $6.99, seen discounted to $4.96 at the time of writing; CAD $5.88 in one report). The “Free to Play” tag you may see in the store genre line describes the web game, not the client; the client itself is a paid app with no free tier. The rest of this page walks through exactly what the purchase contains, what the free side keeps, how the trust gate actually works in code, what breaks and how you recover, and a concrete decision framework with two worked scenarios.

What you are actually buying

Treat the purchase as a bundle of five concrete capabilities, not as “the game.” First, performance and load time: maps and assets are already on disk, so games start without waiting on a download, and the frame rate is better because nothing is piped through a web browser — a benefit a commenter on the launch thread noted directly. Second, offline and local play, which a browser tab fundamentally cannot provide; the v0.34.0 notes list “Offline and local play” as a Steam-only item. Third, Steam achievements, again a platform feature the web build has no equivalent for. Fourth, a full sound and music rework — the notes describe “A full sound and music rework,” and players comparing the two builds point to the audio pass as one of the clearest quality differences.

And if you are new enough that the lobby types still confuse you, the first-match guide walks the same web client through its opening rooms, so you know exactly which lobbies you can and cannot join before you commit to anything.

Fifth, and the one that changes matchmaking, is instant trusted account status. The release notes state the mechanism plainly: “Steam accounts skip the trust ladder, so you can join trusted-only lobbies straight away and play games that anonymous griefers can’t drop into.” A browser account that has never linked, never purchased, and has not aged in enough yet is untrusted, and the server will reject it from a trusted lobby. Linking your Steam account flips that flag immediately. This is the single most decision-relevant item in the bundle, because it is the only one that changes which lobbies you can join rather than how the game feels to play.

There is also a free month of premium included with the purchase. The v0.34.0 notes describe premium as “a verified username, an instant hard-currency bonus, a daily hard-currency reward, public custom lobby hosting (second tier and above) and unlimited ranked games (third tier),” with rewards scaling by tier. Be precise about what that means for a buyer: it is a subscription month, not a permanent perk, so its value depends on whether you would have bought premium anyway. A launch commenter put it bluntly — “if you’re asking ‘what do I get for my spend?’ the answer is nothing beyond [the cosmetics currency] and some Steam skins” for a casual buyer — and that is the honest counterweight to the bundle. Finally, the notes list free Steam-exclusive cosmetics “just for playing on Steam,” which are cosmetic only and never pay-to-win, consistent with the store description’s “never pay-to-win” promise.

What stays free, and what the free route to trusted looks like

Nothing you already have is paywalled. The web client remains unlimited and free, your existing account and its stats keep working, and you can keep playing exactly as before — the official reply in the “Nice money grab” thread was exactly that: “You don’t have to buy the steam game. You’ll always be able to keep playing how you have been.” The launch was a new distribution channel with added features, not a migration that strands the old one. If you open the store and see “Free to Play” in the genre line, that is the web game talking; the paid object is the native client, which the Steam API reports as a priced app (US $6.99 regular, $4.96 on discount at the time of writing, is_free_app false).

The free route to trusted status is real and worth understanding, because it is the alternative to buying. The official post on “Trusted accounts — what are they and why” explains the design: buying a pattern, skin, or subscription is the easiest way to become trusted, but “it isn’t the only one,” and you can “earn it just by playing — similar to how CS2’s Prime system works, except ours can be unlocked completely for free.” The two inputs the team names are enough games played and an account registered long enough. They deliberately do not publish the exact thresholds, because publishing them would let people grind accounts to trusted and sell them, “which defeats the whole point.” So the free route is a real, slow, verifiable path — it just does not let you jump the queue today.

One correction to a common claim in the wild: the free route is not guaranteed to be instant. A player with “over 600 games” posted that they could not join trusted lobbies and asked how many more games would be required; the official response was that they “should definitely be allowed to join trusted lobbies, we are looking into it. Mind filing a ticket on Discord.” The thresholds are tuned against observed lobby fill rates (“we’ll be watching how quickly these lobbies fill and adjusting the requirements up or down, probably fairly often”), so the practical expectation is: the free route works, it may take real time and a real account age, and if you are stuck in a way that looks like a bug, the sanctioned path is a ticket, not a purchase. The Steam purchase remains the only way to get trusted status immediately, and it is priced as a one-time client cost, not a monthly fee, on top of which the web game stays free forever.

How the trust gate actually works

The player-facing summary — “trusted lobbies admit trusted accounts only” — is accurate, but the v0.34.10 source makes the mechanics precise, and the precision matters because it tells you where the gate sits and who is exempt. The server computes passesTrustGate(client) at join time. It returns true immediately if the lobby’s gameConfig.trusted is not set, meaning every normal lobby lets everyone in. If the lobby is trusted-only, the check then asks whether the client has admin-bot authority, and if not, whether the client’s trusted flag is set. That flag is client.trusted, which the server sets from “whether the API reported this account as trusted when it joined,” and the schema documents it as a two-valued trustTier of "untrusted" or "trusted", computed by the API — not by the client, not by what you see in your profile. Anonymous joins are explicitly “never trusted.”

Three details in the code change how you should think about the lobbies themselves. First, trusted lobbies are scheduled and scarce, not the default pool: the MapPlaylist marks a public game trusted when its position in the rotation is a multiple of TRUSTED_PUBLIC_EVERY, which in v0.34.10 is 7 — so roughly one in seven scheduled public games is trusted-only. (The launch notes and the official Reddit post described it as “every 4th” and “1 in 6” at various points; the tagged code is the current value, and the team has said they tune this ratio, so the exact cadence can move.) Second, trusted lobbies are smaller: because they draw from a much smaller eligible pool, they cap at TRUSTED_MAX_PLAYER_COUNT, 25 players, and the playlist even suppresses the crowded-room bump so the cap holds. Third, a trusted lobby that would otherwise fill to a crowded 60/125 is held back so the 25-player ceiling is not silently undone.

The practical read: if you are untrusted, the vast majority of public lobbies (six of seven by the current rotation) are still open to you, so you are not locked out of the game — you are locked out of the cleaner subset. If you want those right now, a Steam link is the immediate path; if you do not care about that subset, the free web client plus the free trust route gets you there eventually without spending. And the late-join rule that ships in the same release interacts with all of this: the server has a short grace window (LATE_JOIN_GRACE_MS, 5 seconds) after a game starts before it rejects a joiner with a “game-started” error, and v0.34.9 added the behavior of turning away players who join a public lobby after the game has already started. So “I just missed the lobby” is a real, code-enforced outcome, not a fluke.

Linking Steam is a short-lived handshake, and the v0.34.10 client code documents it well enough to set your expectations for what can go wrong. The flow opens your browser to a URL carrying a short-lived, single-use ticket that ties that browser session to your Steam account. The client stores the pending link under a key and re-checks it against a 10-minute TTL (PENDING_LINK_TTL_MS = 10 * 60 * 1000), which the code notes is “a manually-kept copy” of the server’s authoritative TTL — the same 10 minutes also appears in the desktop shell’s own gate, so changing it would require touching three deployables. The comment is worth quoting because it tells you the failure mode: a stash older than the TTL “belongs to a ticket that is already dead, so resuming it can only produce a confirmation modal that errors.” In practice, if you start a link, close the tab, and come back twenty minutes later, the link is gone and you must start it again — that is the design, not a bug.

There is also a no-URL fallback path. When the browser handoff itself fails — the code names “wrong default browser, an odd Linux setup, Steam’s overlay browser” — the gate does not silently do nothing. Instead it shows an 8-character code and tells you to enter it on the website. The code’s alphabet is fixed by the desktop gate and deliberately excludes ambiguous characters: it is drawn from 23456789ABCDEFGHJKMNPQRSTVWXYZ, which drops 0/O, 1/I/L, and U so that “nothing is ever ambiguous by eye.” The code even documents that a string containing one of the excluded characters “is malformed, not a typo to silently correct,” so the client will not try to “fix” a code you misread. If you hit the fallback, the right move is to type the eight characters exactly as shown; if it rejects them, the code was malformed or you misread it, and you re-trigger the handoff rather than guessing.

Finally, the merge behavior. v0.34.4 added “an option to merge accounts when linking to Steam,” and the v0.34.0 notes are clear that linking “doesn’t create a second account: your stats, cosmetics and active subscription carry over from your existing OpenFront account to Steam, or the other way round.” So if you already have an account, linking Steam imports it rather than orphaning it; you do not lose your history. The client code is careful about the merge’s throttle and the “can’t be merged” case, surfacing a wait rather than a false refusal, which means a temporary error during the merge is usually “wait and retry,” not “your account is broken.” If you are on a fresh machine with no existing account, the same handshake simply creates the Steam-backed account and gives you the instant trusted status with it.

Outages, offline states, and how to recover

The v0.34.x arc shipped a specific chain of fixes for exactly the moments where the Steam integration stops working, and each one maps to a symptom you can actually see. When Steam is down, v0.34.4 “gracefully handle[s] Steam outages,” so a Steam-side failure should surface as a recoverable state rather than a frozen or crashed client. By v0.34.8, the offline case is explicit: the client “show[s] offline instead of a spinner” and “make[s] session Retry visible,” and it also “hide[s] Log out on Steam, where the ticket signs you straight back in” — that last detail matters because a “log out” that immediately re-authenticates would otherwise feel like the client is ignoring you. If you see an offline banner, the sanctioned action is the now-visible Retry button, not force-closing the client.

Lobby links had their own arc. v0.34.9 “open[s] lobby links in the Steam app” and adds the ability to “auto-recover the lobby feed, with a Retry button when it dies,” so a dead feed now recovers itself rather than leaving you staring at an empty lobby list. v0.34.10 then “hand[s] lobby links off to the production Steam app,” meaning a lobby link you open resolves in the native client you purchased instead of a browser tab. The practical consequence: if a lobby link opens in the browser instead of the client, either you are on the web client (expected and fine) or the client is not running or not set as the handler; the fix is to launch the Steam client, not to assume the link is broken. If a lobby link fails to open at all, the same recovery instinct applies — reopen through the app, and if the feed itself is dead, use the Retry affordance v0.34.9 added.

There is also the stale-client case that v0.34.8 addressed: “stop the stale-client lobby loop and apply a staged update on sign-in.” That fix exists precisely for the situation where an older client keeps bouncing through lobbies without ever joining; if you are on a build that predates these fixes, updating the client is the first remedy before you assume the lobby or the server is at fault. The through-line across all of this is that the team has been shipping visible, named recovery paths — Retry, offline, hand-off to the app — rather than silent failures. So when something fails, the first thing to do is look for the recovery affordance the release added for that exact symptom, and the second thing is to make sure your client is current, because several of these symptoms were literal bugs in older builds. If a trusted lobby you believe you are entitled to keeps rejecting you, the last resort is the same one the official account gave a stuck player: file a ticket on Discord.

A decision framework, with two worked scenarios

Use a four-line check before you spend anything. Line one, the goal: name the specific thing you want that only the client gives — offline play, achievements, the audio pass, better frame rate, or instant trusted access. If your answer is “I just want to keep playing,” the goal is already met by the free web client and you should spend nothing. Line two, the free alternative: ask whether the free trust route (enough games + account age) gets you what you want, and in what time. If “yes, and I can wait,” the $6.99 is optional. Line three, the price context: it is a one-time client cost (US $6.99, seen at $4.96 on discount; CAD $5.88 reported), not a subscription, and the web game stays free forever, so you are not paying a recurring fee to keep your old way of playing. Line four, the non-goals: confirm you are not buying expecting a second game, a pay-to-win edge, or a forced migration — none of those are what the purchase is, and the store description’s “never pay-to-win” and the official “still free in the browser, and always will be” both exist to prevent that misunderstanding. If you are still working out the lobby pressure you are buying your way out of, the nation pressure guide and the recovery playbook name the exact situations where a cleaner lobby changes your win rate.

Scenario A — a casual web player, no urgency. You play on openfront.io, you are fine with the current frame rate, you do not play offline, and you are not currently being griefed badly. Your free route to trusted is already in motion just by playing. Decision: do not buy. You keep the free client, your stats stay, and trusted lobbies will become reachable as your account ages and your game count climbs. You are not locked out of six of seven public lobbies by the current rotation, so nothing you want today requires the purchase. The only reason to buy would be that you specifically want the trusted subset right now or you want offline/achievements — and if you genuinely want those, see Scenario B.

Scenario B — a regular who hits griefers and wants offline + achievements. You play often, you care about the clean lobbies, you want to play on a plane or a train without a connection, and you want achievements and the audio rework. Decision: buy the Steam edition and link your existing account so your stats and cosmetics carry over (v0.34.4’s merge option). You get instant trusted status on link, which is the difference between “I can join the clean lobby now” and “I will, eventually, for free.” Your cost is the one-time client price, and your web account is not deleted or stranded — you can still open the browser build and play free there. The assumption to check before buying: that you will actually use offline or the client often enough that the performance and audio improvements matter to you; if the only driver is the trusted lobbies and you would be equally happy earning trust for free, Scenario A’s patience may save you the purchase.

Failures, anti-failures, and what to do instead

SymptomWhat it meansRecovery / anti-failure
Padlock on a public lobbyIt is trusted-only and you are untrustedPlay an open lobby; earn trust for free (games + age); or link Steam for instant status
Link starts, then errors on resume10-minute ticket TTL expiredStart the link again fresh; do not resume a stale link
Fallback 8-character code shownBrowser handoff failed (odd browser/Linux/overlay)Type the code exactly; excluded chars make it malformed, so re-trigger if rejected
”Offline” banner on SteamSteam-side outage, handled gracefullyUse the visible Retry (v0.34.8); do not force-close
Lobby feed is emptyFeed died; auto-recovery existsUse the Retry button (v0.34.9) or reopen the feed
Lobby link opens in a browser, not the appYou are on web, or the client is not the handlerLaunch the Steam client so links hand off to the app (v0.34.10)
Stale client loops through lobbiesOlder build bug (fixed in v0.34.8)Update the client; the staged sign-in update fixes the loop
”I should be trusted” but rejectedThreshold tuned against fill rates; possibly a bugFile a ticket on Discord (official path for stuck players)
Joined a lobby seconds after it startedLate-join past the 5s grace / post-start joinRe-join the next lobby; v0.34.9 turns away post-start joins
”Can’t be merged” during linkMerge throttle / temporary conflictWait and retry; the client surfaces a wait, not a hard refusal

Two anti-failures cut the other way, and they are worth stating so you do not over-buy. Do not buy to fix a frame-rate problem you can fix for free: if your browser play is just heavy, closing other tabs, lowering in-game settings, or a better network can deliver the same smoothness without the client — the Steam client helps because assets are on disk, but it is not the only lever. Do not buy because you think the web game is being retired: it is not; “still free in the browser, and always will be” is a direct quote from the v0.34.0 release notes, and the official account repeated it in the thread. The purchase is an addition, not a replacement, and the only scenario where it is clearly wrong is when your stated goal is already fully served by the free client. If you buy, buy to unlock the one or two concrete capabilities you named in Line one of the framework, and keep the web account exactly as it is — that is the configuration where the free side and the paid side reinforce each other instead of one of them making the other pointless.

Related content

Continue reading
Adaptive Build Order: Spend the Next Gold on the Constraint

Use OpenFront v34.3 costs, troop growth, route payback, and stop signals to choose City, Port, Factory, defense, or a liquid reserve without copying a fixed script.