Can't join or host custom games, but campaign works

Hi folks!

Since a while ago, I've started having this strange issue with the game where I can join and host co-op games, but not the regular multiplayer. To my knowledge, I haven't done anything out of the ordinary, and this wasn't tied to a client update. This feels very strange, and I was wondering if anyone could give me any pointers 🙂

What I'm seeing:

When starting or joining a custom game, regardless of the map or selected mods, the game gets stuck on the "Connecting" screen

What I've tried so far:

  • Googling this up - couldn't find a matching problem
  • Nuked the mods and the maps - didn't help
  • Updated the FAF client (basically a new install) - didn't help
  • Reinstalled the game in Steam - didn't help
  • Tried fiddling around with the connectivity settings (IPv6/ICE) - no change either

I'm running 2024.3.0 on Fedora. Up until about a month ago, I was perfectly able to play normally. Please let me know if there's some way to debug this issue, or if perhaps anyone has already encounter this 🙂 Thanks!

@somerandomperson I would suggest that you start by adding an exception/exclusion for the FAF Client in both the active scan & firewall sections of your AV software & Windows Security.

Next, in the FAF client, go to the top left menu > Settings:

  1. General > Write ICE Log File > check,
    2. (for Windows only) Forged Alliance Forever > Use FAF Debugger when starting Forged Alliance > check > click "Get the latest version of the debugger",
  2. Allow the ICE adapter to use IPv6 > unchecked,
  3. Preferred Coturns for ICE > select only Global,

Next, quit the client (check Task Manager). Once it's completely closed, open the client again & play.

The next time you join a game & have connection issues, please click the Reply button at the bottom between the 👁 (View) icon & the "Mark unread" button. Next, please go to client > top left menu > Show logs folder > logs > sort by Date Modified. From there, drag/drop these files into the Reply message window so those that can help (not me) have that data to look at:

  1. client.log file (the Text Document file without the date),
  2. ice-adapter.log & advanced-ice-adapter.log (both in a separate folder)
  3. if the game actually launched, then also include the latest game_2xxxxxxx.log file

Awesome, thanks for the quick response!

I'm on Linux, so I don't really have AV software, and the firewall should be totally fine given the campaign works 🙂

Other than that, I've set:

  • Write ICE Log File -> ✔
  • Allow the ICE adapter to use IPv6 -> ❌
  • Preferred Countries for ICE -> Global

Restarted the client fully, then started a custom game. The game is stuck in this state:

Here are the log contents:


info: /numgames
info: /mean
info: /clan
info: /deviation
info: GPGNET: setting nat handler to 0x1187b004
info: LOBBY: Game port 41594[UDP] opened.
info: LOBBY: starting with local uid of 462914 [SomeRandomPerson]
info: GPGNET: entering lobby state.
info: Minimized false
info: Minimized true


2024-04-18T19:37:39.765-07:00  INFO 52913 --- [FAF Client] [pool-3-thread-2] c.f.c.p.SimpleHttpFeaturedModUpdaterTask : Featured mod file already prepared: `FeaturedModFile(id=2342, version=3808, name=schook.nx2, md5=49b242006d3ed9c1b80de3c9dd859ca7, url=, cacheableUrl=, hmacToken=1713494196-RWu%2B8sP%2BMLpS6kwUB8u0%2Bo0SrXNI8MluvLe%2BkiARaSI%3D, hmacParameter=verify)`
2024-04-18T19:37:39.925-07:00  INFO 52913 --- [FAF Client] [pool-3-thread-2] c.f.c.p.SimpleHttpFeaturedModUpdaterTask : Featured mod file already prepared: `FeaturedModFile(id=2344, version=3808, name=textures.nx2, md5=eca0b10296c4e6df04d9d1fbcfd66a83, url=, cacheableUrl=, hmacToken=1713494196-%2FDyMux1uQnYbmzixE2nsQuSCiAQugh1yurYF8G%2F%2BGlI%3D, hmacParameter=verify)`
2024-04-18T19:37:40.130-07:00  INFO 52913 --- [FAF Client] [pool-3-thread-2] c.f.c.p.SimpleHttpFeaturedModUpdaterTask : Featured mod file already prepared: `FeaturedModFile(id=2339, version=3808, name=units.nx2, md5=bb2e8b127898bd9a60815b5b7412ccdd, url=, cacheableUrl=, hmacToken=1713494196-fd3NEKOR9TusQMYh2b9Nn76ua4d3DTnkitT6FJ17u2Y%3D, hmacParameter=verify)`
2024-04-18T19:37:40.131-07:00  INFO 52913 --- [FAF Client] [pool-3-thread-2] c.f.c.p.SimpleHttpFeaturedModUpdaterTask : Featured mod file already prepared: `FeaturedModFile(id=2335, version=3808, name=etc.nx2, md5=b3f81321ffbb086dbdd64ece568e2258, url=, cacheableUrl=, hmacToken=1713494196-EfISYJZFKiMyYKICpe1eKYuRX3ilskASkoJpVCOlShQ%3D, hmacParameter=verify)`
2024-04-18T19:37:40.140-07:00  INFO 52913 --- [FAF Client] [pool-3-thread-2] c.f.c.patch.GameBinariesUpdateTaskImpl   : Updating binaries to `3808`
2024-04-18T19:37:40.396-07:00  INFO 52913 --- [FAF Client] [Thread-44] c.faforever.client.replay.ReplayServer   : Connecting to replay server at ``
2024-04-18T19:37:40.397-07:00  INFO 52913 --- [FAF Client] [ForkJoinPool.commonPool-worker-7]   : Starting ICE adapter with command: [/usr/lib/jvm/java-21-openjdk-, -Dorg.ice4j.ipv6.DISABLED=true, -cp, %USER_PROFILE%/Games/FAF/faf-client-2024.3.0/natives/faf-ice-adapter.jar:%USER_PROFILE%/Games/FAF/latest/lib/javafx-base-21-linux.jar:%USER_PROFILE%/Games/FAF/latest/lib/javafx-base-21.jar:%USER_PROFILE%/Games/FAF/latest/lib/javafx-controls-21-linux.jar:%USER_PROFILE%/Games/FAF/latest/lib/javafx-controls-21.jar:%USER_PROFILE%/Games/FAF/latest/lib/javafx-fxml-21-linux.jar:%USER_PROFILE%/Games/FAF/latest/lib/javafx-graphics-21-linux.jar:%USER_PROFILE%/Games/FAF/latest/lib/javafx-graphics-21.jar:%USER_PROFILE%/Games/FAF/latest/lib/javafx-media-21-linux.jar:%USER_PROFILE%/Games/FAF/latest/lib/javafx-media-21.jar:%USER_PROFILE%/Games/FAF/latest/lib/javafx-swing-21-linux.jar:%USER_PROFILE%/Games/FAF/latest/lib/javafx-web-21-linux.jar, com.faforever.iceadapter.IceAdapter, --id, 462914, --game-id, 22312718, --login, SomeRandomPerson, --rpc-port, 38571, --gpgnet-port, 41645]
2024-04-18T19:37:40.409-07:00  WARN 52913 --- [FAF Client] [ForkJoinPool.commonPool-worker-7]   : Could not connect to ICE adapter (attempt 1/50)
2024-04-18T19:37:40.660-07:00  WARN 52913 --- [FAF Client] [ForkJoinPool.commonPool-worker-7]   : Could not connect to ICE adapter (attempt 2/50)
2024-04-18T19:37:42.769-07:00  INFO 52913 --- [FAF Client] [reactor-http-epoll-8] c.f.c.fa.ForgedAllianceLaunchService     : Starting Forged Alliance with command: [%USER_PROFILE%/Games/FAF/run, %USER_PROFILE%/.faforever/bin/ForgedAlliance.exe, /nomovie, /init, init.lua, /nobugreport, /log, %USER_PROFILE%/.faforever/logs/game_22312718.log, /gpgnet,, /mean, 1447.7900390625, /deviation, 114.25199890136719, /savereplay, gpgnet://, /country, CA, /numgames, 143, /numgames, 133] in directory: %USER_PROFILE%/.faforever/bin


2024-04-18 19:38:41.141 DEBUG Listening for GPG messages (c.f.iceadapter.gpgnet.GPGNetServer:137)
2024-04-18 19:38:41.142 INFO  Sending Notification:{"method":"onConnectionStateChanged","params":["Connected"],"jsonrpc":"2.0"} (com.nbarraille.jjsonrpc.JJsonPeer:529)
2024-04-18 19:38:41.143 INFO  GPGNetClient has connected (c.f.iceadapter.gpgnet.GPGNetServer:84)
2024-04-18 19:38:41.148 DEBUG New GameState: Idle (c.f.iceadapter.gpgnet.GPGNetServer:95)
2024-04-18 19:38:41.149 INFO  Sent GPGNet message: CreateLobby 0 41594 SomeRandomPerson 462914 1 (c.f.iceadapter.gpgnet.GPGNetServer:126)
2024-04-18 19:38:41.150 INFO  Received GPGNet message: GameState Idle (c.f.iceadapter.gpgnet.GPGNetServer:116)
2024-04-18 19:38:41.150 INFO  Sending Notification:{"method":"onGpgNetMessageReceived","params":["GameState",["Idle"]],"jsonrpc":"2.0"} (com.nbarraille.jjsonrpc.JJsonPeer:529)
2024-04-18 19:38:41.267 DEBUG New GameState: Lobby (c.f.iceadapter.gpgnet.GPGNetServer:95)
2024-04-18 19:38:41.268 INFO  Received GPGNet message: GameState Lobby (c.f.iceadapter.gpgnet.GPGNetServer:116)
2024-04-18 19:38:41.268 INFO  Sending Notification:{"method":"onGpgNetMessageReceived","params":["GameState",["Lobby"]],"jsonrpc":"2.0"} (com.nbarraille.jjsonrpc.JJsonPeer:529)


19:38:41.141 [Thread-5] DEBUG c.f.i.g.GPGNetServer - Listening for GPG messages
19:38:41.142 [Thread-0] INFO  c.n.j.JJsonPeer - Sending Notification:{"method":"onConnectionStateChanged","params":["Connected"],"jsonrpc":"2.0"}
19:38:41.143 [Thread-0] INFO  c.f.i.g.GPGNetServer - GPGNetClient has connected
19:38:41.148 [Thread-5] DEBUG c.f.i.g.GPGNetServer - New GameState: Idle
19:38:41.149 [Thread-5] INFO  c.f.i.g.GPGNetServer - Sent GPGNet message: CreateLobby 0 41594 SomeRandomPerson 462914 1
19:38:41.150 [Thread-5] INFO  c.f.i.g.GPGNetServer - Received GPGNet message: GameState Idle
19:38:41.150 [Thread-5] INFO  c.n.j.JJsonPeer - Sending Notification:{"method":"onGpgNetMessageReceived","params":["GameState",["Idle"]],"jsonrpc":"2.0"}
19:38:41.267 [Thread-5] DEBUG c.f.i.g.GPGNetServer - New GameState: Lobby
19:38:41.268 [Thread-5] INFO  c.f.i.g.GPGNetServer - Received GPGNet message: GameState Lobby
19:38:41.268 [Thread-5] INFO  c.n.j.JJsonPeer - Sending Notification:{"method":"onGpgNetMessageReceived","params":["GameState",["Lobby"]],"jsonrpc":"2.0"}

Does anything look out of the ordinary here?