Pre-generation
Guide on pre-generating your map. Advisable to prevent lag.
This is a dual guide on both WorldBorder and Chunkmaster. WorldBorder is a more well-known and overall better integrated plugin (works better with other plugins, usually). Though, on the other side, Chunkmaster is much, much faster when it comes to generating a world.

READ THESE WARNINGS.

Pre generating your world with EWG means you can't, under any circumstance, use the async-chunks feature Paper provides you with. This has an extremely high likeliness of crashing your server with the latest version of the plugin.
The same goes for the use of FAWE, or Fast Async World Generation. You cannot use the plugin to pre-generate your world since it is not always compatible with EWG and can completely nullify your progress, with no noticable gain in generation speed to make up for it
For 1.16.1 & EWG, do not use Chunkmaster. It has been throwing non-bypassable errors for this version. You can use both WorldBorder and Chunky, where only a tutorial for WorldBorder is provided here. The rest of this tutorial is made for 1.15.2, but works on 1.16.1 as well (other than Chunkmaster)
Information
We advise you to make use of Chunkmaster for pre-generating your world over WorldBorder. This is because (after thorough testing) we found a 50% speed increase at the start, and no memory leak in the long term. You can use WorldBorder alonside Chunkmaster.
In order to be able to use this, make sure you already have EWG installed and the correct version of WorldEdit
EpicWorldGenerator comes with a setting that allows you to cut off the world at a certain square size. Check this under the world border header.
With both World Border and Chunkmaster, the plugin may very well throw errors where it either Tried to load a block entity for block or Tried to load a DUMMY block entity and failed. Do not worry, this will have no noticeable effect on the map.
It is better to use Spigot over Paper since there are notably less bugs and glitches with spigot during generation. After you are done pre-generating the world, you can always change.
(Click the title for a link to the plugin)
Note that it is advisable to use 6 GB of RAM at a bare minimum in this process. 10 GB or more is preferred.
After completing the basic EWG installation, add any custom biomes you might want (like: Maiskorf's Additional Biome Pack). After that, follow the upcoming list of steps, in order to fully pre-generate your world. 1. Download World Border and put it in your */plugins folder. 2. Start the server. 3. Set a default world border shape: /worldborder shape <round|square> 4. Set a world border (in the main world which you want to generate): /wb set <sizeX> <centerX> <centerZ>
The <sizeX> parameter is replaced by the distance from <centerX>, <centerZ> to the border. <centerX> and <centerZ> are the (rounded) coordinates of the center of the world, usually 0 and 0.
5. Fill the world with chunks: /wb <world name> fill 20 <padding> true
Replace <world name> by the exact, higher- and lowercase sensitive, name of the world (usually world). Also, replace <padding> with the outcome of the following function: 32 * (renderdistance + 1). You can find the render distance in your */server.properties file on the fourth line: view-distance=8. Eg. (using 8 as the render distance in the "world" world): 32 * (8+1) = 288, so you would ultimately run /wb world fill 20 288 true.
6. Confirm the fill command by using /wb fill confirm.
Note that if, at any point in the process of the filling process, the server crashes (restarting doesn't matter), you must run /wb fill cancel as soon as the server restarts. After that, continue the process with the same command as before, but using false at the end. (To stick with the example: /wb world fill 20 288 false, once again followed by /wb fill confirm)
7. Wait for the world generation to complete and enjoy the map!
You can check on the progress of the generation task in the console.
(Click the title for a link to the plugin)
Note that a pre-generation process can take a large amount of RAM. This plugin is more lightweight and generally better at managing RAM than WorldBorder, but keep in mind that 5 GB or more is still advisable for this to work at reasonable or better speeds.
For the highest speed of generation, use this plugin on Paper, rather than Spigot.
Note that Paper is less stable than Spigot in some cases. Use at your own risk.
After completing the basic EWG installation, adding any custom biomes you might want (like: Maiskorf's Additional Biome Pack), follow the upcoming list of actions, in order to fully pre-generate your world.
1. Download Chunkmaster and put it in your */plugins folder. 2. Start the server to generate a configuration file for the plugin, and stop the server. 3. Locate and open the configuration file at */plugins/chunkmaster/config.yml. 4. In this file, consider the following presets:
Low-end machines (~5 GB RAM and low-end CPU's):
As you can see here, I have been pre-generating on 1.15.2 for hours, without exceeding 1.5GB of RAM
1.15.2 Configuration
1
generation:
2
period: 2
3
chunks-per-step: 4
4
chunk-skips-per-step: 100
5
mspt-pause-threshold: 500
6
pause-on-join: false
7
max-pending-chunks: 15
8
max-loaded-chunks: 15
9
ignore-worldborder: true
10
database:
11
filename: chunkmaster.db
12
language: en
13
dynmap: true
Copied!
Mid-end machines (~7 GB RAM and medium-end CPU's):
1
generation:
2
period: 2
3
chunks-per-step: 4
4
chunk-skips-per-step: 100
5
mspt-pause-threshold: 500
6
pause-on-join: false
7
max-pending-chunks: 20
8
max-loaded-chunks: 20
9
ignore-worldborder: true
10
database:
11
filename: chunkmaster.db
12
language: en
13
dynmap: true
Copied!
High-end machines (>8 GB RAM and medium-high-end CPU's):
1
generation:
2
period: 2
3
chunks-per-step: 4
4
chunk-skips-per-step: 100
5
mspt-pause-threshold: 500
6
pause-on-join: false
7
max-pending-chunks: 25
8
max-loaded-chunks: 25
9
ignore-worldborder: true
10
database:
11
filename: chunkmaster.db
12
language: en
13
dynmap: true
Copied!
Hosting server machines or extreme servers (>10 GB RAM and industrial CPU's used by hosting websites, many cores and threads):
1
generation:
2
period: 2
3
chunks-per-step: 4
4
chunk-skips-per-step: 100
5
mspt-pause-threshold: 500
6
pause-on-join: false
7
max-pending-chunks: 30
8
max-loaded-chunks: 30
9
ignore-worldborder: true
10
database:
11
filename: chunkmaster.db
12
language: en
13
dynmap: true
Copied!
For the 1.15 configuration, you can edit the following settings:
    chunks-per-step:
    max-pending-chunks:
    max-loaded-chunks:
Where changing to a lower number (if your server is lagging) or a higher number (if your server has more calculating capacity or RAM leftover), you will increase or decrease generating speed, while maintaining server stability.
In all of these presets the dynmap:setting is on true. This allows you to render a Dynmap alongside generating the world, at the cost of about 10% performance. If you're not interested in a Dynmap, you are best off turning dynmap: to false.
5. Start the generation by using: /chunkmaster generate <world name> <distance> blockradius.
Replace <world name> by the exact, higher- and lowercase sensitive, name of the world (usually "world"). Also, replace <distance> with the amount of blocks you want in all directions (makes a square). Example (using "world" and a 10,000 block radius): /chm generate world 10000 blockradius.
6. Leave the server (so the generation task starts, unless you have pause-on-join: set to false).
Right after running the command and leaving the server, you must check the console to see if it actually started. If it did not, use chm resume 1 in the console. The 1 increases by one every time you start a new task with Chunkmaster.
7. Wait for the world generation to be done and enjoy the map!
You can check up on the progress of the generation task in the console.
Please contact Coco if you are not getting more than an average of 20 chunks per seconds in the generation task, so we can both improve performance and improve this tutorial. (Please don't jump to conclusions, and wait for at least 15 minutes to get an accurate speed)

Support

If you run into issues with any of these steps, make sure to contact our support team on our Discord.
Last modified 1yr ago
Copy link