How should I go about generating a server world?
I'm going to run a server on a local pc. My current plan is to pregenerate a big part of the world with chunky, but I don't really know how to go about generating LODs and sending the already generated db to my friends
58 Replies
generate the world in singleplayer and leave distant generation enabled
when enough LODs have been generated you can share the sqlite containing the LOD data
/lodstored
Single Player:
- Overworld:
.minecraft/saves/WORLD_NAME/data/DistantHorizons.sqlite
- Nether: .minecraft/saves/WORLD_NAME/DIM-1/data/DistantHorizons.sqlite
- End: .minecraft/saves/WORLD_NAME/DIM1/data/DistantHorizons.sqlite
- Custom Dimensions: .minecraft/saves/WORLD_NAME/DIMENSION_FOLDER/data/DistantHorizons.sqlite
Multiplayer:
- .minecraft/Distant_Horizons_server_data/SERVER_NAME/
note that you shouldn't use chunky if you just want LODs, it's slower than letting DH generate them on its own
is DH running on the server asw?
DH can't run on servers officially but there's an unofficial serverside fork that adds a lot of stuff from singleplayer #Server side fork
ig this works i forgot peoples pc can be faster than the server at loading chunks xd
i've seen threads saying it really pushes the server to 100% tho so be weary (due to distant gen)
the server has a pretty mid cpu and there will be probably around 5 players so the real chunk generation might slow down
i find that using chunky makes the gameplay a lot better
using chunky is a good idea then
does dh's distant generation only generate the lods?
pretty sure
or else itll be slow
like chunky
also distant gen on client doesnt work in multiplayer
distant gen only generates LODs yeah
you could remove DH, generate the world with chunky, enable DH, let it generate LODs, copy the world data to the server
dont need to remove but just disable distant gen
DH will try to generate LODs every time a chunk is generated which can cause chunky to bug out from what i've heard
I'll do exactly that, thanks a lot 🙂
np
oh ive seen pple just disable distant gen n stuff and it work fine ig to be safe using that method is fine
So I still don't fully understand. I am in the same situation in which I would like to generate the LODs for the server ahead of time out to a certain distance, so players joining don't need to explore the chunks themselves to see the LODs. Originally I had wanted to use Chunky, since it worked in my singleplayer worlds to generate the chunks with it while DH was off, then turning DH on showed the LODs of the generated chunks, but you're saying it won't work that way on the server's side?
I attempted to generate out to a short-ish distance with Chunky and then join the server, but I could not see any new LODs
And also when I first joined the server, a few LODs had already been generated, but they were with the wrong world or something? the chunks were obviously wrong and not connected to the way the world was generating properly. Also having joined the server, LODs wouldn't load automatically and only loaded for chunks I had already loaded, but as I understand that's normal for DH right?
What I’ve been doing (and what was suggested above) is:
* find a seed you want to play on
* setup DH and Chunky on that seed in a single player creative world
* setup fabric server with Chunky and DH
* load into single player world
* Turn DH up to a high amount (I did 4096)
* Enable “I paid for the whole CPU” or “Aggressive” on DH
* Start chunky for 5k-10k radius or 15k if overnight.
* Wait for chunky to finish
* Copy entire world folder and paste it into your fabric server folder renaming it to: “world”
* join fabric server and set DH to high distance again
* wait for DH to finish loading (should be a few mins) and then you’re good to go :Okayge:
You can see my results from 5k chunky radius and DH in #screenshots
Tonight I’m running 30k radius on chunky although that shows 70hrs ETA lol so I’ll probably pause it or cancel it whenever I get on to play tomorrow
Thanks for the help! Is the region folder in the world's files necessary for dh, or do I just need the sqlite file?
because the region folder takes up even more space than the sqlite, and as of now it's taking a significantly long time to transfer
I should also probably specify, I am running my server off of an Oracle vm, so everything on the server needs to be transferred from my computer to the server
for every file in the region folder it takes about an average of 7 seconds to transfer, and the folder has nearly 2,000 files in it
so it would take a couple hours at minimum to transfer just that folder
if it is necessary, then i'll just bite the bullet, but I thought I'd check just in case
guys why arent we using the server fork of DH to gen? i thought that was the point of it no?
i think ive confirmed this issue, chunky with DH removed runs perfect, both together i got a gpu crash
it might be other things tho. DH doesnt like some worldgen mods already
some weak servers cant handle the load idk and the server one only goes up to 1.20.4
I believe those are the chunk files from chunky but I could be wrong. I kept them because I like to play with pre-loaded chunks but with DH they might be unnecessary? Not sure. If you do try it lmk
It did not work for me, so I tried what was said here
or well, it just didnt load as many chunks as something like chunky can do
like I couldnt put more than 4096 in DH where as with chunky i can load in 10k+
uh
chunky = blocks
10k = 10k blocks
dh = chunks
4096 = 4096 chunks
what cpu does your server have?
Not sure where you got that from but it is chunks as you can see from their mod page:
I run it on my own PC because it's just a small server for me and my friends :Okayge:
My specs:
Ryzen 5800x
32GB ram total (I run the server with 16GB)
RTX 2080Super
chunky works in blocks
Actually i see where you might have gotten that from, where it says Block radius
so if you do /chunky set 5000 5000
yeah
it's still generating chunks though
just in a block radius
yeah
thats what im on about
so if you choose 4096 in DH thats equivalent to setting chunky at 65,536
anyways i'd recommend setting a reasonable worldborder like 20k
#/worldborder set 20000
using chunky to pregen it
#/chunky worldborder
#/chunky start
wait for it to finish and add the serverside fork of DH
wait i did the formatting wrong
thats ugly
I mean
10k is already taking 7ish hrs
are you using fabric?
yea
did you add c2me?
yes should I remove it?
No
remove DH while chunky and c2me are doing its thing
oh thats 17cps
thats quite bad
your cpu should atleast be reaching 40s
do you have any world gen mods?
Actually I'm pretty sure i normally get about 34ish? I might be off on the time
and yes I have tectonic + terralith and a lot of other mods for villages, mobs, structures, etc
peculiar, i have an i5-12500 on my server (similar performance) and it gets around 40-50 with a crap ton of world gen mods
Try installing mods:
- Noisium
- Faster Random
And mayby some others to free up the CPU, e.g. Lithium
do you guys have any suggestions for mods that help with modded world generation? I find the second I add a world gen mod and a structure mod, my chunk load time triples
Noisium is great for ur question Pandemic
Are you using Chunky to generate the world?
yes
I use it already, it's still really slow
.
whats ur specs
like, I can just fly around and DH will load essentially everything almost immediately when I'm on straight vanilla. It's fantastic. The second I add in a mod, both my normal chunk generation and DH slow to crawl.
Ryzen 9 5900x
128GB DDR4 (XMP enabled)
Nvidia RTX 4070ti
Game & OS are on a PCIe4.0 M.2
like any mod?
i use terralith, lithosphere, and CTOV
1.20.1
idk how much slower its meant to be generating LoDs with world gen mods so i cant rlly help
yo maybe manually change the no. of threads dh uses for generating lods
or that sodium setting for generating chunks
theres a sodium setting for that?
ye unless its from sodium extras?
Thank you for the guide in here
đź‘Ť
i wanna pop in and say that i made it a bit less slow by creating a custom structure spawn list that made structures less common and also made MC have to reference less tables for chunk gen 🤙
hi would this work for single player
yep :Okayge:
Just skip the last 3 steps basically
and anything to do with a server
probably a stupid question but what does the enable distant generation even do
because i just disabled it my fps went like 2x higher
and i dont see any difference
It enables DH to generate chunks you have not visited.
On single that means you can generate infinite RD while standinf still.
On servers that means that you can generate lods up to servers max RD, no matter your real RD
As Miki said ^ after you generate as many LODs as you’re happy with, you can disable it to increase your performance