Version: 0.17.58 (build 46193, win64, steam)
This had been working without issue until a few days ago. We are on a gigabit LAN and are both running fairly high end machines. Player 2 has no issues at all with solo play but when they try to join my game it can take 5-10 minutes to join. Once they have joined they show 58-60 UPS but only around 5 FPS. I know that the low FPS would indicate a video problem but it doesn't make sense when they don't have any issues solo or in any other video intensive games. Nothing has changed in the overall environment has changed.
EDIT: Attached save game.
Attached screenshot.
Problems with performance in 2 person multiplayer on LAN
Problems with performance in 2 person multiplayer on LAN
- Attachments
-
- factorio performance.png (296.14 KiB) Viewed 3648 times
-
- net game 1.4.zip
- (61.28 MiB) Downloaded 124 times
-
- factorio-current.log
- (25.81 KiB) Downloaded 79 times
Last edited by nirnex on Fri Jul 26, 2019 2:15 am, edited 2 times in total.
Re: Problems with performance in 2 person multiplayer on LAN
Multiplayer Factorio is a lockstep simulations. Both clients and the server execute the exact same simulation, and only game inputs are transmitted over the network. It sound like the client is having trouble keeping up with the server.
(The client needs to keep up, otherwise the server will start rejecting inputs as being too old, the player will find it impossible to move, and eventually the server will disconnect the client. So the client will skip rendering so frames to save cpu cycles in an effort to keep up with the server).
The normal fix is to slowdown the game using commands.
(That might need to be typed twice, and will disable achievements).
Alternatively you can try using the slowest computer as the server. (If the clients are faster than the server, then the game will just naturally slowdown, in the same manner as in single player).
See viewtopic.php?f=7&t=68653 for more info and what info to provide if you still have problems.
(The client needs to keep up, otherwise the server will start rejecting inputs as being too old, the player will find it impossible to move, and eventually the server will disconnect the client. So the client will skip rendering so frames to save cpu cycles in an effort to keep up with the server).
The normal fix is to slowdown the game using commands.
Code: Select all
/c game.speed = 0.8
Alternatively you can try using the slowest computer as the server. (If the clients are faster than the server, then the game will just naturally slowdown, in the same manner as in single player).
See viewtopic.php?f=7&t=68653 for more info and what info to provide if you still have problems.
Re: Problems with performance in 2 person multiplayer on LAN
I understand what you're saying but it doesn't make sense. This has been working fine for quite a while and just started suddenly. Basically working fine when saved one day, loaded the next and they were having this problem.
Re: Problems with performance in 2 person multiplayer on LAN
As your factorio gets bigger, it takes the cpu longer to simulate each gametick. (Each and every working inserter, assembler, pipe etc takes time to process every tick). Eventually you reach a point when your cpu can no longer simulate them all 60 times each second and updates per second starts to drop. In a single player game that isn't a problem, but it is a problem in a multiplayer game when a client is struggling to keep up with the server.
Post the screenshots (from the computer that is struggling) the devs mention in the post I already linked (viewtopic.php?f=7&t=68653).
Post the screenshots (from the computer that is struggling) the devs mention in the post I already linked (viewtopic.php?f=7&t=68653).
Re: Problems with performance in 2 person multiplayer on LAN
I've attached a copy of the save game, interestingly a previous iteration of the same game runs fine biggest difference being much of the rail system. Right now though they're not even able to complete a connection to the game as the catch up portion flies to about 70% and then slowly falls backwards until it times out. If we can connect again I'll attach the screenshot.
Re: Problems with performance in 2 person multiplayer on LAN
If the problem is "going backward" during "catch-up" if you pause the game before the client download the map on the server, it might make it easier for the client to load. ( and then play with speed 0.8 or 0.5 with running&mining speedX2 could do
Else what happens I think is the client start catching up, the parts where it is still fast enough, ( progress to 70% at this point too much stuff happens on the map for the client), it then start processing the parts where it is too slow, so not only it is not able the catch-up, but there is more and more to catch up thus going backward.
Maybe some of the rail design used are very demanding for the cpu, or many unactive trains suddenly went active, those creates nasty surprise when you reach the limits but most of the time i'm dropped of games when there are huge flamethrower war agains biters, full of forest fire and wandering ennemies.
Else what happens I think is the client start catching up, the parts where it is still fast enough, ( progress to 70% at this point too much stuff happens on the map for the client), it then start processing the parts where it is too slow, so not only it is not able the catch-up, but there is more and more to catch up thus going backward.
Maybe some of the rail design used are very demanding for the cpu, or many unactive trains suddenly went active, those creates nasty surprise when you reach the limits but most of the time i'm dropped of games when there are huge flamethrower war agains biters, full of forest fire and wandering ennemies.
Re: Problems with performance in 2 person multiplayer on LAN
Being unable to catch-up indicates that the server is processing game ticks faster than the client. A temporary band-aid is to for another player to pause the game. That will enable you to catch up.