Serverside Fork?

I know there's a serverside fork, so I'm considering using that for a server I'll be starting soon. We're planning to pregenerate 30k blocks, which is why the serverside fork is so intriguing to me. Has anyone used the serverside fork before and if so can they shed some light on how it functions? Performance impact, difficulty to set up, etc. I was also thinking: could it be possible that I install DH on the server, pregenerate the 30k blocks, then grab the lod data from the server's files and just share them with each player who wants them? Would that work? Thanks!
61 Replies
Puhpine
Puhpine2mo ago
If you want to generate 30k blocks, you will need quite a beefy server cpu, or wait a long time. It should not be very hard to set up, just add the nightly build from #links-n-downloads to the server and client and it should work. Change some config values like dh render distance and thread counts and youre good. You can also pregenerate the LODs and distribute them to others yes, you don't even need the nightly build for that if you do it in singleplayer Or maybe server LODs are still incompatible, in which case you'd have to pregenerate in singleplayer. Im not sure if that's still a thing
Ethonodon
EthonodonOP2mo ago
yeah, I've been planning to allocate 3 weeks to pregenerating. But the serverside version does generate its own lods? And if distributing doesnt work the nightly build does for sure work on 1.18.2 forge without too big of a performance impact?
Puhpine
Puhpine2mo ago
Yes it generates its own LODs if someone is online. It has a huge performance impact while generating though
RaidenRainz
RaidenRainz2mo ago
Definitely True As long as someones online itll gen LOD's and if you have multiple people genning chunks while genning LOD's server will also Spike if you do it on the server just have someone stay logged in on the server at all times so its just always constantly genning to what your view in the config is also performance can also be impacted a ton if you are using a Game Hoster that allocates resources so LOD Gen can be impacted and slow unless you have like a spare computer lying around and know how to portforward or use some software like tailscale
Ethonodon
EthonodonOP2mo ago
I'm prepared to wait three weeks to use the server to give it time to pregen and someone needs to be literally in the server for it to be pregenning?
samalando (ping on please)
With 3 weeks just set it to like 4096 then see how much it generates
Ethonodon
EthonodonOP2mo ago
wdym
samalando (ping on please)
If you set it to 4096 chunks then see how much of 4096 it has generated after 3 weeks
Ethonodon
EthonodonOP2mo ago
why would I set it to 4096 chunks? i'm just trying to generate 30k blocks
samalando (ping on please)
Better to have more than not enough
Ethonodon
EthonodonOP2mo ago
no because I have a storage limit and 4096 would be too much plus 30k is absolutely plenty my question is does it pregen when no players are online
Miki_P98
Miki_P982mo ago
no
Ethonodon
EthonodonOP2mo ago
ok then that's a big problem is there any way to circumvent that?
samalando (ping on please)
Carpets mod /player thing maybe? I don’t know if anyone has tested that though
Miki_P98
Miki_P982mo ago
Why? Just connect 1 account with DH RD of your choice
Ethonodon
EthonodonOP2mo ago
what's DH RD?
samalando (ping on please)
Distant horizons render distance
Ethonodon
EthonodonOP2mo ago
well it's a problem bc if the generation is going to take 3 weeks i can't just have my computer open and connected to minecraft for 3 weeks straight
samalando (ping on please)
Could you run it on your home server
Ethonodon
EthonodonOP2mo ago
wdym
Miki_P98
Miki_P982mo ago
you can setup a free VM with MC that will join your server
Ethonodon
EthonodonOP2mo ago
what's a VM?
samalando (ping on please)
Virtual machine Fake computer on a computer
Ethonodon
EthonodonOP2mo ago
how does that work?
Miki_P98
Miki_P982mo ago
You either buy one, get one for free, or run one yourself I would go for the second option
Ethonodon
EthonodonOP2mo ago
yeah but I don't really know what it is or how it works is it something that I run off of my computer that requires my computer to be on for the whole time?
Miki_P98
Miki_P982mo ago
Kahan Data Solutions
YouTube
How to Create a Virtual Machine (VM) on Google Cloud Platform (GCP)
Get my Modern Data Essentials training (for free) & start building more reliable data architectures https://www.ModernDataCommunity.com ----- One of the most popular use cases of the cloud is for computation, otherwise known as Virtual Machines (VMs). With a VM you can host open source tools, run scripts or do pretty much anything else you wo...
Ethonodon
EthonodonOP2mo ago
im looking online and everything I see looks like the pregenerator continues to run even if players aren't actively online? like if I went in the server, started the pregen command, then left, wouldn't it just continue running until it finished?
Miki_P98
Miki_P982mo ago
There is no pregen command for DH LODs you can only pregen vanilla chunks using sommands
Ethonodon
EthonodonOP2mo ago
then how would someone being online change that?
Miki_P98
Miki_P982mo ago
This player online will request LODs from the server So the server will generate the LODs The player can even disable the LOD rendering
Ethonodon
EthonodonOP2mo ago
and there's no way to just simulate a player being online?
Miki_P98
Miki_P982mo ago
There probably is But not included in DH nor in chunky and other pregen
Ethonodon
EthonodonOP2mo ago
well ig that's what I need to find then and wait, if DH is installed in the server why wouldn't it just generate LODS along the way like a client does normally?
Puhpine
Puhpine2mo ago
What do you mean with along the way? And pregenning without players online is currently planned as you can see in #progress-update
Miki_P98
Miki_P982mo ago
vanilla server also do not just randomly generate vanilla chunks along the way with no player active
Ethonodon
EthonodonOP2mo ago
what? I'm saying the pregenerator continues to execute a task even with no one online so I was confused why it wouldn't just generate the LODS while it's generating the chunks as well
Miki_P98
Miki_P982mo ago
Because the pregenerator did not add DH support Ask them why not
Ethonodon
EthonodonOP2mo ago
ok
RaidenRainz
RaidenRainz2mo ago
yes
Ethonodon
EthonodonOP2mo ago
with DH installed on the server, does the server generate its own .sqlite file with the lods?
RaidenRainz
RaidenRainz2mo ago
Yes but it wont be transferrable from server to client instead all clients will get streamed the data and stored within there own sqlite file
Ethonodon
EthonodonOP2mo ago
why wouldn't it be transferrable? Like I couldn't just copy the sqlite from the server and drop it in a client?
Miki_P98
Miki_P982mo ago
It has different format The server side LODs are not finished The last step is done on the client IDK why Maybe some Windows/Linux/Android compat or something
Ethonodon
EthonodonOP2mo ago
odd so I guess my plan is: 1. Install the server-side fork of DH to the server (idk how to port forward and all that other stuff I think you need to do for it so that's a bridge I still need to cross) 2. Start the server's world, initiate 30k pregen and idle my client in the server whenever I can, maybe taking shifts with friends and pausing the pregen whenever no one's available to have their client sit in the server 3. Once it's done, players with the same version of DH installed will be able to see all of the LODS(?)
Miki_P98
Miki_P982mo ago
That should work You can also decrease DH CPU load settings server side and play the game normaly and at some point in time everything will be generated Also remember to set the DH RD on the clients to the target radius As only the LODs inside the client's RD will be requested
Ethonodon
EthonodonOP2mo ago
ohh I see could you set the RD to 1800 chunks (or however many 30k blocks is)? Like would that break the client or server or anything? also are you sure that the DH RD needs to be adjusted? I'm testing it in singleplayer rn and I'm watching the DH sqlite get larger as the pregen happens which tells me it is in fact creating and storing new lod data
Miki_P98
Miki_P982mo ago
It will work it creates the LODs up to your DH RD, which by default is I think 128? (2 048 blocks) It is slower then pregen so it will continue growing even if the pregen was for over 2000 blocks
Ethonodon
EthonodonOP2mo ago
even if the client is loading a 1800 chunk radius of LODS that wont like overwhelm the client or anything? ah ok
Miki_P98
Miki_P982mo ago
Remember to increase the CPU load settings on the server because is you leave it at balanced it will take months not weeks It should not, it the clients does not crash it will be able to request new LODs, even at 1 fps
Ethonodon
EthonodonOP2mo ago
alright the plan im currently looking at uses a 5600X
Miki_P98
Miki_P982mo ago
Then set all the threading values to 12 and runtime precentage to 1.0 (or 100%)
Ethonodon
EthonodonOP2mo ago
alright yeah I guess my concern is that 1800 chunks is an insane amount for one client to render so I feel like that would have a decent chance of crashing
Miki_P98
Miki_P982mo ago
No, the whole point of DH is that higher RDs do not decrease the fps much The main reason people do not play with 1024 RD is that they don't want to wait 2 days to start playing and effects such as fog scale to the RD so it looks bad if ungenerated
Ethonodon
EthonodonOP2mo ago
gotcha I think my last hurdle then is just figuring out the serverside installation I remember there being something about a port forward which looked confusing
Miki_P98
Miki_P982mo ago
Old times, no longer needed #Server-side support
Ethonodon
EthonodonOP2mo ago
so does that mean I just drop the serverside fork in both the client and the server and there's nothing else I need to do? I'm on 1.18.2 so I've got a slightly outdated oculus, that's not a problem or anything?
Miki_P98
Miki_P982mo ago
yes Shaders won't work /shadersupport
YAGPDB.xyz
YAGPDB.xyz2mo ago
Distant Horizons and Iris Shader Support Requirements: - DH 2.1 + Iris - Minecraft 1.20.1, 1.20.4, 1.20.6, 1.21 - Sodium 0.5.8+ - Iris 1.7.0 - 1.7.3 - Fabric API - A compatible shaderpack: https://gist.github.com/Steveplays28/52db568f297ded527da56dbe6deeec0e - DH 2.2 + Iris - Minecraft 1.20.1, 1.21.1 - Sodium 0.5.8+ - Iris 1.7.5, 1.8, or newer - Fabric API - A compatible shaderpack: https://gist.github.com/Steveplays28/52db568f297ded527da56dbe6deeec0e
Gist
Distant Horizons shader compatibility info
Distant Horizons shader compatibility info. GitHub Gist: instantly share code, notes, and snippets.
Ethonodon
EthonodonOP2mo ago
yeah, I'm not worried about that though. just wanted to make sure there's no other issues awesome I think I have a decent idea of what I need to do now, thank you
Miki_P98
Miki_P982mo ago
You can remove it, as the onlu think Oculus does is add shader to vanilla, but do what you want, it should not cause any issues, but if any appear try removing it No problem 😸
Want results from more Discord servers?
Add your server