Skip to content

Releases: JDevWebb/5th-echelon-enhanced

v0.4.7 · Clear Channel

Choose a tag to compare

@github-actions github-actions released this 28 Oct 18:35

A fix for 0.4.6: on a busy server, chat, friend lists and signing in could take many seconds or time out, and the game said you'd lost the server. They answer straight away again.

Tip

Thank you to Gex and Tea_bag, whose Support message and report showed it within hours of 0.4.6.

Send yours from Settings › Feedback › Send feedback.

Play

Already on 0.4.5 or 0.4.6? The launcher updates itself. New here? Download launcher.exe (Windows) or launcher-linux-x86_64 (Linux, Steam Deck) below, run it, press Connect, then Play. More in Play in five minutes.

Coming from 0.4.5? Everything in 0.4.6 is in this one too: chat, Join, Play SvM and Play Coop, and the rest. The launcher shows it after the update.

What's fixed

  • The launcher's API on servers behind Caddy (every server the installer sets up). Caddy carries all players' calls over a few connections to the server, which ran only 4 calls at a time on each. Chat's waits for new messages (0.4.6) are held for up to 25 seconds, so a handful of players' waits held up everyone else's sign-ins, friend lists, chat and reports. A connection now runs every call it has open, and Caddy opens another once one is full. scripts/proxy-test.sh checks it with calls held open through Caddy.

Running servers

  • Update as usual: the rollout in an update window, or the installer by hand. Only the server changed; nothing else is needed.
  • Correction to 0.4.6's steps for moving a coordinator to a new name: each member server needs its join token as well, --coordinator https://<new> --join-token-file token.txt (from --show-join-token on the coordinator's machine). Without it the server logs "not joined yet, and [federation] join_token is empty" and stops sending heartbeats. failover.md says so now.
  • The roadmap's next release is 0.4.8: global matchmaking, the lobby browser and fair play, as planned for 0.4.7.

Verify your download

Every file is checked by the launcher's updater and the Linux installer before it's used. To check one yourself:

  • Checksum: compare with SHA256SUMS (Get-FileHash launcher.exe in PowerShell, sha256sum on Linux).
  • Signature: SHA256SUMS.sig is the release key's signature of this version (0.4.7) and SHA256SUMS; the launcher, the installer and the servers' updater check it.
  • Build provenance: gh attestation verify <file> --repo JDevWebb/5th-echelon-enhanced shows it was built by this repository's release workflow, from tag v0.4.7.

VirusTotal

File VirusTotal SHA-256
launcher.exe 0 / 75 engines 9d10f58fbdb4e41512b220245442e8d0ee40f551257a6dbea0c30cea6a94fd95
uplay_r1_loader.dll 1 / 75 engines a3dd28d2ddf2920340e3efe2942b7915161fe0226a3251b98a5f655729934187
dedicated_server.exe 0 / 75 engines 8d2d314af56da8151e36b2d5a7be77d414165fa92fc0557aa98fb33076b68fa2
launcher-linux-x86_64 0 / 75 engines d56ab7843628ed12d85283ed3c8ec99ce9d7b748adbe4ee2968363668d6f0f71
dedicated_server-linux-x86_64 0 / 75 engines 2f05b8f6e60eae347eef51c28dcbd26acf6e674007355836e140b46d14d69575
coordinator-linux-x86_64 1 / 75 engines 5015f589cf3df8256eda488752d7305f488b011979c57928c48efecfd22dbaea

Scanned when this release was built; the links show the current results.

Some antivirus programs flag new, unsigned game tools by their behaviour (a launcher that installs a DLL into a game). If yours does, see Antivirus warnings.

Full Changelog: v0.4.6...v0.4.7

v0.4.6 · Comms Check

Choose a tag to compare

@github-actions github-actions released this 28 Oct 04:33

Grim would never send a mission out without comms. The community network can finally talk: chat in Global, in your lobby and with friends, in the launcher and the game's overlay, and you can see who's online on your server. It reaches beyond a match: Global for everyone on the network, and messages with friends on any server, from the launcher too.

Also on this op:

  • Join a friend's party or public match without waiting for an invite.
  • Play SvM and Play Coop go straight from the launcher into the online lobby.
  • Searches no longer hang on a match that has already started.
  • Four crashes in the game's own code tracked down and patched.
  • A host migration that no longer spins for ever.
  • Freezes that leave a note of where they stuck.
  • A new Beta features section, whose first beta is a fix for slow mouse turning above 60 fps.
  • The community network moves to a new address, so its coordinator can fail over.

Tip

Thank you to everyone who sent a report from the launcher or wrote to Support. This release came from them:

  • Matt: a crash in a 10-player Spies vs Mercs room, which turned out to be the game freeing something every player shared.
  • LocoDonut, ThisMouseIsAss, Drax333 and Aless: crashes after leaving a match, on a headset change, and in the game's network code, each now patched.
  • PsykoGun, BrunoMula and Aless: crashes and freezes in lobbies past their mode's size.
  • Aless, Tea_bag, JeezyWeezy and PsykoGun: searches that never ended, which led to the started matches still offered to everyone.
  • passiverat and playnwork: "Migrating match..." that never ended.
  • Tea_bag and TrustInDemon: freezes that left nothing in the logs. They'll leave something now.
  • Pa3cio: searches that found nobody while someone was hosting the other mode.
  • Wikowikor: online play that Steam's launch options had switched off.
  • RAZA and BEEG: slow mouse turning at high frame rates, the first beta.
  • luke: a game that wouldn't start once antivirus software took the add-on's DLL.
  • mpw, Gex, mrb2k4 and das: an overlay that ended the game, internet play missing on one game build, a lockout that didn't say what to do, and a message the server didn't expect. mpw also wrote Join and Play SvM / Play Coop.

Send yours from Settings › Feedback › Send feedback.

Play

Already on 0.4.5? The launcher updates itself. New here? Download launcher.exe (Windows) or launcher-linux-x86_64 (Linux, Steam Deck) below, run it, press Connect, then Play. More in Play in five minutes.

Start the game from the launcher (or through Steam with the launcher's Start the game through Steam): the launcher is what updates the game's add-on, and a game always started from Ubisoft Connect or Steam keeps the add-on it had until servers refuse it as outdated.

What's new

Chat (community network)

  • Global, Lobby and Messages, on the launcher's new Chat page and the overlay's Chat tab. Global is everyone on the community network, on every server; Lobby is the players in your party or match; Messages are with your friends, whatever server they're on. All about it in Chat.
  • Pop-ups in the game, as Settings › Notifications says, per room: never, only when you're mentioned, outside matches, or always (unless you change it: Global outside matches, Lobby and friends always). Several close together show as one.
  • The rules: no links but a Discord invite in its own form (the launcher asks before opening one); slurs and hate masked as *** (swearing is fine); not too fast. New accounts wait 30 minutes, or a match, before posting in Global.
  • Report, block, delete: right-click a name to report the message, block the sender, add them as a friend or message them, or delete your own. Messages are kept from 2 hours (a lobby's) to 30 days (with a friend), and the network's admins can read them; they see reports on a new Moderation page, and can delete a message, mute (a room or everywhere, for a time or for good) or ban. Nothing is muted automatically.
  • Chat is the community network's alone: servers and networks of your own have everything else.

Playing

  • Join a friend (thanks to mpw, who wrote it). Join beside a friend, in the overlay or on the launcher's Friends card, takes you into their party or public match without waiting for an invite, and the launcher starts the game first if it isn't running. An invite-only party or a private match still needs an invite, and a match that has started can't be joined until it's over. Your game only takes a join it asked for itself, so no server can pull you anywhere. It needs your server on 0.4.6. More in Joining a friend.
  • Who's online: the launcher's Friends card lists who else is online on your server under Online now, with Add friend, Invite (while the game runs) and Block; the overlay's Find players says the same. On a friends-only server, it's your friends.
  • Lobbies past their mode's size (thanks to PsykoGun's, BrunoMula's and Aless's reports). The overlay's Most players goes up to 99, and hosts use it: about a third of the play time on eu1 is in matches bigger than their mode was made for, and above it some players' games crash or freeze. It stays allowed, and the overlay now says so under Most players when a match is above its mode's size (2 for co-op, 4 for Classic, 6 for Frontline, 8 for Blacklist, Team Deathmatch and Capture); Playing now shows it too ("9/10 (made for 8)"). A Spies vs Mercs map has 5 starting spots a team, so a sixth player on a team starts elsewhere on the map. It needs your server on 0.4.6.
  • Searches say what else is open (thanks to Pa3cio). The game only finds matches of the mode you search for, so with few players two lone hosts of different modes never met (about 20 times in a day on eu1). A search that finds nothing while matches of another mode are open now says so: "Nobody is hosting SvM Classic right now: 2 SvM Blacklist matches are open". It needs your server on 0.4.6.
  • Searches don't get stuck on a match that has started (thanks to Aless's, Tea_bag's and PsykoGun's reports). Matchmaking handed out public matches already under way: the host's game turns a joiner away from those, or the searching game waited on one for good and had to be restarted. On eu1 one match under way kept everyone searching its mode from playing until it ended (178 stuck searches in three days). A match a join was just turned away from as started is now left out of searches for a while, so a search finds the open ones, or finds nothing and hosts a lobby the next searcher joins. It needs your server on 0.4.6.
  • A host migration that never ends leaves the match (thanks to passiverat's and playnwork's reports). When a match's host left and nobody could take over, "Host has changed. Migrating match..." stayed up for good and the game had to be restarted: the game waits for a migration with no time limit at all. After 15 seconds the game now leaves the match the way it does when a host is lost, back to the menu, and the overlay says why.
  • Steam's launch options can't switch online play off unnoticed (thanks to Wikowikor). A game started with -offline (here, in Steam's launch options for the game) never goes online. The launcher's checklist now warns when Steam's launch options have it, and the overlay says so for as long as the game runs.

Crashes and freezes

The game's own code had bugs that crashed it, and 0.4.5's crash reports showed exactly where. The add-on now patches each one in memory as the game starts (the game's files are never changed), on DirectX 9 and 11, and leaves a game build it doesn't recognise alone. The log says when a patch does its job, so the next reports will show it working.

  • Big Spies vs Mercs lobbies (thanks to Matt). The game keeps state slots for eight players. A ninth player and on gets state of its own, but when one of them left, its teardown also threw away a list every player shares, and the next player to spawn crashed on it (and the map's end threw it away a second time). That list is now left alone. This was the crash in rooms of 10.
  • Leaving a match (thanks to LocoDonut). Particle effects queued for drawing could be drawn after a map load had freed what they draw into. They're skipped once it's gone (one frame of sparks, at most).
  • Unplugging a headset (thanks to ThisMouseIsAss). When voice chat couldn't open a microphone, it deleted its audio devices without closing them, and the next headset change read a deleted one. They're now closed first, and a dead one is skipped.
  • The game's network code (thanks to Drax333 and Aless). A sent packet could call back into something that no longer existed when its delivery was confirmed. Those callbacks are now checked first, and every copy of one is removed with it.
  • Freezes leave a note (thanks to Tea_bag and TrustInDemon). A freeze (the picture stops, the sound plays on) throws no error, so the log just stopped. When the game draws nothing for 10 seconds with its window in front, the add-on now writes where it was stuck, and the launcher asks how it went. That's how the next freeze gets fixed.
  • The overlay can't end the game (thanks to mpw and JeezyWeezy). On a PC where DirectX 11 wouldn't make the small test device the overlay hooks in with, the overlay crashed the game, or later went missing (no F5). The test device is now asked for in four ways, so the overlay should start on those PCs too; if none works, the game runs on without the overlay, and the log says why.
    -...
Read more

v0.4.5 · Perfect Ghost

Choose a tag to compare

@github-actions github-actions released this 17 Oct 04:06

In a game about being a ghost, the only ghosts on the server should be you. This one exorcises the matches that haunted the lists after their host had left, teaches the game to say what it crashed on instead of vanishing without a trace, and stops two PCs on one home connection from being handed each other's address (they're housemates, not twins).

Also in the van: names with slurs or hate refused, Steam Input for Steam copies, an overlay that keeps out of the game's window handling (and no longer disappears on DirectX 9 at 4K), Play working for games set to run as administrator, joins that say when it's the mods, and reports that finally show the moment things went wrong. Plus three new game options from MPW1412: the mouse moving 1:1, a brighter picture and no automatic climbing. Chat moves to 0.4.6; it's still in the briefing room.

Tip

Thank you to everyone who sent a report from the launcher or wrote to Support. This release came from them:

  • Alessenchaleur: the launcher's list showing several matches after one was started again.
  • Tea_bag and PsykoGun: logs that turned out to hold nothing but the overlay's errors, which is why hangs and crashes couldn't be traced.
  • RAZA: controllers, which Steam Input only handles in games Steam starts.
  • passiverat: the overlay vanishing on DirectX 9 at 4K, with the log lines that pinned it down.
  • MARIUS, SUBGI and Moni: two PCs behind one router failing to join each other, and a mod difference that was blamed on the host.
  • dro: a crash as a lobby loaded, which nothing could explain yet; now the game will.
  • Santhosh_7487: Play refused with "requires elevation" for a game set to run as administrator.
  • PsykoGun and playnwork: the launcher asking how the game went after Steam's warm-up, about the day before.
  • dominik99: an outdated game that got back in after the launcher signed in.
  • Victor: reports that hid half of his own name.

Send yours from Settings › Feedback › Send feedback.

Play

Already on 0.4.4? The launcher updates itself. New here? Download launcher.exe (Windows) or launcher-linux-x86_64 (Linux, Steam Deck) below, run it, press Connect, then Play. More in Play in five minutes.

What's new

New game options (thanks to MPW1412)

The first time 0.4.5 starts, the launcher lists these with what we recommend already chosen, and the game starts once you've saved your choice; a new install chooses them in its setup. Settings › Game changes them any time.

  • Mouse moves 1:1 (recommended). The game caps how far the view turns in a single frame, so a fast flick turned less than a slow one: its negative mouse acceleration. The cap is now widened far past any real movement, so aiming is linear, but a bad input spike is still caught and can't flip the camera (which removing the cap outright does under Proton). If you use ThirteenAG's Fusion Fix with its own DisableNegativeMouseAcceleration on, that one stays in charge and this option is greyed out; set it to 0 in SplinterCellBlacklist.FusionFix.ini to use this one.
  • Brighten the picture (off unless you choose it). The game caps its brightness low, which looks dark, under Proton especially. This lifts the cap and sets a brighter picture, from a slider, by editing Blacklist.ini while the game is closed; turning it off puts the original values back.
  • No automatic climbing (off unless you choose it). Sam stops climbing and vaulting over edges by himself when you sprint into them (Active Sprint): climbing is only ever manual. He's a professional; he'll climb when you tell him to. It takes effect the next time the game starts.

Playing

  • No more ghost matches in the lists (thanks to Alessenchaleur's report). When a match's host left, the players carrying on moved into a copy of it, but the server kept them in the old one too, so it stayed listed under the host who had left until that host signed out (once for over four hours), beside the match really being played. Players who carry on now leave the old match, and it ends when the last of them has. It needs your server on 0.4.5.
  • Names with slurs or hate aren't allowed. A new name, or a rename, that's a slur, hate, or a web address is refused, with a word list that sees through look-alike letters and spacing (swearing is fine). Players whose name from before breaks the rules are asked to choose another: the launcher says so on the Play screen with a Rename button, the game isn't let in until they do, and friends and invitations carry on under the new name. The network's admins can ask any player to rename from the admin UI (Ask to rename, on the player's page).
  • Players who join a match are counted in it. Since 0.4.4 the server counted a player joining from a search only while the match had a seat by its own count, which misses players who came in with a party; the host's game had let them in all the same. One in eight such players wasn't counted, so the match looked emptier than it was and searches offered it when it was full (one player was offered a full match ten times). A join now counts whenever the game makes it.
  • Steam Input for Steam copies on Windows (thanks to RAZA's report). Steam applies Steam Input (controller layouts, Xbox 360 pads and the rest) only to games it starts, and the launcher started the game itself. For a Steam copy, Settings now has Start the game through Steam: Play then asks Steam to start it. Steam then picks DirectX 9 or 11 (its Play menu or launch options), and the launcher can't tell from the game's exit code whether it crashed. Off by default.
  • The overlay keeps out of the game's window handling. With the panel open, every window message was handled a second time, late and from the overlay's own thread: Alt could open the window's menu, Alt+Space its system menu, and minimising or moving happened twice. Alt+F4 still quits with the panel open.
  • The overlay stays on screen on DirectX 9 (thanks to passiverat's report). Its renderer made room for each vertex at 20 bytes and wrote 24, so a busy panel (a 4K screen, a high scale) overran its buffer: every frame failed, and the panel vanished while still holding your mouse and keys. The buffer is now sized for what goes in it, and the game's drawing state is put back even when a frame fails. (We've had a word with the arithmetic.)
  • Two PCs, one router, two addresses (thanks to MARIUS's, SUBGI's and Moni's reports). The game asks the server for its own public address the moment it starts, a second before our add-on has introduced it. With a housemate already playing from the same connection, the server answered with the housemate's address, the second game told everyone to reach it there, and joins between the two failed. Each game is now answered with its own address, by its own connection, and a newcomer waits that second rather than borrow one. It needs your server on 0.4.5.
  • The real reason a join failed (thanks to MARIUS's and SUBGI's reports). When two games' data differ (a mod one has and the other hasn't), the game doesn't always say so: sometimes it reports a plain connection failure, and the overlay said "the host's game didn't let you in in time". The server now compares both sides' data on any failed join into a room it gave you, and says it's the mods, and whose game has them. It needs your server on 0.4.5.
  • Play works for a game set to run as administrator (thanks to Santhosh_7487). With "Run this program as an administrator" ticked on the game, Windows refused the launcher's plain start ("requires elevation (os error 740)"). The launcher now starts it as administrator itself, and Windows asks you first, as that setting means it to.

Reports

  • The game's log keeps what went wrong (thanks to Tea_bag's and PsykoGun's reports). While the game's window had no size (minimised), the overlay wrote two errors on every frame: one log reached 92 MB, and since a report sends the end of the log, reports held only those errors. A line repeated within a minute is now left out, with a note of how many were.
  • No false errors in the game's log. A game whose network adapter has more than one address (as Wine lists them) was told its adapter wasn't found, on every call (179 times in one log); every address now counts, and if none matches it's said once. A copy without its own addresses file (Ubisoft Connect's, in Program Files) no longer logs that as an error: the built-in addresses are used, as before.
  • The previous game's log is the one that matters. Steam and Ubisoft Connect start the game, close it at once and start it again, and that half-second run took the place of the previous run's log, so a report never had the game that crashed. A run that short is now added to the next one instead.
  • The game says what it crashed on (thanks to dro's report). A log that simply stopped said only that the game had crashed (and with Steam or Ubisoft Connect starting it, the launcher didn't even get an exit code). Now the first few serious errors of a run (a bad memory access, a stack overflow, corrupted memory and the like) go in the log with where they happened, module and offset, and what was on the stack. Written in a way that can't make a crash worse: no memory allocated, nothing waited on.
  • No "how did it go?" about yesterday (thanks to PsykoGun's and playnwork's reports). Steam's and Ubisoft Connect's half-second warm-up looked like the end of a game, so the launcher asked how it went, and with the last session the server had, sometimes from the day before. A run of a few seconds isn't asked about any more, and what the server saw counts only for a session that ended in the last two hours. Asking how dinner was after the bread basket: gone.
  • A normal quit isn't a drop. A game that quit properly never...
Read more

v0.4.4

Choose a tag to compare

@github-actions github-actions released this 13 Oct 03:21

See what's being played before you start, and know why a join didn't work. Your friends' lines now name the mode and the map ("SvM Classic · Virus Vault"), and every server shows its open matches by mode, map and players, in the launcher and in the overlay. Searches skip lobbies that are already full, and when a join fails or a search finds nothing, the overlay tells you why the moment it happens: a full lobby, a locked or closed one, or game data (mods) that differ from yours, and whose game has the mod.

Tip

Thank you to everyone who sent a report from the launcher. This release came from them:

  • FANTOMAS, d15_HB and Oni: joins refused by co-op lobbies that were already full, which searches now skip.
  • ijsman: seeing what people are playing, co-op or Classic Spies vs Mercs, from the launcher and the overlay; and searches that found nothing because one PC had a mod.
  • PlaySkill: joins that failed because one game had a mod and the other didn't, which the launcher now explains.
  • Renegade and nano_machine: "failed joins" that were the game tidying up its own party.
  • Ghost_Leader: "Too many failed logins" though every sign-in had worked.
  • Oni, nano_machine, Ghost_Leader and Renegade: games closing mid-mission, which reports can now tell apart from a quit.

Send yours from Settings › Feedback › Send feedback.

Play

Already on 0.4.3? The launcher updates itself. New here? Download launcher.exe (Windows) or launcher-linux-x86_64 (Linux, Steam Deck) below, run it, press Connect, then Play. More in Play in five minutes.

What's new

Playing

  • See what's being played (thanks to ijsman's suggestion). A friend in a match now reads "SvM Classic · Virus Vault · in a match with Tank" (the exact mode: SvM Blacklist or Classic, Team Deathmatch, Uplink Control, Extraction, or the co-op mission), in the launcher and in the overlay; a friend in a lobby reads "In a lobby with Tank". And every server says what's being played on it: its public matches by mode, map and players (6/8), how many private matches there are, and how many players wait in lobbies. Never anyone's name, and no more than a search in the game shows. It's under Playing now on the Play screen's Friends card, on each server in the server list (and when you point at one in the server menu), and in the overlay's Friends pane. It needs your server on 0.4.4.
  • The server no longer ends a public match when its host leaves. Players who joined it from a search were left out of who was in the match, so when its host left, the server ended it for them and refused their games' attempts to carry on. They now count as in the match. Whether a match then carries on is the game's own choice: in our tests a host quitting a Spies vs Mercs match ended it for everyone (the host's game closes it), while a party carries on with a new host.
  • A party carries on when its host leaves, for everyone in it. The game takes players off its party's list of members while they're still in the party, and the server then refused their games' attempts to carry the party on, so it broke up: five players in one party on eu1 at once. Anyone who has been in a party or a match may now carry it on; someone who never was still may not.
  • The overlay lets go when you alt-tab. With the panel open, alt-tabbing out of a game that minimises left the panel open in the background, and the game ignored the mouse and keys after you came back until the overlay key was pressed again. The panel now closes when the game loses focus.
  • Invitations from a party member lead to their party. Anyone in a party can invite a friend, but the server only tied an invitation to a room its sender was hosting, so a friend who got into an invite-only party by a member's invitation wasn't counted as in it. A member the host is friends with now invites into the party itself, for as long as it stays a party and they're in it.
  • Signing in again is quieter. When the game had to sign in again, it briefly sent its other requests without its sign-in, and each of those signed in again too. It now signs in once and the rest carry on.
  • Searches skip lobbies that are already full (thanks to FANTOMAS's, d15_HB's and Oni's reports). A co-op lobby starts with two seats, and the host can raise it to four or six; the search went by the most a lobby can hold, so it offered lobbies full at their size, and joining them failed. It now goes by the seats the host has set, so a host raising the size opens the lobby to searches again. An invitation no longer puts you into a lobby that's full, either.
  • Nobody can hide lobbies by joining them. Now that players who joined count towards a lobby being full, one player could have filled lobbies without playing in them. A player is now in one match and one party at a time, and gets into a public lobby only while it has a seat (or with an invitation).
  • A search that finds nothing because of mods says so (thanks to ijsman's report). The game only shows lobbies whose game data is the same as yours, and says nothing of the others, so a game with a mod never sees an unmodified game's lobbies, and the other way round. When a search finds nothing while such lobbies are open, the overlay says so at once and what to do: remove the mod, or verify the game's files in Steam or Ubisoft Connect (a game before 0.4.4 hears it from the launcher, after it closes).
  • A failed join says why (thanks to PlaySkill's report). The launcher now tells a full lobby from a locked or closed one, and when two games' data differ it says whose: "Theusma01's game is unmodified; yours has the balaclava mod".
  • The overlay says why a join failed, the moment it does. A full lobby, a locked session, a room that had just closed, or game data that differ (and whose game has the mod), and a search that found nothing because of mods: the overlay explains it straight away, instead of the launcher asking about it after you quit. What the overlay explained isn't asked about again; a join that failed for no known reason still is, so it can be reported.
  • The game tidying its own party isn't a failed join (thanks to Renegade's and nano_machine's reports). When your party closes as you go into a match, the game reports a failed join to it; that's no longer counted against you, doesn't ask for your game's log, and doesn't ask you how it went.
  • Joining a public match through the relay connects at once. The match's players reach someone joining it from a search a few seconds before the join reaches the server; since 0.4.3 the relay waited for the join. It now carries them for those seconds (only them, and only through the relay, so nobody's address is handed out).
  • "Too many failed logins" only after wrong passwords (thanks to Ghost_Leader's report). Every sign-in counted towards the limit, even those that worked. Now only a wrong password or key counts, and the separate limit on how many sign-ins an address makes in a short time says "Too many sign-ins from your address in a short time".

The launcher

  • Reports say how the game ended. A report now carries the game's exit code (a crash's, say), and the game writes a last line to its log when it closes normally, so a crash, the game being killed and a quit can be told apart.
  • The server list says what's being played on each server (above).
  • A Uplay emulator is noted, not refused. When the game's Ubisoft Connect DLL has been replaced by an emulator, the launcher says so once on the Play screen: how you run your game is up to you, but it isn't a setup we support, so we may not be able to help if something doesn't work with it. Close the notice and it doesn't come back. The game's log notes it too.

Running servers

  • Updates go out in update windows, booked ahead. A maintenance window is now for an update or for other maintenance, and the rollout installs a release on a server only during an update window booked for it or for the whole network, so players know days ahead when their server restarts: launchers say "Server update today, 8:00 pm" and that it's down for about two minutes, and the game warns them 10 minutes before. Within its window a server updates at once, players on or not. Until a window is under way, the rollout waits, and the Updates page says when the next one is. Update now, without a window sends an urgent fix out as before (each server when it's quiet, or within two hours), and rolling back always goes out at once. A whole network's update window covers every server and the coordinator. Book update windows after updating the coordinator, or 0.4.5 won't go out (operations).
  • "Update from the project's roadmap" on the admin UI's Roadmap page, at any time, not only on an empty roadmap: it shows what's added, moved, changed and removed, then brings Shipping, Next and Later up to the project's for the release. Requested, and items made of players' suggestions, stay as they are with their links.
  • Sessions tells a match's end from a dropout. Traffic falls to almost nothing on the results screen, and few matches write stats, so a match ending around a player read as them dropping out. The host closing a match now ends their stay in it (it showed them in it until their game timed out), a guest who left isn't also "removed by the host", and one dropout is one problem, not one for each way its traffic fell.
  • Sessions says what a failed join ran into: a full lobby, a locked session, a room just closed, or whose game data differs (and from what). The game's own party tidying isn't shown as a problem.
  • A connection stalling isn't a dropout: a fall in relayed traffic while the player's own game and launcher went ...
Read more

v0.4.3

Choose a tag to compare

@github-actions github-actions released this 07 Oct 23:57

Connections hold better, false warnings are gone, and your reports get answers. Players who join a public match through the relay keep their connection when their game changes port, the "Other players can't reach you" warning only shows when it's true, and a report you send is never lost to closing the launcher too soon. The admins can now reply to your reports, and you'll see the reply in the launcher. And a security review of the whole network, attacking a copy of it, closed every way it found to take a server down, lock players out or reach them through the relay; the fixes were then tested in real games across two networks.

Tip

Thank you to everyone who sent a report from the launcher. Much of this release came from them:

  • Oni: the false "Other players can't reach you" warning, and PC names not hidden whole in reports.
  • PlaySkill: relayed matches dropping on mobile connections, a report lost when the launcher closed, and the overlay's server details timing out.
  • Icky: F5 doing nothing on laptops, so the overlay's key is now yours to choose.
  • tacit_danger, SirCooms, Daramos and Renegade: reports on joins, connections and private matches, which showed what works and what doesn't.

Send yours from Settings › Feedback › Send feedback.

Play

Already on 0.4.2? The launcher updates itself. New here? Download launcher.exe (Windows) or launcher-linux-x86_64 (Linux, Steam Deck) below, run it, press Connect, then Play. More in Play in five minutes.

What's new

Playing

  • "Other players can't reach you" only when it's true (thanks to Oni's report). Leaving your last party, back to the main menu, closes the game's connection for other players until you go online again, which is normal; the overlay took it for a fault after a minute and warned you. Now the game tells the server it's gone offline, and the warning shows only when you're online and the server really doesn't hear from you.
  • Relayed matches keep their connection when your port changes (thanks to PlaySkill's report). On some mobile and carrier-grade connections, the game's traffic leaves from a different port than the one it registered with the server, and the relay dropped it until the game happened to register again: about 20 seconds without the match, after a restart. The relay now recognises your traffic from any port of your address by its tag, and sends the match's traffic back the way it came. This works with 0.4.2 games too, once your server is on 0.4.3.
  • Choose the key that opens the overlay (thanks to Icky's report). On most laptops, and some keyboards, the top row sends brightness and media keys unless you hold Fn, so F5 did nothing. Settings › Game now has the overlay's key (F1 to F12, Insert, Home, End, Page Up or Down, Pause, Scroll Lock or `), and the game reminds you to hold Fn for a function key.
  • Signing in through a VPN works (Cloudflare WARP and the like). The game's sign-in was refused when its connections left the VPN from neighbouring addresses; a ticket is now good from the address that asked for it, the ones next to it, and any your launcher or game signed in from in the last 10 minutes.
  • The server's details in the overlay wait for a slow connection (thanks to PlaySkill's report). On mobile connections they timed out about once in a hundred refreshes.
  • The overlay's key only opens it while the game is in front. It was read from the whole keyboard, so pressing it in a browser over a windowed game opened the panel and kept the mouse inside the browser's window; switching to another program now closes the panel and frees the mouse.
  • A game refused as outdated stops asking. It used to sign in again every few seconds for as long as it ran; now it waits until you restart it after the launcher has updated.
  • Signing in holds when many players start at once. The game's sign-in waited for the same few password checks as new accounts and the launcher's sign-ins, and on a busy server it was refused at once ("internal error") rather than wait its turn; it now has a turn of its own.
  • The relay only carries your game's traffic. It forwards only between players the server put together: in the same party or match, joining a public match's host, or invited by each other. Nobody else can send anything to your game through it.
  • A private match stays private. A party follows its host into a private match only if they were in the party before the match was made, so someone who added themselves to the host's party can't follow.

The launcher

  • Support, in the launcher. A new Support page: write to the community network's admins about anything that goes wrong, with the game's or the launcher's log if you tick them (your PC's name, user folder and internet address hidden first). Their answers show there, a notice says when one came, and the overlay tells you in the game. On the community network's servers.
  • Reports aren't lost when you close the launcher (thanks to PlaySkill's report). Sending a report goes on after you press Send; closing the launcher before it finished dropped it without a word. Now a report being sent is kept until the server has it, and sent the next time you start the launcher; closing while one is sending asks whether to wait.
  • Replies to your reports. The admins can answer a report, and you'll see their reply under Settings › Feedback › Your reports, with a notice when one arrives.
  • The 15 minutes before a problem, from the game's log. When the server sees a problem in your game (a join that failed, your connection dropping, the game restarting in a match), it can ask for the 15 minutes of the game's log before it, at most once an hour (never the whole log), with your PC's name, user folder and internet address hidden first. It's part of the game's diagnostics: Settings › Feedback turns them off, and this with them.
  • A refusal that won't change isn't asked again. An outdated launcher, or a banned account, is told once and asked again only after an update or when you press Check again, not every ten minutes.
  • Reports with logs are smaller: the lines that only trace the game's calls, most of a long log, are left out, so more of a long session fits.
  • The network's servers only over HTTPS. If one doesn't answer over HTTPS, the launcher stops and says so, rather than send your password over plain HTTP, even the first time you connect (before, only a server you'd used over HTTPS was held to it).
  • IPv6 addresses are hidden too in reports and diagnostics, as IPv4 ones were.
  • Your server list stays the community one. Connecting to a server that names its own server directory no longer switches yours to it without asking; the launcher says so, and you can set it in Settings.
  • Your PC's name is hidden whole in reports and diagnostics (thanks to Oni's report): a PC named after its owner's account kept part of its name.
  • A new account's name needs a letter or a digit: names of punctuation only (.., -) are refused.
  • Failed sign-ins from elsewhere don't lock you out: a sign-in from where your launcher just signed in, or with your identity, isn't held up by someone else guessing your password.

The game's diagnostics

  • What the game is doing goes too: when it joins or leaves a game session, when it saves at a checkpoint or a mission's end, and achievements. A few lines a minute at most, private details hidden as before; Settings › Feedback turns it off.

Running servers

  • Light or dark admin UI: a button at the foot of the rail switches between the system's choice, light and dark (kept in that browser).
  • The world map's day and night show, in either theme (night was all but invisible on a PC set to light mode), and a player's city shows the time on its clocks, summer time included, not the sun's time from its longitude.
  • Live: a new page in the admin UI with every game open now on every server: the map and game mode by name, public or private, the host, everyone in it with their ping and whether the relay carries them, and how long it's been going. Each match has its own page with every player's side of it in one list.
  • Players who joined a public match count as in it. The live numbers, the online lists and friends' presence left out everyone who joined a public match from a search or an invitation: "1 in a match" while three played. The game itself now sees them too, as it did on the original servers: in the player lists of the sessions it finds, when a friend looks for the match they're in, and when it tells friends which match it's in. And two players who joined the same match may be put in touch directly (NAT traversal), which the server refused before.
  • Sessions says how each stay ended: left, removed by the host (named), the connection dropped, the game restarted or crashed, timed out, the server restarted, or still in it; who else was there and for how long; the map and game mode by name. A game that restarts in the middle of a match is a problem of its own.
  • Fewer false warnings on Sessions: no "nobody could reach it" for a game still in the menus, or for the old game's registration after a restart, and a game going offline or quitting says so.
  • Game logs: players' games send their log when something goes wrong (unless they turned the diagnostics off); it's under Reports › Game logs, linked from their Sessions row, and isn't counted as an open report.
  • Replies to reports: a report has a reply box beside the note; the player reads it in their launcher.
  • Support: a new admin UI page with each player's conversation, their accounts and the logs they sent; answer there, and mark it waiting or resolved. Message on a player's page writes to them first (to ask for a log, say). N...
Read more

v0.4.2

Choose a tag to compare

@github-actions github-actions released this 06 Oct 01:46

Switching servers is one click, the launcher shows what it's doing in one place, tells you when your server updates or goes down for maintenance, shows the roadmap and takes your suggestions, and makes your account for you. Joins that fail are easier to fix, reports with logs get through, and the launcher finds a server when the coordinator is down.

Play

Already on 0.4.1? The launcher updates itself. New here? Download launcher.exe (Windows) or launcher-linux-x86_64 (Linux, Steam Deck) below, run it, press Connect, then Play. More in Play in five minutes.

New: the game's diagnostics

The first time you start this version, the launcher asks you about something new, before the game runs. 5th Echelon can now send the server you play on a short diagnostic log while you play: the game's warnings, errors and network messages, a few lines a minute at most, never the whole log. It lets the server's admins see why a join failed or a connection dropped on your side, not just theirs.

Before anything leaves your PC, your PC's name, your Windows account name, your user folder and your internet address are removed. It goes only to the server you're playing on and is kept for at most 30 days. Show me an example shows the lines from your own last game that would have been sent. You choose Keep sending or Turn it off; nothing is sent until you've answered, and Settings › Feedback changes it any time.

What's new

Playing

  • Different game data refuses at the lobby again. Players whose game files differ (a mod such as a loose PEC.ini) can't start a match together, so the host refuses them at the lobby with the game's own "different version" message instead of letting them in to fail when the match starts. Players with the same mods play together fine.
  • The overlay has a mouse in play, too. Opened outside the SMI map (F5), its cursor was hidden and the mouse still turned the camera. Now the overlay shows its own cursor, the cursor moves freely in the game's window, and the game gets no mouse or keys until the panel closes.
  • Signing in again after a drop or a restart works every time, and leaves no dead lobbies behind. A game that lost the server, or was started again, signs in from the same address and port while the server still holds its old connection for a minute. Lobbies the old game made stayed in friends' lists for as long as the player was online, and joining one failed, and the player stayed listed in other people's lobbies the old game had joined; both are cleaned up when the old connection goes. And about 1 in 256 such sign-ins within a few seconds failed outright, because the server took the new sign-in for a resend of the old one.
  • Large requests from the game (a big stats request, say) no longer fail when their pieces arrive out of order.
  • Your ping to the server is on the overlay's network line (F5), measured every 20 seconds.
  • The overlay's text is sharp below 1080p: it's drawn at your screen's own size instead of being scaled down.
  • Friends see you online the moment you're signed in. For a moment after signing in, a friend's list or a search could still show you offline.
  • A warning before maintenance. From 10 minutes before your server (or the whole network) goes down for booked maintenance, the overlay shows how long is left, for how long, and the admins' note, so you can finish your match.
  • A warning when other players can't reach you. If the server's NAT helper never hears from your game, or stops hearing from it, matches with other players can't connect, and until now nothing said so. The overlay now shows Other players can't reach you at the top of the screen with the reason and what to do (a firewall or antivirus blocking the game's traffic to the server, usually), and it goes away by itself once the server hears from the game again. With internet play set to LAN or VPN only, the overlay says so when the game starts.

The launcher

  • Roadmap (on the community network): a new screen with what's shipping, what's next and what's later for 5th Echelon, and a form to suggest a feature or improvement. Your suggestions stay listed there with the admins' answer.
  • Maintenance warnings: on the day your server (or the network) is booked for maintenance, or from 12 hours before, a notice under Play says when and for how long, in your own time, with the admins' note; the server menu marks that server. From 30 minutes before it offers a server that stays up, and while yours is down, Play waits and offers it.
  • What's new, once after each update: the main changes you'll see and the fixes you'd notice, with the ones only the community network has marked, and a way back to it if you play elsewhere. Missed it? Click the version at the bottom of the side menu.
  • GitHub and Discord in the side menu, at the bottom: the project's page for releases and issues, and the developer's Discord (right-click to copy the name).
  • Who runs your server: the server card's caption says Self-hosted for a server on no network (your own, a friend's, a LAN party's), or the other network's name for another group's; hover it for what that means. Community servers show nothing new.
  • A server menu on the Play screen. The server card opens the community servers, best first, with your ping and the players on each. Pick one and you're switched there at once, with your friends and name. A server of your own, a LAN party's or another group's network is on the Servers screen, with your recent servers and one click back to the community network.
  • One activity bar along the bottom for everything that takes a while, and every error: switching servers (with its steps, and how long each took, under Steps), creating your account, sending feedback (with how much has gone up; the window closes as soon as you press Send), installing, the connection test and updates. Something that fails stays until you close it, with Try again, Copy details, and for a report, Without logs.
  • Your account is made for you on a community server you haven't played on: with the name you use everywhere, no questions. You're asked only if someone there already has it (an account from before names were kept for each player), with the name checked as you type and free ones to pick.
  • When your server updates: while a new release goes out to the servers, a notice under the launch bar says when yours updates and is back, in your own time zone, and that you can keep playing until then. While it restarts, it offers a server already on the new release; and if your server runs a newer version than your launcher, Update and restart.
  • A warning when the game's data is modified, naming the mod when it's a known one (the balaclava mod), with how to play with everyone.
  • Servers without the coordinator: the launcher remembers the last server list and knows the community's three servers, so you can still find and join one when the coordinator is down.
  • No more bl-dataversion.txt: the game no longer writes what its data version is made of, and the launcher deletes the file left from earlier versions. It can be turned back on, for working out a "different version of the game", under Settings › Advanced › Hooks.
  • Bans and sign-in limits say why. A banned account shows as Banned on this server in the Status card, with how long and why, and too many sign-ins says Too many failed logins; try again later, instead of "Error when sending request".
  • Names up to 32 characters, as servers allow (the launcher cut them to 24).
  • Uninstall (Settings › 5th Echelon client) says it only puts the game's DLL back: your settings, accounts, saves and identity stay, so Install brings it all back.
  • Connecting from far away is more patient. The launcher waits up to 10 seconds for a server to say how it's set up (3 before), asks twice, and when it still gets no answer says so, instead of "address doesn't answer on port 50051" (a port the community servers keep closed).
  • Reports with logs get through. A report with a few MB of logs could fail with a server error, from far away especially. The launcher now keeps reports small enough for every server, waits longer for the upload, and when it still fails, says so and offers to send without the logs.

Running servers

After your server has updated to 0.4.2, run the installer once more (sudo bash install-server.sh; it keeps your settings, accounts and keys). The update itself only replaces the programs; the installer turns on the program check, the larger uploads, BBR and the admin UI's compression below, and backups if you've written backup.env.

  • The admin UI, redesigned in the launcher's look: an icon rail, every page opening with its title and a band of its key numbers and actions, then cards. Bandwidth and Activity are tabs under Network, the audit log under Security. Dark only.
  • Maintenance windows: book downtime for servers or the whole network on Updates, with a note for players. Launchers warn on the day (or from 12 hours before), the game warns 10 minutes before, and no update starts on a server during its window. operations.md
  • Roadmap and suggestions, on the community network's coordinator only: a Roadmap page to keep the project's roadmap that its players see in their launchers, an inbox of the suggestions they send (reply, decline or promote to a lane), and a ready-to-paste prompt for Claude Code on every item and suggestion. operations.md
  • Sessions in the admin UI: each player's time on the servers (o...
Read more

v0.4.1

Choose a tag to compare

@github-actions github-actions released this 04 Oct 05:52

Leaderboards are back, your progress comes with you, setup is simpler, and players can tell us when something goes wrong.

Play

Already on 0.4.0? The launcher updates itself. New here? Download launcher.exe (Windows) or launcher-linux-x86_64 (Linux, Steam Deck) below, run it, press Connect, then Play. More in Play in five minutes.

What's new

Playing

  • Leaderboards and stats are back, and they're global: the stats you earn on any server in the community network add up in one place, and the leaderboards rank everyone on the network.
  • "A different version of the game" no longer keeps players out of a lobby. A match still needs everyone on the same game data, though: a mod that changes the game's files, such as the balaclava mod (a PEC.ini in src\SYSTEM), makes the match fail to start for players who don't have it. Players who all have the same mods play together fine. Steam and Ubisoft Connect copies, in any language, have the same data. The host needs 0.4.1, and hosts can turn the check back on with AllowDataMismatch = false in uplay.toml. Run into trouble with a mod? Report it so we can add it to the list.
  • Joining public matches hosted by a player without an open port: the game checks it can reach the host before it joins, and the server used to refuse to pass that check on for public matches. It now does, and it no longer refuses a game that offers a VPN's address (Radmin's 26.x, say).
  • Fewer relayed sessions: a port mapping left on the router by an earlier game no longer stops the game from mapping its port again. Before, you were relayed for the whole session.

The launcher

  • A logo of its own: five units in an echelon formation, the fifth out in front. 5th Echelon Enhanced is now its own project, still building on 5th Echelon by unixoide and its contributors.
  • Your progress comes with you. When you have no 5th Echelon save yet, setup now brings over your Ubisoft Connect save instead of making a blank rank 5 profile. It looks under every Ubisoft account and edition, and inside Proton or Wine. Settings › Save game › Import a save file takes a save from another PC, Ubisoft Connect's 1.save, or one of the launcher's backups.
  • A clean start for settings from older launchers. Settings from upstream 5th Echelon or an earlier version of this launcher are backed up to uplay.toml.old, and the launcher starts fresh. It keeps your game version, a save folder you chose, and the accounts it set up itself; it finds your other accounts again with your identity.
  • The network adapter is automatic. Each time the game starts, it uses whichever adapter reaches the server, so switching between Wi-Fi and Ethernet, or a leftover Radmin adapter, no longer breaks joins or shows a failed check. Groups on a VPN can still pin one in Settings.
  • A window you can resize, maximise or make full screen (F11), with everything scaled to fit, so it no longer runs off small or high-DPI screens. Settings › Display (or Ctrl +, Ctrl − and Ctrl 0) makes text and controls bigger or smaller.
  • "How did that go?" After a game where something went wrong (a crash, a refused sign-in or join), and now and then otherwise (about once a week), the launcher asks how it went, never more than once a day. You can send your logs with your answer. Your PC's name, your user folder and your internet address are removed first, and you can read every file before it's sent. Settings › Feedback turns this off, or sends feedback any time.

Steam Deck and Linux

  • Gaming Mode: the launcher runs full screen, so every button can be clicked. Before, buttons on the right and lower parts of the window didn't respond.
  • A game moved to another library (to or from an SD card): the launcher finds Proton's files for the game, and your save, in any Steam library. When they don't exist yet, it says where it looked and what to do.

Running servers

  • Player management in the admin UI: see and manage the players on every server in the network, with their play time and matches.
  • Players' reports in the admin UI: what the player said, the logs they sent, and what the server saw of their session. Reports about problems also go to your Discord or Slack alerts; under Alerts you can send every report, or none.
  • Global stats and leaderboards kept by the coordinator, with a Leaderboards tab in the admin UI.
  • Safer updates: the updater copies the server's and the coordinator's databases before installing a release, and puts them back with the previous release if the new one doesn't come back healthy. Run install-server.sh again once to get the new updater.
  • Metrics: play time from real play sessions, finished matches (mode, map, length, players), failed joins and matches started. Each player's sign-in counts once (it counted twice), and Spies vs Mercs matches no longer show as co-op.

For developers

  • The client writes bl-dataversion.txt, what the game's data version is made of, so two players' files show why their copies differ.
  • The client logs failed sign-ins.
  • The release's VirusTotal scan waits out the rate limit instead of leaving an empty table.

Good to know

  • Antivirus: the launcher and the client DLL aren't code-signed yet. Check your download against the verification details below, and see Antivirus warnings.
  • You need your own copy of the game. Nothing of the game is included.

Verify your download

Every file is checked by the launcher's updater and the Linux installer before it's used. To check one yourself:

  • Checksum: compare with SHA256SUMS (Get-FileHash launcher.exe in PowerShell, sha256sum on Linux).
  • Signature: SHA256SUMS.sig is the release key's signature of this version (0.4.1) and SHA256SUMS; the launcher, the installer and the servers' updater check it.
  • Build provenance: gh attestation verify <file> --repo JDevWebb/5th-echelon-enhanced shows it was built by this repository's release workflow, from tag v0.4.1.

VirusTotal

File VirusTotal SHA-256
launcher.exe 1 / 75 engines a2ff39b5b57e891977c0c3b00e8ea703977e4596e1736d845520b54129964018
uplay_r1_loader.dll 1 / 75 engines 6bebeb34b57ca561e02b4d8ede8c13fb23e0118a873dca428f1b2fe51b765f0c
dedicated_server.exe 0 / 75 engines 5a111faa4c523c64298b7b0860b8dec1fd1f29cd39d97270b691f33a2fbb613f
launcher-linux-x86_64 1 / 75 engines e96095e41688fc8e21ab9015051361cb85017713ce08ebd799a7cf20a7c06b3f
dedicated_server-linux-x86_64 1 / 75 engines abb734544136c754cfbae45ddfe7d0a378c2eeae996af79be13735334c757180
coordinator-linux-x86_64 1 / 75 engines cce0575763119e19e9d180d0552d282096190d4194fa1a6a5fe8f44cb88083f4

Scanned when this release was built; the links show the current results.

Some antivirus programs flag new, unsigned game tools by their behaviour (a launcher that installs a DLL into a game). If yours does, see Antivirus warnings.

Full Changelog: v0.4.0...v0.4.1

v0.4.0

Choose a tag to compare

@github-actions github-actions released this 03 Oct 05:58

The first public release of 5th Echelon Enhanced: free community servers for Splinter Cell: Blacklist multiplayer, and a launcher that sets the game up for you. Co-op and Spies vs Mercs, with no VPN and no port forwarding.

Play

  1. Download launcher.exe (Windows) or launcher-linux-x86_64 (Linux, Steam Deck) below.
  2. Run it. It finds your game, and under Choose a server picks the community server closest to you: Europe, North America or Oceania.
  3. Press Connect, pick the name other players will see, then Play. Press F5 in the game for friends and invites.

Used upstream 5th Echelon before? Use this launcher instead of the old one; there's nothing to uninstall. It replaces the old client in your game folder (keeping the game's original file), and your settings and saves carry over. Your old server stays selected: to play on the community servers, open Servers and press Switch on the closest. Played over Radmin VPN or Hamachi? You don't need it here, and the Status card fixes the network adapter setting it left behind. More in Play in five minutes.

Everything new since upstream 5th Echelon 0.2.5

Playing

Internet play without a VPN

  • The server's NAT helper tells your game its public address, so the game advertises it and connects to other players directly.
  • The client asks your router to open the game's port (UPnP, then NAT-PMP).
  • When neither gets through (no port forward, mobile hotspots, carrier-grade or symmetric NAT), your matches go through the server's relay. Hosts without a port forward can be joined that way too.
  • The relay carries the game's largest packets, so co-op missions load over it, with one or both players relayed.
  • The server corrects the address a game registers if it picked the wrong network adapter, and trusted_subnet does the same for groups on a VPN.

Matches and invites

  • Co-op and Spies vs Mercs: Find Teammate, Quick Match, lobby invites, and invites into private matches (#123 by Matthias Walther), with follow-up fixes so they arrive reliably.
  • A party follows its host into a private match, and an invited player who left a match can get back in.
  • Private matches stay private: never offered to Find Teammate or Quick Match, and joined only by invitation or with the host's party.
  • Leaving a session removes you from it, and empty sessions end, so matchmaking no longer offers abandoned lobbies.

Friends

  • Real friend lists instead of "everyone on the server": friend requests, blocking and player search in the in-game overlay (F5).
  • Friends-only lists and invites on public servers.
  • Friends follow you to every server in the community network, and the overlay and launcher show which server they're on, with one click to join them.
  • Your name is reserved across the network, you can rename your account, and the overlay warns when someone uses a friend's name elsewhere.

One identity, every server

  • The launcher makes you an identity, a key that stays on your PC, and links your accounts to it. It finds your account on any server by itself: no username or password to remember.
  • Moving PCs: import your identity on the new one, and you're signed in everywhere.
  • Each server gets its own random password (upstream reused one everywhere), saved encrypted on Windows.

The launcher

  • Rewritten and redesigned, for Windows and Linux (Steam, Flatpak, Steam Deck, Lutris, Heroic).
  • A guided first-run setup: finds the game, installs the client (keeping the game's original file), finds or makes your account, pins the right network adapter, and makes a rank 5 save so co-op and Spies vs Mercs are unlocked.
  • A Status card that checks your setup and fixes what's wrong, including the network adapter Radmin or Hamachi left behind, and a note when a VPN sits between you and the server.
  • The community network by default: it pings every server, picks the closest, and Switch moves you to another with your name and friends.
  • Server news, online friends and your profile on the home screen.
  • Save games: a new rank 5 save, raising an existing one to rank 5 (with a backup first), importing your Ubisoft Connect save, and backups.
  • Updates itself from signed releases, at start, every 4 hours, and at once when a server says it's outdated. The launcher and the client it installs are always the same version.
  • Opens in virtual machines without OpenGL 2.0 (Direct3D 12 on Windows).
  • Settings are never silently reset: an unreadable file is kept, and outside changes are merged.
  • A Host screen to run a server on your own PC, and a management screen for your server, local or over an SSH tunnel.

The game client

  • Works under Wine and Proton: the network check Wine lacks is emulated (#128 by Thiago), it starts without Ubisoft Connect, and it no longer starts a thread per CPU core.
  • Signs in again by itself when the server restarts or your sign-in lapses.
  • A redesigned overlay, with friends, invites, lobby player limits and server status.
  • Tells the game when your friend list changes, so a new friend can show up without a restart.
  • Crash fixes, and uplay.override.toml for tools that set up the game.

Running servers

One script for a server

  • install-server.sh sets up a server on a fresh Linux VPS: a sandboxed systemd service, Caddy with automatic HTTPS, firewall rules, and updates that check the release's signature. --status shows how it's doing.
  • harden-host.sh hardens the machine: SSH keys only (optionally on another port, with an automatic undo if you'd be locked out), fail2ban, kernel settings, and automatic updates with reboots at a quiet hour.
  • Also runs on Windows (from the launcher's Host screen), in Docker, and behind a reverse proxy.

A network of your own

  • A coordinator shares friends between your servers, reserves names across them, and lists them in a server directory players set up from.
  • It rolls out each signed release to its servers, one first and then the rest; each server checks the signature again and puts the previous release back if the new one doesn't come back healthy.
  • An admin UI: players and cities on a map, what's being played, pings, each server's CPU, memory and bandwidth live, bandwidth and player reports, the update rollout, and alerts to Discord or Slack. Sign-in with passkeys or an authenticator app, behind Cloudflare.
  • Servers refuse launchers and clients older than they allow, so everyone plays on versions that work together.

Stability

  • Bad packets can no longer crash the server, a failed service restarts the process, and matchmaking no longer panics on odd data.
  • Sign-ins survive server restarts, presence works, and memory no longer grows without bound.
  • Load-tested to 1,000 players on two CPU cores (results).

Security

A security audit of the server, the client, the launcher, the coordinator and the installer, with every finding fixed:

  • Game client: data from a server can no longer overflow the game's memory, and a server can't put you in a match without your click.
  • Game server: caps on packets, fragments and connections; replies only to a connection's own address; logins checked first; plain logins can no longer sign in as someone else; sample accounts disabled.
  • Accounts: rate limits and lockouts on sign-ins, tickets and tokens that expire (and end when the password changes), blocks that stay invisible, and activity shown to friends only.
  • Identities: a signature works only for the server you connected to, so a malicious server can't replay it elsewhere.
  • Internet play: the NAT helper and relay only serve signed-in players, with tags on relayed packets and rate limits.
  • Coordinator and admin UI: servers can't act for each other; Argon2id passwords, passkeys, TOTP and recovery codes, CSP and CSRF checks, and an audit log.
  • Updates: the launcher, the installer and the servers install only releases signed with the release key, which never meets the build; downloads carry build provenance.
  • HTTPS for sign-ins wherever a server has a domain, and the admin API is never reachable from the internet.

Found a security problem? Please report it privately: see SECURITY.md.

For developers

  • Docker builds for Windows and Linux (build/build.sh), CI and signed releases on GitHub Actions.
  • Headless test players (tools/testbot) for logins, invites, internet play and the relay, friends and identities against a real server, plus load tests and a two-server federation test.
  • Research notes on NAT traversal and cross-region play.

The full list, with the settings behind each change, is in the README's What's new in this fork.

Good to know

  • Antivirus: the launcher and the client DLL aren't code-signed yet, and some antivirus programs flag new game tools that install a DLL. Check your download against the verification details below, and see Antivirus warnings.
  • You need your own copy of the game. Nothing of the game is included.
  • Free, and provided as is, without warranty of any kind (see the licence).
  • What's next is on the roadmap: the first code-signed builds, and play betwee...
Read more