Configurable Player::generateFarAwayChunks
Posted: Wed May 06, 2026 10:50 am
Currently, it is set to generate chunks about 1 chunk per second in a 20-radius around the player, result in a minimum of 41x41 = 1681 chunks per surface when a player stays on it for sufficient time. I play on a modded server with around two dozen planets, and the resulting map size quickly inflates just from the number of chunks existing. Some players have to download the map for multiple minutes each time they join. Yes, I could trim the map size with commands, but that's not a permanent solution; the 41x41 will be generated just from a player existing on a planet without any exploration / radar scanning.
I looked into if there's a way to disable the far chunk generation or reduce the radius, but the disassembly suggests that the radius is hardcoded and CharacterController::shouldGenerateFarAwayChunks is set as whenever the update is not paused, leaving no room for modding or anything to configure it.
My suggestion is make it a prototype option for the surface, so each planet mod could opt in/out of far away chunk gen, and could be overridden if needed. Although, I'm not sure why it's needed in the first place, since one can play on a remotely-controlled spidertron and explore the map just fine, without far chunk generation (which I believe is due to RemoteController::shouldGenerateFarAwayChunks always returning false)
I looked into if there's a way to disable the far chunk generation or reduce the radius, but the disassembly suggests that the radius is hardcoded and CharacterController::shouldGenerateFarAwayChunks is set as whenever the update is not paused, leaving no room for modding or anything to configure it.
My suggestion is make it a prototype option for the surface, so each planet mod could opt in/out of far away chunk gen, and could be overridden if needed. Although, I'm not sure why it's needed in the first place, since one can play on a remotely-controlled spidertron and explore the map just fine, without far chunk generation (which I believe is due to RemoteController::shouldGenerateFarAwayChunks always returning false)