🌐Planet Rubia


Discover the wind planet Rubia. Belts and inserters work differently on Rubia, leading to unique building challenges not seen on any other planet. Your whole factory must go with the wind as a never-ending barrage of waste is hurled at your base.

Content
a day ago
2.0
19.4K
Factorio: Space Age Icon Space Age Mod
Planets Logistics Trains Environment Mining Manufacturing Power

b [Resolved] Server Crash when banning a player

13 days ago

20188.319 Error MainLoop.cpp:1456: Exception at tick 12840214: The mod ○🌐Planet Rubia (0.69.120) caused a non-recoverable error.
Please report this error to the mod author.

Error while running event rubia::on_player_banned (ID 130)
rubia/script/chunk-checker.lua:367: bad argument #2 of 2 to 'get_player' (string expected, got nil)
stack traceback:
[C]: in function 'get_player'
rubia/script/chunk-checker.lua:367: in function 'fun'
rubia/lib/event-lib.lua:82: in function <rubia/lib/event-lib.lua:81>
20188.319 Error ServerMultiplayerManager.cpp:84: MultiplayerManager failed: "The mod ○🌐Planet Rubia (0.69.120) caused a non-recoverable error.
Please report this error to the mod author.

Error while running event rubia::on_player_banned (ID 130)
rubia/script/chunk-checker.lua:367: bad argument #2 of 2 to 'get_player' (string expected, got nil)
stack traceback:
[C]: in function 'get_player'
rubia/script/chunk-checker.lua:367: in function 'fun'
rubia/lib/event-lib.lua:82: in function <rubia/lib/event-lib.lua:81>"

13 days ago
(updated 13 days ago)

Thanks for the report. My deepest apologies. I believe this will be an easy fix. I will look into this.

I did not test this because my gaming rig makes it very difficult to test multiplayer properly. I will put out a fix in the upcoming days. Please let me know if you have any issues after that.

13 days ago

Thank you. I guess that is caused by banning a player that does not exist (by name typo)

13 days ago

Ohhh, you made a typo when banning a player? That is very interesting, and may lead to an engine bug, maybe. I can still fix my logic (so the game does not crash obviously). The main thing that will slow me down is that my current dev build of Rubia has changes for compat with several mods. So it will take me a hot minute to actually get out a fix.

If you can successfully ban the guy and keep playing, I have more breathing room to make fixes with more testing.

13 days ago

Yeah, I have successfully removed that guy. I mean, (I am not a factorio modder and I dont know much about LUA, following is just my guess), from the error message
"get_player' (string expected, got nil)"
I would assume that your function listens to engine's ban event and expects the player's name from the engine but if the player does not exist(my typo leads to a non-exist player name) then the engine will return you a nil instead, which would crash your code.

When I tried to ban the guy with the correct name later, everything went well.

13 days ago

That is exactly the issue. I did not expect the engine to raise an event notifying me that nil player was banned.

13 days ago

Fixed in v0.69.122

New response