FAF seems to be overall down after the infrastructure change.

Things that don't work :

  • Login (you can relogin, and it lets you in but autologin fails everytime and often login fails wholesale)
  • Automatchmaking
  • Skirmish Lobbies. Can't host, can't join.

more to come

you get this error and stack trace with each one of the above:

Client Version: 2024.5.0
com.faforever.commons.api.dto.ApiException: Entity with id: 8,654 not found.
	at com.faforever.client.api.FafApiAccessor.lambda$retrieveWithErrorHandling$21(FafApiAccessor.java:329)
	Suppressed: The stacktrace has been enhanced by Reactor, refer to additional information below: 
Assembly trace from producer [reactor.core.publisher.MonoOnErrorResume] :
	reactor.core.publisher.Mono.onErrorMap
	com.faforever.client.api.FafApiAccessor.lambda$retrieveWithErrorHandling$23(FafApiAccessor.java:328)
Error has been observed at the following site(s):
	*_______Mono.onErrorMap ⇢ at com.faforever.client.api.FafApiAccessor.lambda$retrieveWithErrorHandling$23(FafApiAccessor.java:328)
	|_                      ⇢ at org.springframework.web.reactive.function.client.DefaultWebClient$DefaultResponseSpec$StatusHandler.apply(DefaultWebClient.java:721)
	|_         Mono.flatMap ⇢ at org.springframework.web.reactive.function.client.DefaultWebClient$DefaultResponseSpec.applyStatusHandlers(DefaultWebClient.java:687)
	|_   Mono.onErrorResume ⇢ at org.springframework.web.reactive.function.client.DefaultWebClient$DefaultResponseSpec.applyStatusHandlers(DefaultWebClient.java:688)
	|_         Mono.flatMap ⇢ at org.springframework.web.reactive.function.client.DefaultWebClient$DefaultResponseSpec.applyStatusHandlers(DefaultWebClient.java:693)
	|_           checkpoint ⇢ 422 UNPROCESSABLE_ENTITY from GET https://api.faforever.com/me [DefaultWebClient]
	|_   Mono.switchIfEmpty ⇢ at org.springframework.web.reactive.function.client.DefaultWebClient$DefaultResponseSpec.handleBodyMono(DefaultWebClient.java:656)
	|_                      ⇢ at org.springframework.web.reactive.function.client.DefaultWebClient$DefaultResponseSpec.lambda$bodyToMono$2(DefaultWebClient.java:573)
	*_____________Mono.then ⇢ at org.springframework.web.reactive.function.client.DefaultWebClient.releaseIfNotConsumed(DefaultWebClient.java:193)
	|_                      ⇢ at org.springframework.web.reactive.function.client.DefaultWebClient$DefaultResponseSpec.lambda$applyStatusHandlers$18(DefaultWebClient.java:688)
	*__________Mono.flatMap ⇢ at org.springframework.web.reactive.function.client.DefaultWebClient$DefaultResponseSpec.bodyToMono(DefaultWebClient.java:572)
	|_       Mono.retryWhen ⇢ at com.faforever.client.api.FafApiAccessor.retrieveMonoWithErrorHandling(FafApiAccessor.java:301)
	|_       Mono.doOnError ⇢ at com.faforever.client.api.FafApiAccessor.retrieveMonoWithErrorHandling(FafApiAccessor.java:302)
	|_        Mono.doOnNext ⇢ at com.faforever.client.api.FafApiAccessor.getMe(FafApiAccessor.java:163)
	*________Flux.concatMap ⇢ at reactor.util.retry.RetryBackoffSpec.lambda$generateCompanion$5(RetryBackoffSpec.java:545)
	|_     Flux.onErrorStop ⇢ at reactor.util.retry.RetryBackoffSpec.lambda$generateCompanion$5(RetryBackoffSpec.java:608)
	*__Flux.deferContextual ⇢ at reactor.util.retry.RetryBackoffSpec.generateCompanion(RetryBackoffSpec.java:543)
	*____________Mono.defer ⇢ at com.faforever.client.user.LoginService.loginToApi(LoginService.java:90)
	*_____________Mono.then ⇢ at com.faforever.client.user.LoginService.loginToApi(LoginService.java:90)
	*______________Mono.zip ⇢ at com.faforever.client.user.LoginService.loginToServices(LoginService.java:79)
	|_        Mono.doOnNext ⇢ at com.faforever.client.user.LoginService.loginToServices(LoginService.java:79)
	|_       Mono.doOnError ⇢ at com.faforever.client.user.LoginService.loginToServices(LoginService.java:86)
	*_____________Mono.then ⇢ at com.faforever.client.user.LoginService.loginToServices(LoginService.java:86)
	*_____________Mono.then ⇢ at com.faforever.client.user.LoginService.login(LoginService.java:70)
	|_                      ⇢ at com.faforever.client.login.LoginController.loginWithCode(LoginController.java:279)
Original Stack Trace:
		at com.faforever.client.api.FafApiAccessor.lambda$retrieveWithErrorHandling$21(FafApiAccessor.java:329)
		at reactor.core.publisher.Mono.lambda$onErrorMap$27(Mono.java:3840)
		at reactor.core.publisher.Mono.lambda$onErrorResume$29(Mono.java:3930)
		at reactor.core.publisher.FluxOnErrorResume$ResumeSubscriber.onError(FluxOnErrorResume.java:94)
		at reactor.core.publisher.MonoFlatMap$FlatMapMain.onError(MonoFlatMap.java:180)
		at reactor.core.publisher.FluxMapFuseable$MapFuseableSubscriber.onError(FluxMapFuseable.java:142)
		at reactor.core.publisher.FluxMapFuseable$MapFuseableSubscriber.onNext(FluxMapFuseable.java:121)
		at reactor.core.publisher.MonoReduce$ReduceSubscriber.onComplete(MonoReduce.java:197)
		at reactor.core.publisher.FluxMapFuseable$MapFuseableSubscriber.onComplete(FluxMapFuseable.java:152)
		at reactor.core.publisher.FluxMapFuseable$MapFuseableSubscriber.onComplete(FluxMapFuseable.java:152)
		at reactor.core.publisher.FluxPeekFuseable$PeekFuseableSubscriber.onComplete(FluxPeekFuseable.java:277)
		at reactor.core.publisher.FluxMapFuseable$MapFuseableSubscriber.onComplete(FluxMapFuseable.java:152)
		at reactor.netty.channel.FluxReceive.onInboundComplete(FluxReceive.java:415)
		at reactor.netty.channel.ChannelOperations.onInboundComplete(ChannelOperations.java:446)
		at reactor.netty.channel.ChannelOperations.terminate(ChannelOperations.java:500)
		at reactor.netty.http.client.HttpClientOperations.onInboundNext(HttpClientOperations.java:793)
		at reactor.netty.channel.ChannelOperationsHandler.channelRead(ChannelOperationsHandler.java:114)
		at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444)
		at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
		at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
		at io.netty.channel.CombinedChannelDuplexHandler$DelegatingChannelHandlerContext.fireChannelRead(CombinedChannelDuplexHandler.java:436)
		at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:346)
		at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:318)
		at io.netty.channel.CombinedChannelDuplexHandler.channelRead(CombinedChannelDuplexHandler.java:251)
		at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:442)
		at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
		at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
		at io.netty.handler.ssl.SslHandler.unwrap(SslHandler.java:1475)
		at io.netty.handler.ssl.SslHandler.decodeJdkCompatible(SslHandler.java:1338)
		at io.netty.handler.ssl.SslHandler.decode(SslHandler.java:1387)
		at io.netty.handler.codec.ByteToMessageDecoder.decodeRemovalReentryProtection(ByteToMessageDecoder.java:530)
		at io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:469)
		at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:290)
		at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444)
		at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
		at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
		at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1410)
		at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:440)
		at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
		at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:919)
		at io.netty.channel.epoll.AbstractEpollStreamChannel$EpollStreamUnsafe.epollInReady(AbstractEpollStreamChannel.java:801)
		at io.netty.channel.epoll.EpollEventLoop.processReady(EpollEventLoop.java:501)
		at io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:399)
		at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997)
		at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
		at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
		at java.base/java.lang.Thread.run(Thread.java:1583)

seems to be working again.

Still can't login. Stuck on 'Logging...' in on FAF app page after authenticating. Is it meant to be working yet?

replays don't work it says "replay is not available from the server"

@tatsu DevOps Team Lead Brutus5000 has been made aware that Live Replays are working but FAF Replays aren't.

@mostlostnoob Replay worked for me today.

Replays should be working again!

"Design is an iterative process. The required number of iterations is one more than the number you have currently done. This is true at any point in time."

See all my projects: