Robot Replacer

by Peppe

Utility mod to help replace/upgrade bots within a network. Bots in the replacer provider chest are released to the network when a bot of the same type, but different name is found in a roboport. The bots that do not match the provider are removed from the roboport and placed in the logistics storage network. Should work with all modded bots and roboports. *** Megabase warning: Chest is Calculation heavy when any items are in it. Only put bots in it and keep empty to idle efficiently. ***

2 years ago
0.14 - 1.1
32.2K

g periodic game lockups

1 year, 5 months ago

Hi - I've been playing a modpack with your mod, and I noticed that the game was starting to periodically freeze. I recorded a video of it freezing with the debug info on, and then went through it one frame at a time to catch the data for the frame after the lockup. Your mod appears to be the culprit, with a script update of 100.150 on a glitch frame. It then falls back to being essentially free until the next lockup, when it shoots up again. I was investigating because my game was glitching regularly.

1 year, 5 months ago

You might remove replacer setups when not in use. Believe it has to iterate through the logistics network when it does an action and as you found the action is in a specific tick, so if you have a lot of networks that iteration can last longer than a tick has to update delaying the next tick.

Someone earlier suggested a refactor/rework to fix that, but beyond bumping this up to work with the factorio release version I have not gone back in to fix/redo any code.

1 year, 5 months ago

I think this was an edge-case down to user error. I had been using the robot replacer request box rather than a legitimate requester all over my factory, so I had hundreds of the things. I expect that your modisn't optimized for that edge case! After swaping all the purple boxes with blue ones, the lockup went away.

One way to prevent people being stupid like I was in future would be to restrict the robot replacer boxes to containing only robots, and printing out a warning if someone tries to use them as general logistics chests. Or, perhaps just documenting this issue in the mod description? Anyway, resolved.

New response