Elemental Fracture 6.3.0 – Patch Notes
Hey guys, Doobs here! Another update? As someone said on Discord, I looked like this…

This is the last major patch notes for a little bit and I anticipated getting this out to you all much later, but I was so excited to get this out to you guys that I pushed for as early of a release as possible; that doesn’t mean I haven’t rigorously tested it, I’ve just seen Spellbreak a little too much… hah! With that said, 6.2.0 brought back a mode that got cut and a progression system that died with the servers. 6.3.0 keeps going in both directions at once, and then it keeps going some more.
The headline in this one is quests. The whole quest system is running again: dailies, outfit quests, honor quests, and the entire story campaign from the Prologue through Chapter 3. It runs on the game’s own quest code. Every panel, every tracker and every reward card you see is Spellbreak’s, reading quests that Elemental Fracture hands out and pays for. The chapters come back with it: their menus, their music, their weekly unlocks, and the voiced story intros and outros that nobody has heard play since their respective eras (so if you play without music and voice, you may want to consider turning them on again).
Then there’s the other half, and it’s almost a second release on its own. 6.3.0 adds a whole new game mode, Free for all: Clash, with every player on their own team. It splits Dominion three ways. Dominion is the objective mode you know, now with balanced teams. Team Deathmatch is Dominion with the zones, boons and NPCs switched off, a fast respawn, and a score target that grows with the lobby. And Custom Match is back the way it was meant to work, with Match Codes: host a match, share a six-letter code, and anyone you share it with is in your lobby.
Around all of that sits the work that makes a mode feel finished rather than merely playable. Lobbies start themselves. Lobbies have a size, and a full lobby gets a short countdown and a waiting line instead of an overstuffed match. The server heals you when you respawn as opposed to being driven by the EF Controller. Each mode has its own rules about item spawning and loadouts, enforced by the server rather than trusted to the client. The Hi-scores split Battle Royale, Dominion and Clash into their own families. And the MASTERY tab finally counts every mode you actually play.
Like last time, there are “How we did it” sections through every part. Skip them if you just want to know what’s new. Read them if you want to see what it takes to turn a feature back on when the service it was built for no longer exists.
Here’s the map:
- Part 1 – Quests and Chapters. Dailies, outfit chains, honor and story quests, and the chapter timeline.
- Part 2 – Free for all. A brand new mode built on Clash.
- Part 3 – Dominion and Team Deathmatch. One card, two ways to fight, and a death screen that knows the difference.
- Part 4 – Custom Match and Match Codes. Host, share, pick your team.
- Part 5 – Lobbies that run themselves. Automatic starts, lobby sizes, the overflow line, server heals, and per-mode rules.
- Part 6 – Stats you can trust. Mode families on the Hi-scores, the MASTERY tab, and a post-match screen that shows exactly what you earned.
- Part 7 – Also in this patch. The in-match scoreboard, mode select polish, and the EF Controller.
Part 1 of 7: Quests and Chapters
Once progression was back in 6.2.0, quests were the next thing I wanted to go after, because progression without quests is only half of what Spellbreak had. Spellbreak’s quests were never a side feature. They were how the game told you where to go, what to try, and what the world was about. A daily quest gave you a reason to pick up a class you’d been avoiding. An outfit chain gave the cosmetic you were wearing a story. And the story quests were the story: the only place the Hollow Lands explained themselves. When the servers went down, the QUESTS tab went with them, and the game lost its voice.
It’s back.
How quests and chapters fit together
If you never played during the chapters, here’s the shape of it. Spellbreak ran its seasons as Chapters, each 7 to 12 weeks long, and every chapter tied its quests to a reward track. The track is paid in Reputation: finish a quest, earn Reputation, and each level of the track unlocks something. Outfits, Artifacts, Titles, Badges, Cards, Emotes, Cloudbursts and Afterglows, with class XP mixed in along the way and the chapter’s Legendary set waiting at the top.
Four kinds of quest feed into that:
- Story Quests are the chapter’s campaign, split into acts. They send you to specific places and things on the map: open these chests, destroy those machines, visit that town. Each one pays Reputation, and many pay a cosmetic on top.
- Honor Quests are the weekly challenges. A new set opens every week, and they’re gameplay goals rather than map objectives: capture zones in Dominion, play Squad matches, use a class skill, read Scrolls, clear Warden Strongholds, place top 5. The bigger the ask, the more Reputation it pays.
- Daily Quests live outside the chapters. Three at a time, paying Gold.
- Outfit Quests are the Ascending outfit chains: wear the outfit, finish its quests, and the next outfit in the chain unlocks.
Most of each track used to sit behind the Chapter Pass, a real-money purchase that also unlocked the full weekly Honor Quest set and let you buy levels. Elemental Fracture has nothing to sell, so everyone owns the Chapter Pass for every chapter: every Honor Quest and every reward on every track is open to every player.
What’s actually in the box
- The QUESTS tab is back in the header, with the game’s own quest menu, the lobby quest panel, and the in-match tracker that tells you how close you are while you play.
- Daily quests. Three at a time, paying Gold by tier (5, 10 or 20), with a reroll when you draw one you don’t like.
- Outfit quests. Fourteen outfit chains, 44 quests between them. Own the first Ascending outfit of a chain and its quests open up. Wear an outfit from that chain while you play and you make progress. Each tier you finish unlocks the next outfit and the next quest, all the way up.
- Honor quests. Every week’s set, on the week it opened, paying chapter Reputation.
- Story quests. The full narrative campaign: the Prologue, Chapter 1, Chapter 2 and Chapter 3, in order.
- Chapter reward tracks that actually pay out: 25 levels for the Prologue and 50 for each chapter, with the Chapter Pass rewards included.
- BUY 1 LEVEL on a chapter track works, for 50 Gold, half what the Pass used to charge.
- Quest rewards are real. Gold lands in your wallet, cosmetics land in your collection, reputation lands on the chapter track. Everything is recorded server-side, so a reward can never pay twice.
- Your progress saves as you play, not only at match end, so a disconnect doesn’t cost you what you’d already done.
The thing I’d point at, if you only look at one item, is that last one. In the original game your quest progress reached the backend once, at the end of a match. That was fine when the servers were Proletariat’s and a crash was rare. On a community service, where a match can end in a disconnect for all sorts of reasons, “your progress counts only if the match ends cleanly” would have made quests feel flaky. So progress is saved the moment it happens.
The chapters
Spellbreak released its story one chapter at a time, week by week, and a lot of what made that story land was the pacing: a new week, a new piece of the map mattering, a new voice in your ear. So we run it the same way instead of dumping every quest on you at once.
- The Prologue, Chapter 1, Chapter 2 and Chapter 3 play as one timeline. The Prologue runs 7 weeks, Chapters 1 and 2 run 12 weeks each, and Chapter 3 runs 11. A new week opens every seven days, with a short break between chapters.
- The chapter menus are back as they shipped. The CHAPTERS tab, the reward track, the chapter scenes behind the menu, and the chapter music.
- The Prologue menu is the pre-Chapter 1 one, with its own story pane at login and VIEW STORY on the reward track.
- Voiced story intros and outros. Each week’s story plays when it unlocks, with its original voice-over, and CONTINUE takes you back to the main screen.
- Replaying the story is allowed. Finishing a chapter banks it for good, and replaying pays Gold in place of a cosmetic you already own, so a second run through the story is never wasted.
The world remembers its quests
A quest that asks you to find something on the map is only as good as the map. A lot of chapter objectives pointed at props that the dedicated server had quietly stopped spawning, which is the most frustrating kind of broken: the quest tells you where to go, you go there, and there’s nothing to interact with. Those props are back:
- The Sentimental Letter chests.
- The Chapter 1 Aegis Tower objectives at all five towers.
- The Bogmore Collective caches, including the spots that had gone missing, plus the Bogmore camp document chests at all three camps.
- The Chapter 1 week 3 visit markers at Mossburn, Northmarch, Gritfield and Edgewall.
- The Tideseer Documents in Banehelm Keep and the Chronolith in Castle Bogmore.
- Chapter 2’s week-by-week encounters: the stockpiles, gyle shards, trapped breakers and surveillance pods.
How we did it: a feature that was never actually missing
Here’s the surprising part. Nothing in the quest system was deleted. The quest classes, the quest menu, the quest list, the lobby widgets, the in-match tracker, the replication, even the network messages the game sends when you make progress: all of it shipped in the client and the dedicated server, fully compiled. What vanished was the one thing none of that code does itself, which is deciding what quests you have.
So the job was to become that service. The game describes all of its content in data: 92 quest blueprints and a master table of 326 quests (48 daily, 44 outfit, 126 honor, 108 story), six quest categories, and 71 event queries that decide whether a thing you did counts. We wrote a small extractor that reads those cooked assets straight out of the game files, and the appserver serves quests from exactly that data. When the client asks for its quests, it gets back the same structure it got in 2021. That matters more than it sounds: it means the numbers in a quest, the thing it counts, and the reward it pays are all Spellbreak’s, not my best guess at them.
Progress had to find a new way home. In the original game, the dedicated server tallied your quest progress and reported it to the backend at match end. Our servers can’t reach that backend, because it doesn’t exist. The tally still happens and still replicates to your client, so the client relays the same numbers over its own connection, on every change. The appserver only ever moves progress forward and never touches a quest that’s already been paid, so a repeated or out-of-order update can’t undo anything or pay anything twice.
The chapter loading modal was the hardest single bug. The CHAPTERS tab sat greyed out behind an “Updating Chapter Data” spinner that never went away. I spent a long time assuming the widget was waiting for a missing field. It wasn’t. The spinner is held up by the game’s loading manager, which tracks a set of subsystem bits, and the chapter bit was never cleared because the request that clears it goes to a service that no longer answers. Mapping every loading bit and clearing the right one, at the right time, is what un-greyed the tab. Hand-marking a bit as loaded instead turned out to be a trap: it opens menus onto a black screen.
The world props were being deleted on the server. Chapter props on the map carry a requirement: only exist during a given chapter week. The server checks that requirement when the world starts, and two things were wrong. The server only knew about one week, so “has this week started yet” could never be true for an earlier one. And the check refuses to answer at all until the chapter subsystem reports itself loaded, which a dedicated server never does. So every week-gated prop was destroyed on the server the moment the map loaded, while your client still drew it. You could see a Chapter 2 objective and never complete it. The server mod now seeds the full week list and answers the loaded check, and the props stay.
The voice-overs were in the files the whole time. Every Prologue week names a voiced story, and each Chapter 3 story quest names its own briefing and dialogue. The game opens the story pane for a “pending narrative” at login, and marks it seen when it plays. The mark-seen message was compiled out of the shipped client, so the client mod sends it itself, and the appserver remembers which stories you’ve heard.
Part 2 of 7: Free for All
A whole new game mode. Free for all is Clash with every player for themselves.
Clash was always a team mode, and a good one, but there’s a particular kind of match Spellbreak is brilliant at that team modes can’t give you: the lobby where everyone is a threat, where you third-party a fight on purpose, and where the scoreboard is a list of names instead of two colors. That’s Free for all.
- Find it in the Clash card. Clash opens a drawer now: CLASH and FREE FOR ALL.
- Every player is their own team. Everyone you see is an enemy.
- One exile, one point. Exiling yourself doesn’t count.
- The target grows with the lobby. It’s 3 points per player in the match: 6 for two players, 9 for three, all the way to 54 in a full lobby of 18. The first player to reach it wins.
- Solo only. A party-mate in Free for all would just be a target, so the mode is one player per ticket. Pick it while you’re in a party and you get the game’s own DISBAND PARTY prompt. If someone joins your party after you picked it, you’re moved back to Clash.
- Drop anywhere in the arena. The portal map offers every portal inside the Clash arena, and the dividing walls are gone. If you don’t pick one, you drop on a random portal inside the arena, never outside it.
- Your own pick shows on the portal map, so you always know where you’re dropping.
- The top bar is you against the best player in the lobby, and so is the end board.
- VICTORY and DEFEAT are yours. The leader wins; everyone else is ranked by score underneath.
- The end board groups it the way you’d read it: you on the blue side, every other player on the red side, with the final points.
- Respawns heal you to full, like every team-based mode now (Part 5).
How we did it: two teams, all the way down
Clash, internally, is Rumble, and Rumble is built from the ground up for exactly two teams. The scores on the game state aren’t a list. They’re two integers, Team1Score and Team2Score, sitting side by side. The teams are team 0 and team 1, and that assumption is baked into a lot more places than the score.
The trick that makes Free for all work is an engine detail. A player’s team in Unreal is a single byte. If every player gets a different byte, then everyone is hostile to everyone through the exact same machinery that decides friend and foe in Clash. No friendly-fire logic to find and defeat. Players get team 2, 3, 4 and up, which can never collide with the 0 and 1 the map uses for its spawn sides.
Then you spend a week finding every place that assumed two teams:
- The score. Clash awards its point by the victim’s team, not the killer’s: exile someone on team 0 and team 1 scores. In Free for all that tells you nothing about who did it. The per-player exile count, though, is recorded for the killer and replicated, so that’s the score.
- The scoreboard. Two score slots, many players. We write the leader and the runner-up into the two slots every tick, which turns the shipped two-sided bar into a leaderboard without a single new widget.
- The portal map. The client greys out every portal whose side doesn’t match your team, and the side is always 0 or 1. On team 3, every portal was grey. Now, while the portal screen builds, an in-arena portal answers with your own team. A portal outside the arena answers “no team”, exactly as before, which is what keeps the rest of the map closed.
- Unpicked drops. Same check, on the server. My first fix skipped the check and spread drops across every portal on the map, which put a player miles outside the arena. The real fix lets the game’s own random pick run with the same in-arena answer.
- Squads. The portal map marks your own pick through your squad, and the squad builder only knew teams 0 and 1. Now every Free for all player gets a squad of one.
- The end board. It puts your team on blue and assigns every other team to the one red slot, in turn, so only the last opponent survived. Before the board reads the final stats, the client regroups every opponent onto one side.
- The final score. The match-end stats arrive as a reliable message a tick before the last exile’s replicated count, so the board was one point short for whoever ended the match. The board now reads the score out of the end-of-match stats themselves.
- Placement. The game decides VICTORY and DEFEAT by team, which made everybody lose. At match end the server ranks every player by score and writes the placements itself.
And one performance lesson I paid for twice. An early build looked the players up by scanning the engine’s entire object table, from a hook that runs every server tick. Under Wine one scan takes longer than a frame. The server slowed to under a frame a second and exited. A one-second cache wasn’t enough either, because the scan itself was slower than the cache. The shipped version reads the game state’s own player list, which costs nothing. Never scan the object table from something that runs every frame.
Part 3 of 7: Dominion and Team Deathmatch
Dominion was two things wearing one card. It’s an objective mode: hold the zones, grab the boons, fight over the map. But underneath the objectives it’s also one of the best team fights in the game, on some of its best arenas, and I wanted a way to play that fight on its own. So the Dominion card is a drawer now, with three rows: DOMINION, TEAM DEATHMATCH and CUSTOM MATCH. Custom Match gets its own part, because it earned one.
Dominion
- DOMINION is matchmade Dominion, as you know it: zones, boons, the merchant, the full death screen.
- Teams are balanced now. Matchmade players used to all land on the same team, which made matchmade Dominion a very long walk to nowhere. Now players go to the team with fewer players as they join, one by one, and a party always stays together.
- Item spawning and loadouts are off. Dominion is the mode with an economy: boons, the merchant, and the gear you earn during the match. Spawning your build in from a menu skips all of that, so the server refuses it.
Team Deathmatch
- TEAM DEATHMATCH is Dominion with no zones, no boons and no NPCs. Exile the other team.
- The score target scales with the match: 3 points per player in the match. A 1v1 plays to 6, a 2v1 to 9, a 2v2 to 12, and a full 5v5 to 30.
- Respawn in 8 seconds, not 20.
- A death screen made for it. You see the score bar and a “Respawning in” countdown over the live death camera, and nothing else. No boon picker, no merchant.
- Loadouts, on your terms. Pick a loadout in the EF Controller while you’re alive and it’s queued; the moment you respawn, it’s applied. You can’t swap your whole build mid-fight, but you’re never stuck with the one you started with.
- Full heal on respawn, and on a loadout swap. A new belt or a new build comes with the armor and health it should.
How we did it: Team Deathmatch was already in there, twice
There’s a real, cut Team Deathmatch mode in Spellbreak’s files. Its game mode class, its match rules, even its sudden death. That was the first thing we tried, and it cannot be played. It boots, and then it falls over three separate ways before a player finishes spawning: it has no arena table, the boon code assumes a Dominion game state and reads a null one, and it has no league tiers. It was cut mid-development and it’s missing from every table it should be in, which is very likely why it was cut.
The version you’re playing is simpler and better. Dominion already is a team deathmatch. It scores two ways: holding zones, and exiling players. And Dominion’s game state has three switches for exactly the things we wanted gone, zones, boons and NPCs, sitting right next to each other in memory. So Team Deathmatch is the Dominion game mode on its own servers with those three switches off, the respawn delay dropped, and the score target rescaled. Same mode, same arenas, same HUD, same everything that already works.
The score target needed one more step. Dominion’s own formula scales with the larger team, so a 2v1 would have played like a 2v2. We replace it with 3 points per player in the whole match, so an uneven match plays to an even-feeling target.
The death screen was the boon picker all along. Dominion’s death screen is one widget: the boon selection, the loadout sidebar, the merchant art, a background blur, and underneath all of it a small respawn countdown. With boons off, the picker had nothing to offer and filled your screen with “NO BOONS AVAILABLE”. Removing the screen entirely also removed the countdown, which left you staring at a death camera with no idea when you’d be back. The fix keeps the game’s own screen and folds away everything that’s about boons and shopping before the screen opens, because the boon request only fires when the picker is visible. What’s left is the score bar and the game’s own countdown, relabeled “Respawning in”.
Which screen you get is decided by where the server sent you. An early version asked the match whether boons were on, and cached the answer. Go from a Team Deathmatch match straight into Dominion and the cached answer was still “boons off”, so Dominion lost its boon screen. The fix is better than un-caching it: when the matchmaker sends you to a server, the travel message now says which mode it sent you to, and everything in the client that behaves per mode reads that. The server’s word, not a guess from the game state.
The one-team bug was a missing name. Dominion places a joining player through its squad system, which asks for the player’s “best team”. That function only knows about predefined teams: the team name a Custom Match pick sets. A matchmade player has no team name, so it logs that it’s falling back to a default and answers “no team”, and every such player ended up in the same place. Now, only when the answer is “no team”, the server picks the side with fewer players (or a party-mate’s side) and hands that back, so the game builds your squad on the right team natively.
Part 4 of 7: Custom Match and Match Codes
Custom Match is where Spellbreak’s community lived for a long time: scrims, tournaments, 1v1 grudge matches, the friends-only lobby where someone tries a build that shouldn’t work. It needs to be easy to get six specific people into one match, and on the right teams, and nobody else. That’s what 6.3.0 gives it.
Hosting
- Pick CUSTOM MATCH in the Dominion drawer, open MATCH SETTINGS and press HOST. You get a Match Code, six letters and numbers, in the top right of the main menu and in MATCH SETTINGS, with the game’s own copy button next to it.
- Codes are easy to read out loud. They never use 0, O, 1, I or L, so nobody has to ask whether that was a zero.
- The code belongs to your lobby. Press HOST again and you keep the same code. Switch to another mode and the code goes away; come back to Custom Match, press HOST, and you get the same code back. Only the host of a Custom Match lobby has a code.
- Host Settings live in the EF Controller. In the match, the lobby host gets the full set: start and countdown, arena, zones, boons, NPCs, switch team, and the scoring controls from the native MATCH SETTINGS screen, Dynamic Max Score, Max Score and Max Score Bonus Per Player. Everyone else in the lobby doesn’t see them, and the server refuses the scoring controls from anyone but the host.
Joining
- Type the code into ADD A FRIEND in the Friends panel and you join the host’s lobby. Upper or lower case, spaces and dashes don’t matter.
- A code that doesn’t match a lobby is treated as a name, so adding a friend works exactly as before.
- Clear answers. A wrong code, a full lobby, or a lobby that’s already launching each tell you so, in the game’s own message box.
- Up to 10 players per lobby.
- Late to the match? Enter the code while the lobby is mid-match and you travel straight into it.
Teams and the host
- Everyone picks their own team with Team Number in MATCH SETTINGS: 1 or 2. The server puts you exactly there.
- Didn’t pick? You start with your party, while that team has room, and otherwise on the smaller team.
- Members get PARTICIPANT, the host gets HOST. Joining a lobby by code puts you in the host’s party, and a party member can set their own team but can’t change the match settings. That’s the host’s job.
- Your own server. A Custom Match lobby gets a server nobody else is put on, and keeps it for a few minutes between matches, so a lobby that goes back to the menu and straight back in lands on the same server.
Custom Match doesn’t count, on purpose
The host of a Custom Match controls the rules, the score target and the teams. That’s the point of it, and it’s exactly why it can’t feed anything competitive.
- No Mage Rank or Class Mastery XP. The post-match screen shows 0, and the bars don’t move.
- No Hi-scores, no ratings.
- No profile stats. Your games played, wins, exiles, K/D, damage, class stats and the MASTERY tab count every mode except Custom Match.
- The heal button is yours. Custom Match is the one mode where players get the EF Controller’s Heal. Dominion and Team Deathmatch don’t.
- Item spawning and loadouts are open. Build testing and practice are what Custom Match is for.
How we did it: the lobby that only existed on your screen
This one surprised me. I assumed Custom Match codes were a backend feature, like friends and parties, and that I’d need to reverse-engineer the messages the game sent to create a lobby. The game never sent any. In the shipped client, the Custom Match lobby lives entirely on your machine: two fields on the game instance, “the lobby settings” and “am I the party host”, which HOST and PARTICIPANT set. The menu decides which page to show from those two fields, and never once asks the party who’s in charge. Your settings reach the match after you connect, when the server asks each player for their post-login data.
What the backend did own was the code. The “Match Code:” label is a real widget, in the MATCH SETTINGS screen and on the main menu, and all it does is show your party’s lobby ID. So the appserver hands a hosted lobby a code as its lobby ID, and the game’s own label displays it.
The label that never refreshed. The first build issued codes perfectly and showed nothing. The label updates when the party manager broadcasts “party changed”, and that broadcast lives at the very end of the game’s party-refresh handler, in a stretch of code that crashed on Elemental Fracture’s half-initialized party state back in 6.1 and has been skipped ever since. Broadcasting it ourselves runs every listener, including one that still crashes. So after each party update, the client calls only the label’s own handler, and the code appears.
There’s no box to type a code into. I looked through every widget in the game. PARTICIPANT is “Set Team”, nothing more. The only place in the whole UI where you type an identifier to reach another player is ADD A FRIEND, so that’s where codes go.
Team picks were the other trap. The native path sends your Team Number to the server after login, and the server’s handler for it treats the number as an index into the match’s squads and moves you into that squad. On a Dominion server the squads come from join order, so the handler could shuffle teams at random. The server also reads a team name straight off your login token, which is exactly how the original matchmaker placed players. So the appserver puts your pick in your token, the server places you on join, and the squad-moving handler is skipped on Dominion servers.
The host’s scoring controls are the game’s own. Dominion’s score target is worked out every tick from five numbers on the game mode: whether the target is dynamic, a starting target, a base, a bonus per player on the larger team, and a ceiling. The native MATCH SETTINGS screen set those after login. The EF Controller’s Host Settings send the same values through the server, which writes exactly the fields the native settings wrote. Who counts as the host is decided the same way as your team: your login token says so, signed by the backend, so the server can check it and the controller only shows the controls to the player the server will accept them from.
Why the XP bar still moved. The server was already sending 0 XP for a Custom Match, and the bar still swept up. Two reasons. The client read the XP value from the wrong place: the match stats arrive as a boxed structure whose data sits at an offset you only learn by asking the game, and the read landed beside it, on a value left over from your last match. It now asks the game’s own getter, the same one the server uses, so the animation shows exactly what the server awarded. And the Mage Rank bar always opens by sweeping from empty up to your current level, which looks like a gain even when there isn’t one. With no XP to show, it now opens where you already are.
Part 5 of 7: Lobbies That Run Themselves
A good mode with an empty lobby is still an empty lobby, and a full lobby that never starts is worse. This part is the plumbing that turns “a server running a mode” into “a match you can drop into”: when it starts, how big it gets, what happens to the eleventh player, and what the server does for you after you’re exiled.
Automatic match starts for every team-based mode
Battle Royale lobbies started themselves in 6.2. Now so do Dominion, Team Deathmatch, Clash and Free for all.
- When a second player joins, the countdown starts. The native “MATCH STARTING” timer shows for the whole countdown.
- If the lobby drops back under two players, the countdown pauses, and it picks back up when a second player returns.
- Later joins add a little time so they can load in, up to a limit.
- A host or staff member can still start the match right away.
Lobby sizes and the overflow line
- Dominion, Team Deathmatch and Custom Match seat 10. Clash and Free for all seat 18.
- When a lobby fills, the countdown drops to 30 seconds. A full lobby has no reason to wait.
- The next player waits in line instead of overfilling the match. You stay IN QUEUE.
- If someone leaves before the match starts, the first player in line takes the seat. Parties wait together and only get in if the whole party fits.
- If the match starts with players still in line, they go to the next lobby for the same mode.
The server heals you
- Every respawn is a full heal: health and armor, in Clash, Free for all, Dominion, Team Deathmatch and Custom Match. That includes your very first spawn when the match starts.
- A Team Deathmatch loadout swap heals too, so a new belt comes with its armor.
- Battle Royale is untouched. You don’t respawn in BR, so there’s nothing to heal.
- The “Auto Heal on Respawn” toggle is gone from the EF Controller. You don’t need to remember to turn it on, and nobody has an edge for knowing it existed.
Every mode has its own rules
| Mode | Item Spawner | Loadouts | Heal button |
|---|---|---|---|
| Dominion | No | No | No |
| Team Deathmatch | No | Applied on respawn | No |
| Custom Match | Yes | Yes | Yes |
These aren’t menu options that happen to be hidden. The server refuses what a mode doesn’t allow, so a modified client gets nothing extra.
How we did it: every mode already had a countdown
Clash and Dominion never needed a new timer. Both game modes inherit the same pre-match countdown that Battle Royale uses, because it lives in the base game mode they share. It had simply never been told when to start. For these modes, the fill requirement stays out of reach until a second player is in, then drops to zero, and the game’s own countdown arms itself. When a player leaves and fewer than two remain, the countdown freezes, and the next join restarts it. Cutting it to 30 seconds when the lobby fills is the same lever pulled the other way.
The heal is the game’s own heal. A respawn in Dominion restores you through gameplay effects, the same way a health shard or an armor pickup does, and that’s what the server applies: the game’s own effect classes for health and armor, applied the instant you respawn. No memory write of a health value, nothing that fights the replication.
The loadout had to land before the heal. A queued Team Deathmatch loadout that arrived a second after you respawned would swap your belt after the heal had already filled your armor for the old one. So the queued loadout is applied the moment the client sees you alive again, and the server’s loadout heal runs right after the swap.
Part 6 of 7: Stats You Can Trust
6.2.0 gave you a progression system and public Hi-scores. 6.3.0 had to teach both about six new ways to play.
Mode families on the Hi-scores
- Battle Royale, Dominion and Clash are separate families on the Hi-scores page, each with its own modes:
- Battle Royale: Solo, Duo, Squad
- Dominion: Dominion and Team Deathmatch
- Clash: Team Clash and Free for all
- Filter by family, then by mode. A Solo win and a Free for all win are different achievements, and the boards treat them that way.
- Ratings are per mode, so your Free for all rating isn’t dragged around by your Squad games.
- Custom Match is never listed.
The MASTERY tab counts every mode
- Mage Overview shows your account-wide exiles, KDA, damage dealt and taken, and how many Solo, Duo, Squad, Dominion, Team Deathmatch, Team Clash and Free for all matches you’ve played.
- Each class card shows that class’s own exiles, KDA and damage, and its wins in each of those modes. A win means a win now; the card used to count matches played.
- Every mode has its own row. Custom Match counts nowhere.
- The numbers update after every match, the next time you open the tab.
How we did it: the stats card is the game’s own, and it reads two maps off your player blob: matches played per mode for the Mage card, and wins per mode for a class card. The backend only ever sent the second one, and filled it with match counts, so Mage Overview read zero everywhere and the class cards called your matches “wins”. The card only knows the modes the game shipped with (the three Battle Royale sizes and Dominion), so Team Deathmatch, Team Clash and Free for all join them as rows of their own.
A post-match screen that matches the server
- The XP on the post-match screen is exactly what the server awarded, read through the game’s own stats code.
- Mage Rank and Class Mastery are the server’s numbers. The animation is just the game showing you what the server recorded.
How we did it: one match, one record
Dominion, Team Deathmatch, Clash and Custom Match were each being written down twice: once by the server watching the match, with no player stats, and once by the match result itself, which carried the stats but had no start time. The result’s start time only got set when a Battle Royale-style scoreboard poll saw a player, and arena modes never have one, so every arena result filed under a match that “started” at time zero. Worse, every result on the same server shared that one time-zero match, so each new match quietly replaced the last one’s stats. The result now uses the start time the server broadcasts, the same one the match watcher uses, so one match is one record.
The history is repaired from the original event log, which is never edited: each time-zero result is matched to the real match that ended at the same moment on the same server, and the results that were being overwritten come back.
And exiles were being shared out. The server tallies player-versus-player exiles and damage per player, keyed by each player’s ID. It read that ID from the wrong spot in the player’s data, got the same number for everyone, and so everyone’s row got the whole lobby’s total: in a three-player Free for all, all three players were credited with every exile in the match. It reads the right field now, and every player gets their own numbers.
Part 7 of 7: Also in This Patch
Named belts, already shipped
The named belt fix went out early, in the 6.2.18 hotfix: a named belt gives its full armor the first time it’s worn, from a chest, from the ground, or spawned in, exactly like the plain tier belts. If you missed it, you already have it.
The in-match scoreboard
- Press I in Clash, Free for all and Team Deathmatch to open the scoreboard, just like in Dominion.
- The title matches the mode: CLASH, FREE FOR ALL, TEAM DEATHMATCH, or DOMINION.
How we did it: Dominion’s in-match scoreboard and the one Clash would use are the same widget, and it builds every row from stats that already replicate to your client: exiles, times exiled, damage. It only ever opened in Dominion because its mode filter said so. The title was the fun part: “DOMINION” isn’t a setting anywhere, it’s text baked into the widget’s layout. So the client finds that text block in the widget tree and sets it per mode.
Mode select polish
- The GAME MODE tile shows the row you picked under the mode name: DOMINION / TEAM DEATHMATCH, CLASH / FREE FOR ALL.
- The PARTY column matches the mode. Solo and Free for all have one ADD PLAYER slot. Duos, Squads and Clash seat three. Dominion, Team Deathmatch and Custom Match seat five. Invite a third player in Duos and your party moves to Squads.
- Switching rows updates everything right away: the tile, the podium rings and the party slots.
- Re-picking the mode you’re already on keeps you on the main screen instead of dropping you into MATCH SETTINGS.
The EF Controller
- It knows every mode. Team Deathmatch, Free for all and Custom Match show up by name everywhere the controller lists modes and servers, and the controller follows the mode the server sent you to.
- Match Settings in one place. The staff Match Overrides and Match Settings are one section now, and the separate Dominion Match tab is gone, except as the Custom Match host’s Host Settings.
- Loadouts follow the mode rules in Part 5: hidden in Dominion, “Apply on Respawn” in Team Deathmatch, open in Custom Match.
Getting started
Already playing? Relaunch the launcher. It pulls 6.3.0 and updates the game and the mods.
New here? Grab the launcher from elefrac.com, make an account with an email and password, sign in, press Play.
Your quests are waiting in the QUESTS tab, and this week’s chapter is waiting in CHAPTERS. Free for all is in the Clash card. Team Deathmatch and Custom Match are in the Dominion card, and if a friend sends you a Match Code, it goes in ADD A FRIEND.
If something in here doesn’t match what you see in-game, tell me. That’s the report that makes the next version better.
See you in the arena. ⚡