
Pregenerating doesn't seem to be helping prevent world generation?
spiritedsnowcat opened this issue ยท 15 comments
Versions
Minecraft Version: 1.18.1
Minecraft Forge Version: 39.0.7
Mod Version: 2.0.0
Describe the bug
Pregenerating chunks seems to start and complete properly; but when exploring the world, the server still generates chunks where it should be loading pregenerated chunks. When exploring, I start rubber banding like crazy if the server is generating chunks (I have a really bad server box). I noticed exploring where I haven't been still rubber bands a lot. If I turn around and start moving towards known chunks, everything is fine. Seems to be just when exploring new chunks that should be pregenerated.
To Reproduce
Steps to reproduce the behaviour:
- Pregenerate chunks that are not explored yet.
- Use a slower server (my server is an i5-6500T).
- Start exploring pregenerated chunks.
- See "moved too quickly" errors in server log and start rubber banding.
Expected behaviour
Exploring pregenerated chunks doesn't rubber band players.
Additional context
I hope I'm not misunderstanding the mod. Thanks for your time.
Status: | Won't fix (cannot be reproduced) |
---|---|
Issue type: | tba |
Fix type: | tba |
Fix version: | tba |
Fix release date: | tba |
Issue confirmed for:
None
TODOs:
- Test in the Minecraft 1.18.1 Client with Forge 39.0.10 and Mod version 2.0.0 and Overviewer map renderer, if the world is fully generated. (Issue could not be recreated.)
- Test with Modpack (https://www.curseforge.com/minecraft/modpacks/spirited-and-friends), if the issue can be recreated with a client world. (Issue could not be recreated.)
- Check with Dynmap and Terralith, if the issue can be reproduced.
How is the RAM usage of your server?
How much RAM is assigned to the Minecraft server?
If the RAM usage is always in the range of 90 to 100 percent, maybe the loading of the world data from the HDD or SSD and the RAM is the issue.
How do you explore the world? Running, walking, Elytra flying, boat and ice?
Well, I allocated 16GBs of RAM to Java and it seemed to use it all (cleaning up in cycles). I have 32GBs on my system, and it wasn't maxed out. I generated it on my SSD (a Sabrent Rocket 4.0 Plus). Plenty of storage space on the drive remaining. I tried exploring by walking, running, boat, and flying. They all produce the same results. Maybe it could be the world generation mod I'm using (Terralith 2.0 ~ Overworld Evolved)? Here's my home server's modpack: https://www.curseforge.com/minecraft/modpacks/spirited-and-friends.
This issue/pull request has been automatically closed because it has not had activity in a long time.
I tested with a VPS and a modpack with 52 mods and Forge 39.0.10. The Minecraft Server has 6 GB RAM.
I got the "moved too quickly" message in the test, when flying in creative or spectator in one direction and the memory of the Minecraft Server was full. But I even had server with the best performance values and got there this message too. So maybe it's just a Minecraft issue, that does not have anything to do with if the world is pre-generated or only. Maybe it is only a matter of how the ticks in Minecraft are calculated and if you moved more than 10 blocks in this time or not.
Hm, interesting. I only get that message and rubber-banding when exploring new chunks. I'm definitely not ruling out that it could be a minecraft issue though. There were a lot of changes to world generation, after all. Well, I appreciate your time looking into it. I wish the server did logging or something when it generates a new chunk or finds a chunk it has to re-generate (if that's a thing). It would make figuring out what's going on here a lot easier.
Hey there, chiming in to support this issue, I seem to be having the same problems.
I am using the Better Minecraft Forge 1.18.1 Modpack with this world pregenerator, and while it did increase the world size, Rendering a Dynmap of it and exploring has shown, that the world has in fact not been pre-generated at all, at the very least not where I would expect it.
So what I did initially was the following:
/pregen start 0 0 625 minecraft:overworld
So 10k Blocks in each direction
It did work, it did cause a lot of load on the server and - as mentioned - increased the world sitze in MB singnificantly. However when we started exploring, it obviously still rendered Chunks.
What did work apparently, was the /forge generate command, but that causes very ugly borders to our biomes.
To see what the world looks like currently, you can go here: https://mc2.panromir.de/
I just started a /pregen start 0 0 100 minecraft:overworld, and it seems to be running at the expected pace, in other words, it's not skipping already rendered chunks.
So while I havent been able to really narrow down the Problem, I can say that it does something, but not what is expected.
Modpack used:
https://www.curseforge.com/minecraft/modpacks/better-minecraft-modpack-new v10 (Terralith is in that too)
https://www.curseforge.com/minecraft/mc-mods/world-pre-generator Forge 1.18.1 Version 2.0.0
It's running in a Docker Container.
If it helps, I can give you a listing of my region folder, or any other file from my Server folder that could be useful to you.
Best,
Panro
The pregen and the forge generate command are calling in the end the seam endpoint to generate the world, so both or none should be working. But I will look into it.
I didn't have any issues with dynmap and the WorldPreGenerator.
I only have the issue, that the dynmap is not correctly generated, when the world is pre generation.
But I solved the issue by using the command "/dynmap fullrender".
I first generated the world with "/forge generate 0 0 0 2500 minecraft:overworld" and saw, that the dynmap was not fully generated.
Then I used "/dynmap fullrender" to see, if there are any errors on the dynmap.
After I saw, that there were no errors, I used "/pregen 0 0 50 minecraft:overworld" and saw again, that the dynmap was not fully generated.
I used "/dynmap fullrender" again, and saw on the map, that there are any errors on the dynmap. There are no strange/ugly borders between the biomes.
I took 1 to 2 minutes after the dynmap was fully generated with "/dynmap fullrender" until it was shown in the web view.
The end image:
So I tried a few scenarios:
All tested with (when enabled) Terralith 2.0.10 for Forge, using Forge Version 39.0.10:
/pregen start 0 0 50 minecraft:overworld
New Map
- Blank Forge WITHOUT Terralith: Works
- Better Minecraft Forge WITHOUT Terralith: Works
- Blank Forge WITH Terralith: Works
- Better Minecraft Forge WITH Terralith: Works
It seems as though the problem has either been fixed through an update of another mod or through a Forge update. (My original world is a week old or so)
It does not work on my old world, but on all new worlds I created.
Either that or the issue was with the initial 625 Chunk Radius I used, I will investigate this further, but as it stands, I cannot recreate the issue with a new world either.
I will try the same procedure with an older version of the modpack and report the findings.
Dynmap was also not the issue by the way, I can live without it! I just used it to verify whether chunks have been generated. So all good there, but thanks for testing that
I have managed to narrow down the issue, /pregen 0 0 625 does not work, exactly how I described it.
So I tried the same Chunk radius with your plugin and with forge generate:
/pregen 0 0 625 minecraft:overworld
/forge generate 0 0 0 10000 overworld
/forge generate 0 0 0 1562500 overworld
I never joined the server, so all chunks generated were generated by the plugin or forge itself.
I let each run until it had rendered 10.000 Chunks, cancelled and did a /dynmap fullrender.
These are the results:
This Plugin radius 625:
Forge generate 1.5 mil cancelled at is the same as forge generate 10000.
The Forge generation has less files but is larger on the filesystem and much larger on the map.
Some something is lost here, since Forge is in fact working differently.
I have generated two worlds with radius 50 / 10000 chunks.
World 1
World folder name: world
Generated with: /forge generate 0 0 0 10000 minecraft:overworld
Size: from -784 -784 to 815 815
File system size:
Screenshot:
World 2
World folder name: world2
Generated with: /forge generate 0 0 0 10000 minecraft:overworld
Size: from -800 -800 to 799 799
File system size:
Screenshot:
A pre generation error could not be approved, because all chunks are correct rendered by dynmap.
Even that the forge generation command generates more chunks than the pregen command could not be approved.
No further action on this ticket needed.
The problem arose only when using the plugin with parallel chunk rendering on large jobs (in my case a radius of 625 Chunks).
I am currently using just /forge generate and that works fine, using RCON/Cron to save the world and restart the jobs after a Server restart.
Dynmap - again - was never the issue, just a way of verifying the chunk generation.
@spiritedsnowcat since there is no other plugin for this right now, I would suggest using the same workaround in case you also still encounter this issue.
Really good findings, thanks! I'll give it a go after work tonight. Much appreciated you two!