Closed BuckarooBanzay closed 4 years ago
Maybe related:
The "ServerActiveObject" count does not decrease over the server-runtime:
same issue at LF.
I've decided to test what happens if the static_save
was true for the signs_lib entities here:
https://github.com/pandorabox-io/pandorabox_custom/commit/5d0c826eb670cc91b109f0b5bfcbd869e7599bc2
Deployed it on the test-server and letting it run a little, so far the entities seem to unloading and loading properly to/from the map without being activated all the time.
Next (possible) step: yet another caching layer, this time for minetest.get_objects_inside_radius
. hook into on_step
, cache entites per mapblock and flush periodically if not called for a while...
closing this, static_save = true
on the signs entity prevents the mass of SAO's (well, the core-issue is not solved but this is good enough...)
The
minetest.get_objects_inside_radius()
call is an O(n) operation where "n" is the amount of ServerActiveObjects currently active.Method: https://github.com/minetest/minetest/blob/add68369a59af90f8b4203b53695521c6d657d6b/src/server/activeobjectmgr.cpp#L114-L128
To the left: around 5'000 objects active, to the right: server restart with less than 1'000 objects:
Solutions
TBD :shrug:
Digtron disable entity/player damage at runtime
Related