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
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
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)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?
Do /dh config common.threadPreset
it says "balanced" in the console at the moment
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
so is what clients see dependent on their settings?
this is not true. the max is 4096 by default
or how far the requests are being sent for the LOD generation
In terms of distance or quality?
distance
yes, client only makes requests within its DH render distance, so the server will only generate LODs for that radius
The client will ask for lods for upwards of whichever end has the lowest distant generation distance
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
"ok ill start generating chunks you are requesting, as long as its within 4096 chunks from you"
P much
so if i say "8192" it'll be like "no only 4096, but I'll do the 4096"
indeed
not that i think i'll ever need that much but
If your client says 8192 yeah
icic
you cant even set it to more than 4096 by default
there is a soft lock
I think the server's distant generation limit is adjustable through /dh config generation.distantGeneration.limit or something
(on the client i mean)
yeah that can take a week to generate, on a high end cpu
ic
thanks for the help!
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
realtime updates distance is something else
i dont know on the top of my head what the limits are with that
256 for sync on load and realtime updates
By default
When was the decision to add a global limit made?
Does that mean that the limit is always at 4096 and can't be neither decreased not increased?
no they did not end up hardcoding it