-
Notifications
You must be signed in to change notification settings - Fork 97
FAQ
Chunky is designed to generate chunks on the server as fast as it can by default. The limitation is usually on the server itself, so if you want to speed things up you will need to optimize your server. Here are a few things which can help:
- Use a faster CPU. This is probably the most common bottleneck. CPUs with excellent single threaded performance tend to work best. For example, the Intel Core i9-12900K or AMD Ryzen 9 5950X would both be solid options.
- Check that the number of threads available to your server is sufficient. This is particularly relevant for servers using Minecraft hosting plans or a VPS. Minecraft will make use of multiple threads for world generation, and not having enough can cause severe slowdowns even if you use the best CPU possible.
- Store the server and world on an SSD. Traditional spinning hard drives (HDDs) usually cannot keep up with world generation.
- Make sure to allocate enough RAM. At least 4GB is recommended. Not only can this slow down generation, but the server may eventually crash if you don't have enough.
- Use Paper which boasts asynchronous chunk generation and a custom lighting engine, both of which can have a large positive impact on chunk generation speed.
- Use Aikar's flags as your server's start script. These flags help tune the Java garbage collector, which is responsible for freeing up memory on the server as chunks are generating. In some situations this can slightly improve chunk generation speed.
- If using Paper, consider adjusting the number of worker threads used by world generation. This can be done by adding the
-DPaper.WorkerThreadCount=Xflag to your start script. You should not set X higher than the number of threads available to your server. It is recommended to remove this flag when you are done generating. - If running a Fabric server, try using Lithium for a general boost to performance.
- If using a map rendering plugin or mod such as Dynmap, BlueMap, or Squaremap, temporarily disable or remove it while pre-generating. This will generally speed things up, and doing your render afterward tends to produce best results.
Yes, and it's completely safe. Chunky will skip chunks that already exist, and generate any missing ones.
In most cases it isn't actually Chunky that is using all of your server memory. The chunk pre-generation process itself is very memory intensive as the server will rapidly load and unload chunks. This is fully expected, and is normally not a problem. If your server is crashing, consider increasing the amount of RAM allocated to the server, or reduce it if it's possible you may be over-allocating. Aikar's flags are also recommended which will pre-allocate the memory for you.
You can use a tool like Jacob Bashista's World Size Calculator to get a rough estimation for default world generation. In general, note that world size is not linear, so each small increase in radius results in a much larger overall world. The type of world generation being performed is also a factor. For example, the Minecraft version, dimension, actively used mods, etc.
Yes, most if not all custom world generation will work. This is due to the fact that Chunky doesn't directly generate the chunks itself, but instead delegates this work to the server. If there is a problem it is usually caused by a configuration issue or a problem with the custom world generation you are using. Also note that custom generation tends to be slower than Vanilla and can take much longer to pre-generate.
As mentioned above, Chunky isn't directly responsible for generating the chunks. Check to make sure that any modifications are compatible with your server. Also note that modifications will only take effect after they are installed, so you may need to create a new world or generate new chunks to see their impact. Data packs in particular can be tricky, as you may need to create the world and datapacks folder to install the pack before generating the spawn.
Maps rendered by another plugin or mod such as Dynmap, Bluemap, or Squaremap will typically not automatically update themselves after you run chunky. Sometimes you will need to trigger a re-render manually. See map rendering and trimming chunks for more details.
A common pitfall with trim is that it cannot delete chunks that are currently being loaded by the server. This includes chunks that players have loaded or recently loaded in-game, the spawn region, or any force loaded chunks. This is because loaded chunks will be re-saved to disk when the server shuts down. Usually if you make sure chunks aren't loaded and try again it will work.
These are mostly harmless errors that can occur during chunk generation, which you can ignore. However, some of them may also be fixed by updating your server.
Only known to occur on very outdated builds of Paper 1.15. If you see this, you must update your server.
This error has been known to occur on Purpur servers. If you are using Tuinity or Purpur, be sure to update to the latest version, and if you are still getting the error, then report it to their respective issue trackers.
There are two main reasons why you could be getting this error. One is if you are not allocating enough memory to the server, in which case you just need to increase the amount. The other is if java memory garbage collection is not able to keep up with the rate that chunks are generating. You can usually tell if this is happening by looking at your server's timings report. If this is the case, you should try to use Aikar's flags (mentioned above) if you aren't already.
Some hosts will automatically kill servers that are utilizing too much CPU. This is a problem with the host, as high CPU usage during chunk generation is normal. The only solution to this problem is politely asking your host to remove the limitation, or switch to a better host.
This warning will show up if the generation task is not able to shut down and save quickly enough when the server is abruptly stopped. It is more likely to occur on low end systems, and the only solution is to pause your tasks with chunky pause and wait for them to stop fully before shutting down your server.
