Alt-F4 #41 - Title loading, please stand by ...

Post all other topics which do not belong to any other category.
Post Reply
Posts: 37
Joined: Fri Aug 28, 2020 12:07 pm

Alt-F4 #41 - Title loading, please stand by ...

Post by AlternativeFFFF »

This week, for issue #41, oof2win2 returns with a somewhat more technical article about what exactly can go wrong when trying to connect to multiplayer games and how to potentially solve these issues. If you’ve ever wondered why Factorio wouldn’t let you join your friends’ multiplayer game, this article might have some explanations for you!

Continue reading:

User avatar
Smart Inserter
Smart Inserter
Posts: 2198
Joined: Fri Jun 08, 2018 2:16 pm

Re: Alt-F4 #41 - Title loading, please stand by ...

Post by BlueTemplar »
> Sometimes, your network may not be the best. It can be due to many things, such as maintenance from your ISP or a power outage of your DNS’s datacenters.
Why would a DNS outage have any effect on a feature that doesn't use domain names ?
(Oh, maybe it uses them for authentification with Wube's servers if you use Wube's matchmaking ? EDIT : Oh, for those "pingpong" NAT-punching servers I guess ?)


Huh, reimplementing TCP functionality on top of UDP just seems... ugh.
Wait, isn't this basically what QUIC does too ?
> QUIC improves performance of connection-oriented web applications that are currently using TCP.[2][9] It does this by establishing a number of multiplexed connections between two endpoints using User Datagram Protocol (UDP)

> When we started implementing the file transfer all I had was a rough idea of "we're sending some packets and waiting for confirmations, somehow we know how many unconfirmed packets there should be at one time and that value is called cWnd". So Wikipedia came to the rescue and told me that a prety decent algorithm to determine cWnd is called CUBIC.
Could you say CUBeIC ? :P
> CUBIC, a modern congestion control algorithm that is used by default by the Linux kernel
> [...]
> Some say QUIC is the successor to TCP, but it's not true. QUIC is the evolution of TCP+TLS+SPDY that rolls those three protocols into one and makes them smarter.
> [...]
> Interestingly, that component that is fundamental to the performance of present-TCP - the CUBIC congestion control algorithm - is part of QUIC. CUBIC is currently the default congestion control algorithm for QUIC.
Also :
> Fortunately, there is another technology that may tromp both QUIC and TCP CUBIC: BBR.
> CUBIC and congestion control mentioned so far use packet loss as an indicator of congestion. But there is another method that may be superior. That is to monitor latency changes of the link.
IIRC that's what Factorio already actually does ?
Can't wait until IPv6 is the default expectation and we can forget about this whole NAT thing !
A side result of Factorio now able to use Steam "MP" : I can't connect to most people any more, because they don't need to bother setting up port forwarding, like described here ! ... layer_Game
(This is why SteamWorks is cancer.)
> “Catching up” is a process very specific to Factorio.
Not really, it's specific to lockstep MP, which other games use too (especially RTSes !)
> With Factorio 0.14.0, Factorio servers no longer paused the game for all players if one player’s computer takes too long to process an update. This means that if you have an older computer, a server will no longer wait for you to catch up in processing. This is very useful on larger servers which can have tens to hundreds of players online at once, as nobody has to wait for one single person so they can play the game.
Another option in games is to for the server to automatically slow down the game.
I really don't get why Factorio is using this "MMO" approach, as this basically screws *everyone* (eventually).
I guess that then Wube can take "pride" in silly statistics like "Our game can easily run with hundreds of players !",
despite the fact that only the "survivors" with good enough hardware remain, and these games tend to be unmanageable messes anyway ?
At the same time this "server first" approach screws typical Factorio games by forcing admins to manually adjust game speed !
Resulting in the stuff like in ... ll-of-that
> The best idea is to start going down from 1 in increments of 0.1 or 0.05, such as 0.9, 0.8, 0.7 etc. This command will globally reduce the game’s speed, so there will be less updates per second to calculate.
Oh, yeah, let's force the players to do this by hand, when the server could do these calculations and run these commands for them instead !
While it should be the other way around, it's the (rare) people running MMO Factorio servers that should be the ones that should have to deal with the issue of kicking out the players that slow the game too much !
(Since when you run a MMO, you need admins anyway !)
(Eventually, automatically, using a game modification ?)
> The reason is that Factorio doesn’t care if your GPU is a 3090 Ti or just integrated graphics, it will just tell it to “render stuff”. If it won’t render it, that’s fine.
Not exactly, too crappy of a GPU can bottleneck the other parts of your PC too, resulting in UPS drops... (shared memory on integrated graphics for instance !)

Post Reply

Return to “General discussion”