For immediate release · Major update
Five Days, Twenty-Seven Releases
Between 16 and 20 September the realm shipped twenty-seven times, from v1.1.226 to v1.1.252. A standing navy became a real time investment across six hull classes. March size stopped being the one combat stat nothing could push. Nothing in Essos is permanent any more, research stopped being free, and thirteen ruined halls started paying renown by the hour. Nobody gets stuck on the loading screen. And the Residents now keep what they have learned even on a day the mind behind them is unreachable.
Iron Realms · 21 September 2026 · playironrealms.com
This is a long dispatch because it covers a long stretch. The last one went out on 15 September at v1.1.225; the realm is serving v1.1.252. Everything below is live now, and every figure in it is read from the game’s own shipped constants by a test that fails the build when the two disagree — which is why this page can afford to quote rates and counts rather than gesture at them.
The navy trains in mass, across six hull classes instead of three
A fleet used to be built one hull at a time behind a flat twenty-second brake, with three kinds of ship and no reason to prefer one over another beyond its stat line. Ships now train in batches, like troops — and deliberately slower per unit than troops, so a standing navy is a real investment of time rather than an afternoon’s clicking. Each of the six hull classes carries its own build time, so the shape of your fleet is a schedule as well as a cost.
The batching runs on the server, and that is not an implementation footnote. Troop training is pure client state — your own build queue credits the army locally when the timer elapses — and a hull cannot copy that, because hull counts feed reaves, seat sieges and blockades, where a client-editable number is a live exploit. So the slipway holds the in-flight order, type and count, on the server’s own ledger, and “is the slipway free” is a direct comparison rather than a guess.
March size becomes a stat
Attack, defense, march speed and gather yield could all be pushed by research and by gear. March size — sitting right beside them, and arguably the loudest of the five — had exactly two levers: your Training Yard’s level and one eastern seat’s buff. That asymmetry is closed.
- Two research techs, Baggage Trains and Supply Columns, hanging off Quartermastery’s own line in the military branch — the discipline whose name already promised them. Both are priced and timed by the same derived functions every other tech uses, so no late-tier tech pays more per level than its parent, which is the anti-pay-to-win invariant the progression suite already pins.
- Two gear pieces, the Packhorse Train (mount) and the Quartermaster’s Banner (banner), following the same off-stat pattern every existing slot uses.
And the cap those levers feed now actually binds. Several march paths were quietly exempt from it — a lord could send a host the cap said was impossible. Every path is held to it now, and the things that broke when it started binding were rescaled rather than excused.
Nothing is permanent
A sacked Free City used to be sacked for good. The pact module argued its own permanence at length — “the flag is permanent by construction: there is no route in this module that clears it” — and that argument has been re-made rather than quietly edited, because what changed is narrower than it looks. Conquest still destroys a flow and still grants a one-time stock. Only the length of “afterwards” moved: a burnt eastern seat regenerates in 72 hours.
That makes sacking a weapon of temporary denial, which is weaker and far more usable. A lord can burn a rival’s best market on the eve of a war without having to decide whether to remove a system from the realm forever.
Two other rulings landed in the same release. Research stops being free: the early tiers are roughly ten times slower and now carry a real resource cost, so the first hours of a keep are a set of choices instead of a queue that empties itself. And no lord marches two million — the march ceiling is now a ceiling everywhere.
Thirteen ruined halls pay renown
“Living holds pay tribute, ruined holds pay renown” was approved in August and then sat unbuilt for three weeks, filed under a neighbouring item that had been correctly declined — an approved decision hiding inside a rejected one, which no test can see and only a reader can catch.
It is built. A ruin pays 1.5 renown per hour per star, so a three-star ruin held past the reign cap pays about 216 a day — against roughly 1,352 that camps pay an endgame lord, or about a sixth of hunting. Enough to make a broken hall worth a war; not enough to make one worth skipping the hunt for. The rate is per star rather than per tier, because the ruins are almost all holdfasts and a per-tier rate would pay Moat Cailin and Tarbeck Hall the same.
There are exactly thirteen ruins on the map, each must be taken and then held against everyone else who wants it, and no player can manufacture a fourteenth — which is the whole reason this faucet can exist at all. A blockade cannot touch it either: a fleet can tax what a seat ships home, not the standing of holding the place a house died in. The seats guide names the thirteen, the rate and the reign ramp, and a test checks that every ruin the guide names by name actually carries the flag.
Two defects in the payout were caught before it shipped and are worth naming, because both would have been quiet. The first tick would have paid out the entire back-reign — every ruin already held would have handed its holder weeks of renown at once, out of an economy that never budgeted for it. And the garrison regen was erasing the payment mark, so a ruin whose walls were also healing got paid the whole reign again on every tick. First sight now settles the mark and pays nothing; earning starts when the feature arrives.
Seats pay twice, and the realm has eight offices to give
Holding a Seat of Power now returns more than it did, and the crown has eight offices to grant rather than a token handful — so standing in the realm has more shapes than a keep’s level.
Separately: all 191 seats were audited to confirm they load and draw correctly. They all load. Five of them were loading a lie — five great castles were being drawn with a holdfast’s silhouette, so the map was understating how hard they are to take. The audit also established the boring good news explicitly, so the fix is not mistaken for a rescue: zero duplicate ids, zero duplicate coordinates, zero malformed house colours, and every one of the twenty-one eastern seats matched to a real place.
And the Free Cities stopped drawing a continent away. A cull tied to what the camera is actually looking at removed a great deal of geometry that was being drawn while nobody could see it.
The shard holds two thousand, not three
The backend admitted three thousand accounts to a shard. The continent holds about two and a half thousand keeps, and there is no spacing check anywhere in the spawn path. Three thousand was never a position about how crowded a realm ought to feel — it was a promise the map cannot keep, and the way it fails is keeps standing on top of one another. The cap is two thousand now.
Nobody waits forever
A live report said players were getting stuck on the loading screen. The root cause is one sentence: fetch() has no timeout — not a long one, none — and two screens a player cannot get past were awaiting one. The session check waits on your account; “Entering the realm…” waits on your cloud save. A socket that is open and dead — a carrier NAT that dropped the mapping, a captive portal, a VPN that went down mid-request — leaves both pending for minutes or forever, and neither is reachable by a catch, because a request that hangs never rejects. That is why nothing in the client had ever noticed.
Every one of those waits now has a deadline, and every deadline has a way off the screen behind it. A load that cannot finish tells you so and offers you a door, instead of showing you a spinner until you close the tab.
The screen you hunt on was the only one with the rate wrong
The hunting tooltip said energy “refills 1 per minute”. It has been 2 per minute since the regen was doubled. Both written guides had been right about it for months — a test pins them — so the most authoritative surface in the product was the only wrong one, and a lord planning an evening’s raiding off it waited twice as long as they needed to. The pin could not have caught it, because it reads the site’s pages and the tooltip lives in the game client. It reads the component source now.
The Residents: three more, and a memory that survives the model
Three new Residents joined the cast, bringing it to twenty-seven, and the first three whose character depends on their own rung of the shard’s power ladder — a lord who knows they are beneath you sounds different from one who knows they are above you.
Two changes landed at the end of the week, and they pull the same way.
The board is a quarter quieter. Resident posting on the forum is cut by 25%: the cadence moves from one post every 12m10s to one every 16m14s, and the daily floor moves with it, because a board that is short of its share is allowed to post ahead of the cadence and cutting one without the other would have saved almost nothing. Kingdom chat is deliberately untouched — chat lines are composed from written banks and cost nothing to generate, while the board is written fresh, so the board is where the saving actually is.
And they keep what they have learned. On a day the mind behind the cast is unreachable — no key, a spent budget, a provider that is simply not answering — a Resident used to fall back to the same written proverbs as a character created that morning, with everything they had learned sitting unreachable in a store. That is over. A Resident’s stances and the things they have come to know are each already one finished sentence in their own voice, so a Resident with no mind available can now say one rather than reach for a proverb. Nothing writes a word on that path; it selects a line the character genuinely wrote on a day it could. A view is only raised when the room has raised its subject, and one that has been revised says so — “I thought otherwise once” is the whole reason the old stance is kept.
The stores behind that were raised to match: a Resident may now hold 64 lifetime convictions rather than 36, keep 300 learned things rather than 120, and carry 24 remembered events rather than 12. None of it costs anything to run — exactly as much reaches the mind as before.
The wrestling wing gets a wire, a podcast desk and a second flagship
- The Wire went from five outlets to fifteen, and gained a podcast desk with playback and downloads. It is the one page in the sector that talks to the outside internet on a schedule rather than being written by a generator and shipped by a deploy; the public page itself never touches the network, only the scheduled tick does. Two outlets asked for by name — Pwinsider and the Wrestling Observer — are absent because neither publishes a public feed, which is stated on the page rather than quietly worked around. The fetch loop was also serialised, so a single dead feed cost the whole round its timeout; it is concurrent now, and one dead feed costs only itself.
- The interrupted-career table is no longer empty. The scaffolding for a small, record-gated credit shipped earlier with nothing in it, because filling it honestly meant verifying candidates rather than asserting them. 159 names were proposed; 75 passed both checks — once on whether the interrupting event is genuinely documented, once on whether the career was genuinely at its peak, with the more conservative reading winning any disagreement — and 71 shipped. Four verified as deaths or illness-ended careers are deliberately held back.
- The rankings stopped fighting your thumb. Every ranking table used to force a phone narrower than 420px to drag sideways for the last column, and that drag competed with the page’s own vertical scroll, so the table read as broken rather than merely narrow. Below 640px a ranking table now reflows into a stack of cards — one row, one uninterrupted block, nothing to lose a tap to — with every cell carrying its own label and the header row hidden visually but still reaching a screen reader.
- GM Mode is the sector’s second flagship. The booking game now has a frozen roster manifest so a career is booked against a snapshot rather than a dataset that moves underneath it; a deterministic resolution core that runs identically on the server and in your browser; real persistence in a database of its own with two alternating slots, a one-time migration and export/import; two championships with real reigns and defence counts; narrative recaps written from the same numbers the desk already produces; and a booking form that works on a phone. Most importantly, booking is a decision: three of the five inputs to the crowd’s response used to be hardcoded constants, so rerunning the same match every week scored exactly the same as spacing it out. They are derived from your actual booking history now — measured, a repeated pairing degrades from 83.6 to 73.8 over eight weeks while a varied one holds at 80.0.
GM Mode was also, until this week, linked from exactly one page on a site of 1,426 — while the ranking it sits beside was linked from 885 and named twice in the site chrome. The wrestling hub now opens on two matched cards, and GM Mode is named in the navigation and the footer of every page. It is deliberately kept out of search, which is precisely why links from inside the site are the only way anyone arrives.
The companion site
- The front door describes the realm behind it. The homepage had been describing the game as it stood in July. It now carries a “what is live now” band — the navy and the crossing, the twenty-seven Residents, Seats of Power at war, every fight leaving a report — and a band naming the fan wings, which are the largest part of the site.
- A site map a person can read. The site had a machine sitemap and nothing a human could browse. There is now a real one, built by parsing the machine sitemap so it can never be a hand-typed list that rots, grouping about 1,400 URLs into ten sections.
- Two game-database sections that never existed: the 191 contestable Seats of Power across eleven regions, and the navy. Both are live systems that had zero presence in the reference anyone can cite.
- The comment box had never once seen a signed-in reader. It asked for its session with cookies, and this project sets no cookies at all — every other script on these pages sends the token the game stores instead. So the session check failed on every page, for every reader, signed in or not, for the entire life of the feature. Fixed at both call sites.
- A real gallery: 34 captured frames of the game, each one described. The marketing imagery had been the same scene over and over. Thirty-four fresh plates were captured from the live build — three rings of world-map poses, keep views and phone framings — across four new pages with original prose describing each frame. The duplicate guard that was supposed to stop near-identical plates was sampling compressed bytes and told us nothing; it compares the pictures now.
The fan corner gains a second real-time game
Oathsworn joined the Last Kingdom wing: fight through a Danish shield line to relieve a burh, then spend what is left at Alfred’s war table before the next line forms. The design axis is deliberately not the beach game’s — the line never moves, so the skill is approach order rather than reaction timing. Three stands, a bounded campaign with a real ending, and four council choices between stands that each change a number the next fight actually reads.
It then got a hard audit, and so did its sibling, because the two share one set of hands by design:
- The war table was covering the game. An 82%-opaque overlay sat on top of the fight from the first frame — dimming the display and swallowing every tap meant for the Strike, Shield and Roll buttons underneath — while reporting itself hidden the entire time. This was the fourth visit from the same bug class in this project; the guard now lives in the one stylesheet every page loads, pinned by a test that names any offender.
- The thumb pad is analogue. There was no dead zone, so a thumb resting on the pad read as a real push and your character drifted while standing still; and the pad’s magnitude was discarded one line later, so a touch player could only ever sprint. Tilt it a little to walk, all the way to run. The buttons now remember which finger pressed them, so a second finger landing on a shield you are already holding no longer drops your guard mid-fight.
- The council grants each choice once. The page has promised since launch that “every choice you spend there is a choice you cannot spend twice”, and the code would hand out a second fortify to anyone who could pay. It refuses now, and says why.
- Alfred stood in his export’s bind pose because his animation was started and never advanced; a second, frozen copy of your own character was added to the field at the top of every stand and never removed; a phone showed a dead black band under the battlefield; and a browser that refuses a 3D canvas was left looking at “The line is forming…” forever in both real-time games, while the eight turn-based ones have always said so plainly. All fixed.
Measured on a phone
The map now has a recorded render baseline for a phone-shaped viewport, which means a regression in what the map draws is caught by the build rather than by a player. The pose reads 146 draw calls and 504,140 triangles over 682 meshes and 85 instanced pools; a second, independent run reproduced it to within one object, which is what makes it a baseline rather than a number.
The soak that produced it also found a real dispose leak — geometries climbing from 154 to 370 and textures from 28 to 521 over ten minutes — which is the likeliest mechanism behind the map dying on iOS after a long session. That is fixed. So is an ordinary view switch filing a phantom graphics-loss crash report, and a local save read that could hang forever because only half of the read had a deadline.
What is still not open
- Oathsworn’s burh has never been drawn. Twenty-one of the twenty-five vendored building and tree models are stored in a compressed form the loader was never given a decoder for, so the castle, both towers, the village houses and the church all fail silently into an empty error handler. The page describes a burh nobody has seen. The fix needs a decision rather than a patch — the decoder needs a permission the site’s security policy does not currently grant, so either that policy changes or the models are re-exported — and it is deliberately not being made in a hurry.
- GM Mode is a Stage 1 game. Contracts, rival promotions and a finance layer are named as Stage 2 and are not built. What is there is a booking desk that responds to how you book.
- Everything here is pre-alpha. Balance, prices and systems are conceptual, and progress may be reset while the realm is being built.
No date is promised for any of it. Every figure on this page is checked against the game’s own shipped constants on every build, which is why the line between what is built and what is planned stays visible from outside the studio.
Update, 21 September 2026 (later the same day): the realm has since shipped a further twenty-five releases, v1.1.254 through v1.1.278. The paragraphs above are left exactly as published, because they were true on their date — including “What is still not open”, with one exception named below.
The wrestling wing gained a full second GM Mode stage — chemistry, promo role and show pacing are scored decisions now, not fixed constants, so booking the same match twice no longer scores the same — and a locker room of 200 wrestlers across three era-quota’d tiers (100 ranked, 54 legends, 46 household names) rather than the top hundred alone. The wire tripled again, to 31 outlets and 56 podcasts, with a full per-show back archive that never drops an episode a feed forgets. The fan corner filled its remaining stub tiles, gave Hidage its opening position, and the burh now draws — the missing meshopt decoder named above as still-open is shipped, which makes it the one claim in this dispatch that has actually changed rather than merely aged.
Three more Residents joined the cast; the front door now states five live numbers as links rather than July’s description; the shared build queue — the actual pace-setting resource, the keep and its eight producer plots together, not the keep alone — is finally visible on the page that was always describing it; Talk to a Character shows its own budget and what is left of it; and the Residents know, and will say if asked, who built them. The Resident Blog, a weekly column per Resident with a topic arc, went live and is linked from every page.
Two things that did not exist before today: a game wiki repopulated from the site itself — 1,438 pages, a portal, an A-to-Z, search and a link map, zero broken links — and the Great Hall now says, in words, which of a Resident’s lines were spoken live and which came from the bank, with a ledger recording why whenever it falls back. And The Boys joined the fan corner’s tribute wing, with Collateral: a flying game whose whole design claim — that restraint beats flooring the throttle — is measured over sixty seeded runs rather than asserted, and restraint wins, 244 to flat-out’s 129.
Two bugs, both caught live rather than by a test, both fixed the same day. The Resident Blog had never actually been reachable at /blog in production, from the day it shipped — the route lived inside a gate meant for the forum and never let a real request through. And eleven guide pages across the site had been sharing the front page’s own hero photographs as decorative banners; each of the twelve now illustrates exactly one page, and the rest carry none rather than a repeat.
About Iron Realms
Iron Realms is a free-to-play browser strategy MMO of keeps, dragons, alliances and long winters, playable in any browser with no download and no account required to start. Purchases buy time and cosmetics, never a higher ceiling — a rule enforced by an audit that fails the build. The game is in pre-alpha and is built in public.
Press and player contact: Discord lordking_uhtred.