Distant horizons on a server
Hi, so I'm aware distant horizons doesn't work on server unless using 2.3 which I'm going to try.
I am running my own server, and it's on my desktop PC, I also run my client on the same pc, I presume I treat each as is and install the 2.3 DH, but will it work efficiently? I have a 5800x3d, am I going to run into problems attempting to run DH on a server where I also run my client?
128 Replies
should work fine
there shouldnt be any difference if you host the server on the same pc as the client
Is there any way to get dh 2
3 to work on older minecraft like 1.20.1?
DH 2.3 does work on 1.20.1
It even works on 1.16.5
Just download the correct version
It says it requires 1.24
Ohh I see ignore me, will try a different file
It's working however it isn't generating any distant lods?
/slowgen
World generation in general is quite slow, if you want to speed it up:
Install Noisium and Lithium, these mods can improve generation speed by a couple percent.
Make sure to remove the C2ME mod as it significantly slows down DH chunk generation by up to 35%.
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)That's with wireframe debug, however cpu usage is only 20%, do I need to change these settings on the server side too? Or just on client settings ?
The other thing is on my single player I could see for miles where I've never been, like it was a LOD, and as you got closer is actually loaded the world but still looked amazing from a distance however this doesn't seem to be happening on the server
Both, but the server is the more important one
Are there any specific adjustments I should make in config for server ? Or can I copy the config from client ?
The configs are different, IDK which will transfer correctly and which not
IDK even if the configs are different in that some values are just unused on both sides or if they are phisicaly different
I just downloaded the same jar for server and client
I assume there isn't a server specific jar
And any idea what this outside range error is?
/dh config doesn't work too
Correct
Does F3 say the server has full DH support?
I'll have a look when I get home, was a bit hard to see on this public wifi
Apparently full support
As I move away you can see the sea dissapears until I get closer
/overdraw
Hole at the edge of vanilla Render Distance, especially during movement:
This is caused by either vanilla terrain not loading in fast enough, or shader's incorrect overdraw prevention implementation or configuration (if you use one)
Some world gen speed improvement can be found when adding these two mods, but the affect will be minor:
- Noisium
- Faster Random
There is another mod that may help:
C2ME
. However, it can decrease DH generation speed by up to 35%.
The easiest fix is to move slower and/or ignore it. This hole is most visible while moving over not generated (by vanilla) terrain. Moving over that terrain every subsequent time may not create the hole. And moving slower will give MC more time to load the chunks as you go.
If none of that helped, you can also tune the overdraw prevention, look at the third section to know how.
Low quality full blocks behind and around non-full block, e.g. fences or ladders:
This is intended behavior, to prevent holes in the world while you move, DH will overlap with some part of the vanilla terrain.
How much of the terrain is covered is determined by the overdraw prevention:
- 1.0
will mean DH LODs start where vanilla chunks end.
- 0.0
will mean that DH render everywhere starting from your position.
To fix this, you can either:
- Increase your vanilla RD, which will move the DH LODs further from you.
- Tune the Overdraw Prevention setting, see the next section to know how.
Where to edit the overdraw prevention setting?
Overdraw prevention setting can be edited inside the DH config under:
Advanced > Graphics > Advanced Graphics
But if you use shaders, they will override and take control of the overdraw prevention.
In that case, check the shader's settings, if overdraw prevention is not there, contact the shader devs or change the shader you use.I don't understand why on client singleplayer world it works fine ?
And fast?
Servers have their own server side vanilla RD limit
If you client vanilla RD is higher then the server vanilla RD, the clients thinks there should be chunks, but the server refuses to send them resulting on a hole
Servers process multiple users at once so even the same threading presets will be slower, remember that client and server configs are separate so you have to increase the server side CPU load preset to increase the speed
You can also increase max bandwidth so that the transfer is not the bottleneck
.
Can't get it to work as desired, I can only think that when DH starts it detects if server or client and applies settings specifically for the application and those setting on server are set to slower or different
Whatn does this mean? "[15:09:00] [DH-World Gen Thread[0]/INFO]: WorldGen requiring minecraft:structure_references outside expected range detected. Force passing EMPTY chunk and seeing if it works."
That means that a structure hasn't fit in the generated 2x2 chunks section
Just ignore it
Unless broken structures in the distance bother you too much
Then either pregen the world with chunky and add DH later or switch the distant generator to
internal server
Both will result in fixed structures and accurate feature placement, but are slower and increase total world size significantly as they save vanilla chunks as well as DH LODsAm I changing these settings like internal server in the client DH settings? Also, when I start the server up I get "[15:35:37] [Server thread/INFO]: [Spawn Animations] Sending global config to server...
[15:35:38] [DH-ApplyConfigPresetTimer/INFO]: changing preset to: LOW_IMPACT
[15:35:38] [DH-ApplyConfigPresetTimer/INFO]: changing preset to: MEDIUM
[15:35:38] [DH-ApplyConfigPresetTimer/INFO]: preset active: LOW_IMPACT
[15:35:38] [DH-ApplyConfigPresetTimer/INFO]: preset active: MEDIUM"
Could that be why I think it's generating lods too slow? There isn't a setting in the server config to change this from what I can see
There is, /dh config threadPreset
Any ideas what the /dh config doesn't work?
Just says unknown command
Are you using the plugin or mod?
Are you running it from the console window or in game?
I tried both
same result
Oh it does work, not dh config alone, but when I put thread preset it does, but I have no idea what thread presets they are
I can't find a list of commands anywhere
does it not auto complete if you type it in in-game?
Will it affect server typing it in game, or client?
server
Should there be a "distant_horizons_server_config.json" file?
yes at config/distanthorizons.toml
I just have a distanthorizons.toml file
thats the one
but it doesn't seem to have any preset options in it
thats correct
it doesnt
the presets only change the numbers of the advanced settings
I'll try it in game
I do /dh config threadPreset it shows the preset, how do I change it
You enter
/dhconfig threadPreset [the preset you want]
and DH will change the advanced settings according to the presentAh got it to work
is there another one to change to try get the best performance from it
not really
the other most important option is the render distance
but thats about it
dont forgot to also increase the cpu load on the client though
I've increase preset to agressive and reder distance to 512, now my CPU is at 100%
And it does seem to be generating chunks, why is it much slower than just running it on client? It's on the same PC and just me in the server at the moment
On my saved world on client, there is lods far in the distance
it should be around the same speed
because it had more time to generate?
I haven't just left it on though, I'd say it hasn't had more time. Is there a difference between the chunk loading and just showing a LOD for the packground>
After 2 hours that's what it looks like, is that to be expected?
I.e it looks the same as it did 2 hours ago
/slowgen
World generation in general is quite slow, if you want to speed it up:
Install Noisium and Lithium, these mods can improve generation speed by a couple percent.
Make sure to remove the C2ME mod as it significantly slows down DH chunk generation by up to 35%.
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)try the second part
is distant generation working?
It's not going to load any further is it without me moving, I must have done something to load them on the single player world I'm gonna have to run chunky
Can chunky be run on the server without me been in game?
yes it can
be sure to remove DH before you run chunky though
How come? What would happen if I didn't? Could I also not just disable the world generation?4
/chunky
Using Chunky's pregeneration and Distant Horizons at the same time is known to cause LODs to turn into swiss cheese as can be seen in the attached screenshot.
Distant Horizons has a built-in LOD pregenerator called Distant Generation. However, Distant Generation only saves the LODs, not the vanilla chunks. This is in order to save file space, as pregeneration often leads to huge file sizes.
If you actually want to pregenerate vanilla chunks along with LOD data, remove Distant Horizons, use chunky to pregenerate, and add Distant Horizons back. Once the pregeneration is done and Distant Generation is enabled, Distant Horizons will convert all the pregenerated, saved chunks, inside your DH Render Distance to LODs.
If you only want the LOD data and don't need the vanilla chunks, use Distant Generation instead of Chunky's pregeneration.
Note, these issues may not only occur with Chunky, but also with other similar pregeneration mods.
youll get swiss cheese if you run them both at the same time
frick the image is down because the newengine.org website is down
https://discord.com/channels/881614130614767666/1317910787020554290/1317929504941019200
Fair enough, I can simply run this on server side only too?
yes
do you see an image here or not?
nop doesn't work
oof
im not sure then
So distant horizons generates distant lods, but chunky generates the whole lot invluding vanilla by the sounds of it? I'm just concerned DH isn't actually generating anything if I stand for 2 hours and nothing else has generated it does seem like something is up, my CPU usage dropped to around 50%
DH generates the vanilla chunks, converts it to an LOD, then throws away the vanilla chunk
Oh right, so DH will bin what chunky did, but once chunky finished generating it should be pretty quick when loading games I get the bigger view distance?
hopefully
Will see, generating a radius of 5000, taking about 45 mins, pretty happy with that if it works
Keep in mind, if you didn't already know, that chunky counts in blocks instead of chunks. So 5000 / 16 = 312.5 chunks
Ah, ok a bit smaller than expected, still quite big I guess. Can I play in the world whil'st chunky is going or am I just asking for trouble?|
Yes, just remove DH on the side Chunky is running
I've left it there, sort of, as in the files, just disabled it in the mods folder
So before I go back in game, I'm going to delete the distant horizons config file just so I have default settings, if I set CPU to agressive, and quality to high, aside from that is that sufficient to ensure good quality? As it's on a server I will mirror same settings on client I assume, and should I increase the upload speed from the default 500kbps?
So after using chunky, then going back into world after re enabling DH, the distance looks the same as the last image I shared
I'm running C2M as well
And other mods like npisium
Should I have deleted any distant horizons files before using chunky aside from simply disabling the mod so it wasnt loaded
No, just disabling should be enough
Well, while you were running chunky, Distant Horizons wasn't on the server, meaning no new LODs have been created. Which is why, the DH render distance is exactly the same as before
DH will generate LODs always at their highest quality level, no matter the quality settings, so theres no need to configure them. And client and server DH config don't have to be the exact same
I've generated a 6000 area from chunky, what distance should I set in DH? 512 suffice ?
Should changing render distance + cpu to aggressive be sufficient ?
Compared to not using chunky, when chunky is finished, how long should I leave it with the game running and DH to ensure i can see the full distance? I assume I have to be in game?
What's that mean?
Attached my log in case anything in there might cause issues.
no idea, dont think its caused by DH
thats 375 chunks
till its done. yes
I turned on debugging but it didn't seem to be doing anything in game until I moved
Something must be off
It's like everytime I go into game it starts again
I've done chunky got 5000 blocks
.
mod
sorry I didn't see that message
installed it via modrinth
Maybe that is plugin
Oh, plugin is if it's on the server as opposed to client?
i mean DH
on the server
I am going to delete the world and regenerate 5000 blocks
Mod
hhmm odd then
Generating another 5000 radius in a new world, deleted all config files before starting world, then I'll go in game, I keep chunky enabled? Eneable distant horizons (server/client), load into game, and in theory I should have impressive draw distance relatively quickly ?
you should not need chunky
but if it gets stuck, i dont know what else you can do yea
Without chunky the only way I'm getting distant generation is by moving to those chunks
Maybe it's just something that'll be worming when 2.3 is released
bugs wont be fixed without someone reporting it
what does the F3 screen say? are packets ariving without failing?
I'll check when I get in game, just waiting on chunky finishing
Should I be concerned about "ignoring unknown attribute" forge: entity_gravity"?
So, after chunky has finished on its 5000 radius, I go into game, debugging is on
I'll take a pic of f3 screen now
failed: 1119
something is going terribly wrong
@пшш any idea?
Here is latest log file
In case anything in there might be an issue
And DH config file
When I load back in game it seems like it's having to redo everything as well?
can't say what might be the reason
that shouldn't be a problem unless something breaks
yea
i havent even seen it before
so idk what to do
these are login sync boxes, ignore them
@willhub does generation work without other server mods? (especially generation related)
I'll have to look at disabling them
just been away for an hour or so
This is with render distant 512 in DH
Chunky generated 5000 blocks
Does that look about right for 5000 radius?
Is this an issue "[15:26:27] [Worker-Main-13/ERROR]: No key selector in MapLike[{event_delay:0,event_distance:6.9118114f,range:8,source:{pos:[I;-160,-49,-366],type:"minecraft:block"}}]
[15:26:27] [Worker-Main-13/ERROR]: No key selector in MapLike[{event_delay:0,event_distance:6.0f,range:8,source:{pos:[I;-158,-48,-366],type:"minecraft:block"}}]
"
Is it possible for DH to generate the lods without been in game?
If you are asking is DH server side can generate LODs while no player are online the answer is yes, BUT something has to request those LODs and if those are not players with DH it has to be a mod, mock client or something else
I have no idea is such tools were already created by anyone so you might have to do it first
I don't know if I'm getting my wires crossed or doing anything wrong, with distant horizons been on the server and client, should settings be different on the client? Could the client in theory use DH 2.2? I must be doing something wrong for it not to be generating properly
I was thinking with chunky already generating 5000 blocks that DH would have less work to do to load the lods and if chunky has taken 2 to 3 hours for that surely DH wouldn't take long, and with it been in game after hours still no "horizon" but a void.
Should world gen be off in DH?
Got 12gb ram allocated to server and same for the client
Client can use DH 2.2 or any other versions, but they won't receive any LODs from the server if their LOD transfer protocols will differ or were absent, even using different DH 2.3 versions can stop it from working
The settings will most likely differ between clients and server, it shouldn't cause any issues per set except if the problem is the config value itself, the differance between configs won't have anything to do with it
It can be swicthed to preexisting chunks only if you don't want DH to generate chunks of its own
Other then that it does not make much differance
If I've used chunky I should specify pre existing chunks yes? Do I do this bu turning world gen off?
I have client and server on aggressive/ high
Your choice, no
You do it by changing distant generation to pre existing only, chnaginh it to off will disable LOD generation outside your vanilla RD
I'll give that a go and clone the server and only run dh
Can't see what other mods could cause issues
Yeah it deffo can't be working, I change it to pre existing only, I move up to where there is just void, and more terrain appears as if it's just coming out of the fopg, bwecause it's pre-generated by chunky, however when I move backwards it goes back into the fog
Thats less than a few mins in the server
sorry, single player world
Nothing disabled on the client side
It isn't anything to do with the tunnel I use due to port forwarding not working is it? Playit.gg
cloned server, disabled everything but a few mods like chunky, dh , lithium
Must be something to do with the communication between client and server
So unsure how to proceed at this point, if I should delete the configs or something?
It's running on my single player with all mods so even more makes me thi nk it's communication issue, it's a shame it's phenomenal, need to fix this
I think it's running now, much slower than a SP world though
So maybe a mod is doing something, going to be a nightmare trying to find the mod. I have disabled MOB Catalogue and REI though as they stopped me creating a new SP world, and REI was crashing this one for some reason
Mod list there
white ones disabled
That's on my server with less mods, see the "ghost" trees, it's all there just obvs DH2.3 isn't generating the lods
Seems like lod building has just stopped for no reason