Primarily to let me know when a certain map I like is being hosted and can quickly join without missing a beat. Possible?
Posts
-
Any way to setup notifications for when a certain map pops up in the game list?
-
Chat messages not showing in replays after chat window update
Is this a bug or is there a way to turn it back on?

-
Chat messages missing from replays after recent chat window update
After watching some replays I no longer see messages as part of the replay. Was a feature or a bug? Or is there a way to turn it back on? I didn't see anything in the chat window settings.
-
Build order optimization simulation? Possible?
I am an Astro whore, nay glutton and I constantly try to improve build order optimization/speed depending on certain roles/situations/skills of team members. I imagine this could be useful for other maps too. I am wondering if it would be possible to build a mod that allows a player to setup a private lobby, add a "Builder Order Optimization AI" and let it build based on certain criteria that the user sets. Or maybe the build model could be simulated another way outside of faf?
Curious if this is a thing? Maybe it has been done before?
-
RE: Novax written out of the will, and banned from Christmas.
I like @exselsior's suggestion - make it a recon unit like Aeon eye.
-
RE: Mystery power draws - how to pinpoint?
Economic Overlay - for having played so long I didn't even know about that! Wow. Thanks!
-
Mystery power draws - how to pinpoint?
Sometimes I go through the same build order 1000x and in some instances there's a huge power draw where there shouldn't be and I can't pinpoint where it's coming from. Are there any economy mods that show you the power draw from specific units? Or something to that affect?
-
RE: 4z0t's ScoreBoard
@maudlin27 I don't see a "4z0t's ScoreBoard" in the Mods tab. He calls it ReUI.Score (on the github page and here). This is what I've selected before creating a game:

-
RE: 4z0t's ScoreBoard
Are there instructions for install? I put this in my mods directory, selected it before creating the lobby and in-game it does not materialize. I still see the default score board.
-
RE: Historical Replays and 404'd Links
@ZLO That worked, thank you! Seems no one is seeding, but that doesn't surprise me.
-
RE: Historical Replays and 404'd Links
@ZLO That magnet link doesn't seem to be valid - I tried it with uTorrent and with a torrent checker and both come up with an error.
-
RE: Historical Replays and 404'd Links
I have downloaded them onto my server and they will be used for Vindex's faftracker to get even more results and things you can search for. In theory I can even offer to make them downloadable via a UI (this already exists) but I am hesitant to make it public so my internet doesnt go to shit if 10 people randomly decide "yeah i want everything" and starts to download everything.
Maybe I can limit it somehow, but havent figured it out yet.Would definitely be interested in acquiring the file! Would there be a way to split it up into chunks maybe?
-
Replay filter for average player rating ?
I'd like to be able to search for replays that have an average player rating of my choosing. Is it possible to implement this or is there a way to do it already?

-
ICE Adapter down? Cant create a game
Error details:
Client Version: 2026.4.1
java.util.concurrent.ExecutionException: org.springframework.web.reactive.function.client.WebClientResponseException$InternalServerError: 500 Internal Server Error from GET https://api.faforever.com/ice/session/game/27409847
at java.base/java.util.concurrent.CompletableFuture.wrapInExecutionException(CompletableFuture.java:345)
at java.base/java.util.concurrent.CompletableFuture.reportGet(CompletableFuture.java:440)
at java.base/java.util.concurrent.CompletableFuture.get(CompletableFuture.java:2094)
at com.faforever.client.task.SimpleTask.call(SimpleTask.java:25)
at javafx.concurrent.Task$TaskCallable.call(Task.java:1407)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:328)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1090)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:614)
at java.base/java.lang.Thread.run(Thread.java:1474)
Caused by: org.springframework.web.reactive.function.client.WebClientResponseException$InternalServerError: 500 Internal Server Error from GET https://api.faforever.com/ice/session/game/27409847
at org.springframework.web.reactive.function.client.WebClientResponseException.create(WebClientResponseException.java:319)
Suppressed: The stacktrace has been enhanced by Reactor, refer to additional information below:
Error has been observed at the following site(s):
*__checkpoint ⇢ 500 INTERNAL_SERVER_ERROR from GET https://api.faforever.com/ice/session/game/27409847 [DefaultWebClient]
Original Stack Trace:
at org.springframework.web.reactive.function.client.WebClientResponseException.create(WebClientResponseException.java:319)
at org.springframework.web.reactive.function.client.DefaultClientResponse.lambda$createException$1(DefaultClientResponse.java:214)
at reactor.core.publisher.FluxMap$MapSubscriber.onNext(FluxMap.java:106)
at reactor.core.publisher.FluxOnErrorReturn$ReturnSubscriber.onNext(FluxOnErrorReturn.java:159)
at reactor.core.publisher.FluxDefaultIfEmpty$DefaultIfEmptySubscriber.onNext(FluxDefaultIfEmpty.java:122)
at reactor.core.publisher.FluxMapFuseable$MapFuseableSubscriber.onNext(FluxMapFuseable.java:130)
at reactor.core.publisher.FluxContextWrite$ContextWriteSubscriber.onNext(FluxContextWrite.java:109)
at reactor.core.publisher.FluxMapFuseable$MapFuseableConditionalSubscriber.onNext(FluxMapFuseable.java:300)
at reactor.core.publisher.FluxFilterFuseable$FilterFuseableConditionalSubscriber.onNext(FluxFilterFuseable.java:338)
at reactor.core.publisher.Operators$BaseFluxToMonoOperator.completePossiblyEmpty(Operators.java:2093)
at reactor.core.publisher.MonoCollect$CollectSubscriber.onComplete(MonoCollect.java:144)
at reactor.core.publisher.FluxMap$MapSubscriber.onComplete(FluxMap.java:144)
at reactor.core.publisher.FluxPeek$PeekSubscriber.onComplete(FluxPeek.java:263)
at reactor.core.publisher.FluxMap$MapSubscriber.onComplete(FluxMap.java:144)
at reactor.netty.channel.FluxReceive.onInboundComplete(FluxReceive.java:419)
at reactor.netty.channel.ChannelOperations.onInboundComplete(ChannelOperations.java:467)
at reactor.netty.channel.ChannelOperations.terminate(ChannelOperations.java:521)
at reactor.netty.http.client.HttpClientOperations.onInboundNext(HttpClientOperations.java:956)
at reactor.netty.channel.ChannelOperationsHandler.channelRead(ChannelOperationsHandler.java:115)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357)
at io.netty.channel.CombinedChannelDuplexHandler$DelegatingChannelHandlerContext.fireChannelRead(CombinedChannelDuplexHandler.java:434)
at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:361)
at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:325)
at io.netty.channel.CombinedChannelDuplexHandler.channelRead(CombinedChannelDuplexHandler.java:249)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:355)
at io.netty.handler.ssl.SslHandler.unwrap(SslHandler.java:1526)
at io.netty.handler.ssl.SslHandler.decodeJdkCompatible(SslHandler.java:1384)
at io.netty.handler.ssl.SslHandler.decode(SslHandler.java:1435)
at io.netty.handler.codec.ByteToMessageDecoder.decodeRemovalReentryProtection(ByteToMessageDecoder.java:545)
at io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:484)
at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:296)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357)
at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1429)
at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:918)
at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:176)
at io.netty.channel.nio.AbstractNioChannel$AbstractNioUnsafe.handle(AbstractNioChannel.java:445)
at io.netty.channel.nio.NioIoHandler$DefaultNioRegistration.handle(NioIoHandler.java:388)
at io.netty.channel.nio.NioIoHandler.processSelectedKey(NioIoHandler.java:596)
at io.netty.channel.nio.NioIoHandler.processSelectedKeysPlain(NioIoHandler.java:541)
at io.netty.channel.nio.NioIoHandler.processSelectedKeys(NioIoHandler.java:514)
at io.netty.channel.nio.NioIoHandler.run(NioIoHandler.java:484)
at io.netty.channel.SingleThreadIoEventLoop.runIo(SingleThreadIoEventLoop.java:225)
at io.netty.channel.SingleThreadIoEventLoop.run(SingleThreadIoEventLoop.java:196)
at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:1195)
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:1474) -
RE: Filters not working?
@nomander I can add a bit more here - if you enter the filter details, search, and THEN save the query it will remember the filter details for that saved Favorite.

-
Request: Allow lobbies to restrict by # of games played
I like that we can restrict by rank, but would there be an option to restrict access to lobbies based on the # of games played, or a combination of the two?
-
RE: Filters not working?
@nomander I see where I was going wrong now - it does work. I have to make sure the player's name, map name, etc, is entered into the search fields first before hitting the search button. However, it seems I can't use my Favorites first and then apply the filter.
-
Filters not working?
I have tried filtering the duration of the replays I'm looking for but the filter doesn't seem to work. Here I've put 20min as a minimum to filter out all the junk, but even then I still get the 47s and 2s garbage. Filter also seems not to work when I try to apply it to average game rating. Or am I doing something wrong? Is there a better way to do it?
