Closed AmyMoriyama closed 3 years ago
2021-07-07 18:26:45: ERROR[Main]: ServerError: AsyncErr: environment_Step: Runtime error from mod 'technic' in callback environment_Step(): ...echnic/technic/machines/switching_station_globalstep.lua:33: attempt to compare number with nil
2021-07-07 18:26:45: ERROR[Main]: stack traceback:
2021-07-07 18:26:45: ERROR[Main]: ...echnic/technic/machines/switching_station_globalstep.lua:33: in function <...echnic/technic/machines/switching_station_globalstep.lua:24>
2021-07-07 18:26:45: ERROR[Main]: /home/username/multicraft/bin/../builtin/game/register.lua:456: in function </home/username/multicraft/bin/../builtin/game/register.lua:440>
2021-07-07 18:26:45: ERROR[Main]: stack traceback:
Seems like the hacky way max lag is pulled from the server status message is the problem here.
What version of minetest are you running, and do you have any mods that effect the server status message?
I don't know either right off hand as the server is hosted and the host compiles the minetest. I suspect that there could be a potential mod conflict as there are a lot of mods including a lot of new ones. Technic worked when I first got hosted not even a month ago, but since then I have changed the mod set a few times to get it more like I want.
Some mods override status message to make it pretty with colors, less technical information and more easy to understand information for players. It is not meant to be machine readable but technic does treat it as if it was machine readable.
This is also documented for engine, it is meant to be only human readable:
minetest.get_server_status(name, joined)
/status
is called. Returns nil
or an empty string when the message is
disabled.joined
: Boolean value, indicates whether the function was called when
a player joined.I added some compatibility code in case the /status
parsing fails here: #192
This comment basically provides the answer to monitor the max lag from the mod: https://github.com/minetest/minetest/pull/5523#issuecomment-311490292
float max_lag = m_env->getMaxLagEstimate();
max_lag *= 0.9998; // Decrease slowly (about half per 5 minutes)
if(dtime > max_lag){
if(dtime > 0.1 && dtime > max_lag * 2.0)
infostream<<"Server: Maximum lag peaked to "<<dtime
<<" s"<<std::endl;
max_lag = dtime;
}
m_env->reportMaxLagEstimate(max_lag);
https://bin.byreqz.de/?e9651043ba1e2396#CsL6M5rDkp4CWhrfRiUR8ktFZkLfyNiQmSWve4rhCNex
Ran into this error trying to run my server after install. Obtained mod from github via git.