Pre-Generate LODs on Server

I've got a fabric server with DH loaded on it; how would I go about increasing the radius LODs it generates without having to visit the area?
32 Replies
Miki_P98
Miki_P9821h ago
You can't it will be at infinity no matter what you do, you can't go over not under infinity IIRC the server will accept any request from the clients no matter how far away The only distance you can control server side is realtime updates distance /slowgen
YAGPDB.xyz
YAGPDB.xyz21h ago
World generation in general is quite slow, if you want to speed it up: Install Noisium, Lithium and C2ME(DH 2.3.0+). These mods can improve generation speed by a bit, but it will still not be fast. Increase CPU Load in Distant Horizons settings for faster generation, but you will experience more lag spikes and stuttering due to heavier workload on CPU. To see if Distant Generator is really working or not: 1) Check CPU usage while in-game, using Aggressive settings of CPU Load. If CPU usage's hovering around 80-100%, the LoDs are generating in the background. 2) Go to DH settings > Advanced Options > Debug > Wireframe, set Enable Debug Wireframe Rendering and Show World Gen Queue to True. Enabling both settings will show you the visualization of world gen tasks queued and working on the map (blue boxes for queued tasks, red boxes for working tasks)
「Takashi Oreki」
on a server how do i increase the CPU load? is it in the config somewhere (asking cause i cant find it or i miss it while scrolling through) or i guess wait, does the server cpu generate the LODs or do the client cpus generate the LODs?
Yeshi
Yeshi21h ago
Do /dh config common.threadPreset
「Takashi Oreki」
it says "balanced" in the console at the moment
Yeshi
Yeshi21h ago
Server generates the chunk, converts to lod, saves locally. When the client asks for it the server converts the lod data to a simpler intermediary format before sending And then the client has to convert the intermediary data back to lod data before saving to its own local db
「Takashi Oreki」
so is what clients see dependent on their settings?
Puhpine
Puhpine21h ago
this is not true. the max is 4096 by default
「Takashi Oreki」
or how far the requests are being sent for the LOD generation
Yeshi
Yeshi21h ago
In terms of distance or quality?
「Takashi Oreki」
distance
Puhpine
Puhpine21h ago
yes, client only makes requests within its DH render distance, so the server will only generate LODs for that radius
Yeshi
Yeshi21h ago
The client will ask for lods for upwards of whichever end has the lowest distant generation distance
「Takashi Oreki」
so if I understand correctly; if I say "I want to be able to see 512 chunks away" I set my game on the client to see 512 chunks, and then the server will say "ok I'll start generating stuff 512 chunks away" and eventually it'll get back to me with the LODs it made, which get saved locally
Puhpine
Puhpine21h ago
"ok ill start generating chunks you are requesting, as long as its within 4096 chunks from you"
Yeshi
Yeshi21h ago
P much
「Takashi Oreki」
so if i say "8192" it'll be like "no only 4096, but I'll do the 4096"
Puhpine
Puhpine21h ago
indeed
「Takashi Oreki」
not that i think i'll ever need that much but
Yeshi
Yeshi21h ago
If your client says 8192 yeah
「Takashi Oreki」
icic
Puhpine
Puhpine21h ago
you cant even set it to more than 4096 by default there is a soft lock
Yeshi
Yeshi21h ago
I think the server's distant generation limit is adjustable through /dh config generation.distantGeneration.limit or something
Puhpine
Puhpine21h ago
(on the client i mean) yeah that can take a week to generate, on a high end cpu
「Takashi Oreki」
ic thanks for the help!
Miki_P98
Miki_P9821h ago
Isn't this the realtime updates distance? I clearly remember pshpsh and James talking if there should be any RD limits server side and James didn't want any limits
Puhpine
Puhpine21h ago
realtime updates distance is something else i dont know on the top of my head what the limits are with that
Yeshi
Yeshi21h ago
256 for sync on load and realtime updates By default
Miki_P98
Miki_P9821h ago
When was the decision to add a global limit made?
Miki_P98
Miki_P9821h ago
Does that mean that the limit is always at 4096 and can't be neither decreased not increased?
Puhpine
Puhpine21h ago
no they did not end up hardcoding it

Did you find this page helpful?