To start, I'm looking for a few players to test compatibility between the faf-sturm-relay-adapter and the faf-ice-adapter (java-ice-adapter) across different computers and check for bugs (every computer and Internet connection is different).
The goal is then to get together in the coming days or weeks and play a full match with 12 or 16 players via the Dedicated Relay Server connection.
In other words, game traffic no longer uses faf ICE/STUN/TURN or direct peer-to-peer connections (P2P). Instead, all game traffic is routed through a central Dedicated Relay Server.
Of course, groups such as clans or individual players can also test the Dedicated Relay Server connection independently and provide feedback (there is no restriction).
However, you should label the lobby accordingly (example: sturm adapter - forum).
Note: Login or other FAF client traffic is not affected here. It only affects player packets when someone joins a game and plays.
In other words, it does not fix login problems if you have any.

There have been a few people in this forum who had the same idea. There was also a test with a modified ice-adapter that routes all game traffic through a central server via TCP instead of peer-to-peer ICE connections (faf-star-adapter).
There was one test, and the feedback was “it didn't feel any better,” so apparently it wasn't pursued further.
This "feeling" of "no better" may well have come from TCP (TCP introduces head-of-line blocking which is problematic for real-time game traffic - may cause stuttering/jerkiness in-game).
https://forum.faforever.com/post/62248
But since CnCNet has been doing something similar for a decade and it seems to work quite well there, I came to the conclusion that there's no reason why it shouldn't be successful at faf as well.
Of course, CnCNet has implemented this better with a selection of multiple servers, but that's obvious because what I'm doing here is a test so far.
And yes, I am aware that the argument (DDoS kills every central server) exists.
But I would argue that with the filter settings in place, it should work.
Otherwise, there would be no regular game servers on the Internet (every successful game server project will sooner or later face a DDoS attack from competitors or p*-off players, and they have survived that too).
If not, we'll see.
Expected behavior (Dedicated Relay Server connection):
- Reduces 66 complex individual connections for 12 players to 12 stable dedicated server connections.
- Reduces upload usage for players.
- DDoS protected (private IPs are not exposed to other players).
- Reconnecting to a match is possible without any problems within the set "Disconnection delay" in-game time if ForgedAlliance.exe does not crash or the IP address changes for the player who lost the connection (WiFi down or LAN cable pulled out by the cat...).
- Primarily UDP with fallback TCP option (TCP is unsuitable for real-time RTS games and can impair connection quality). But just in case, some players might not be able to play at all with UDP...
- Compatible with the old faf-ice-adapter (if the host/lobby creator uses the old faf-ice-adapter). Matchmaking works as usual.
- Better stability (maybe - it hasn't been tested with 12 players in a match yet).
So far, I've only tested it with two players under increased latency conditions (VPN connections to Canada, the US, and Brazil), and it worked without any lag.
But a two-player match isn't really representative, because you can only see how well it all works when there are several players in a match (+also, every computer is different, as is every Internet connection...).
FAF rating works, replay works.
Basically, everything works normally, except that game traffic no longer uses faf ICE/STUN/TURN or direct peer-to-peer connections, but is routed through the Dedicated Relay Server.
This means that the private player IP remains protected (every other player only sees the Dedicated Relay Server IP).
The only limitation is that if the host/lobby creator uses Dedicated Relay Server Mode in faf-sturm-relay.conf (Use_official_FAF_connections_as_lobby_creator_host = false), all players who want to connect to this lobby must use the faf-sturm-relay adapter.
Joining players automatically detect the host's mode when using the faf-sturm-relay-adapter (Dedicated Relay Server <-> Official FAF ICE Game Connections).
Source code:
https://github.com/Sturmgewehrx1/fafsturmudprelay1
What needs to be changed:

https://github.com/Sturmgewehrx1/fafsturmudprelay1/blob/main/build/client/faf-ice-adapter.jar
https://github.com/Sturmgewehrx1/fafsturmudprelay1/blob/main/build/client/faf-sturm-relay-adapter.exe
https://github.com/Sturmgewehrx1/fafsturmudprelay1/blob/main/build/client/faf-sturm-relay.conf
Some virus scanners mistakenly identify the .exe file as suspicious. This often happens with software written in Go that establishes network connections.
The software does nothing more than forward UDP / TCP packets between the game and the Dedicated Relay Server.
https://www.virustotal.com/gui/file/86a5839ce11ae785489f60108ea28b0e4c691349bc86ea95b53859645fec513d
But if anyone has any concerns about this, they can create the .exe themselves from the source code.
Note: of course, no one should download faf-sturm-relay-adapter.exe from external sources, except from the linked GitHub or a self-created .exe with the source code. Because you can catch anything that way...
What data is logged on the Dedicated Relay Server?
The server logs temporarily session management data (player joins/leaves, session IDs), player IDs, login names, and network addresses for debugging purposes. Aggregate performance metrics (packets routed, bytes, server CPU usage).
The Dedicated Relay Server is located in Europe (France).
So if Australians, Russians, and Americans can play in a match without delays, everything should work (stress test for the worst-case scenario).
Note: this type of connection cannot magically improve your Internet connection.
If you can play other multiplayer games normally but only have problems with FAF in-game, then this may be the solution. If you have a lot of other multiplayer game problems as well, this may not help you either.










