promotional bannermobile promotional banner

Ultra Fast Pregen Manager

A web page for Ultra Fast Pregen: pick an area on a map, press Start and watch the chunks appear. It also shows the servers of a Link network and plans what each one generates.

Ultra Fast Pregen Manager

A web page inside your server: pick an area on a map, press Start, and watch the run. It drives Ultra Fast Pregen and Ultra Fast Pregen Link through their APIs, and shows the machines of a Link network and which of them generates what.

Install it next to Ultra Fast Pregen, and next to Link if you use it. Without Ultra Fast Pregen the page opens and says so.

  • One jar: ufpmanager-0.2.0.jar is a Fabric mod, a Forge mod, a NeoForge mod, a Bukkit plugin and a Sponge plugin. It names nothing of Minecraft, so it needs no build per version.
  • Install: the server's mods folder (Bukkit servers: plugins). Players do not need it.
  • With Link: Link 0.3.0 and Ultra Fast Pregen 15.1 or later. Alone, it also runs with Ultra Fast Pregen 15.
  • Requires: Java 17.

Open the page

Run /ufpmanager in the server's console, or in a singleplayer world you own. It shows a link with a login code: open it, and the browser stays logged in. A code works once, for 10 minutes, so the link is safe in a log. The page's login box takes the code too. With Ultra Fast Pregen 15, which has no such command, use the token in the file below.

On another machine: the page is not encrypted. An SSH tunnel keeps it private:

ssh -L 25580:127.0.0.1:25580 you@your-server

Then open the same link on your own machine. On a LAN or a VPN you can set bind=0.0.0.0 instead, and the link then shows this machine's address. Do not open the port to the internet: the token and everything else travel in the clear.

The settings are in config/ufpmanager.conf (Bukkit servers: plugins/UltraFastPregenManager/ufpmanager.conf):

Key Default What it does
enabled true false turns the page off
bind 127.0.0.1 The address the page listens on. 0.0.0.0 opens it to the network
port 25580 The page's port
token a new random one Whoever has it can start and stop pregens

Ultra Fast Pregen

  • The map shows the chunks each world has on disk, read from the region files. Click to set the center, drag to move, use the wheel to zoom.
  • Terrain: the button shows those chunks as they look from above: each block's color, biomes, the sea floor through the water, and the slopes. In the Nether the view starts below the bedrock roof. Only chunks on disk can be shown, so an area nobody has generated stays empty, and Minecraft's generator is not run for a preview. The colors come from a table in this mod; a modded block gets one from its name. Pictures are drawn by two low-priority threads and kept for as long as the region file does not change.
  • A new run: a square or a circle, any size up to 100,000 blocks, in any world.
  • A run: progress, speed, time left, stage, and the chunks appearing on the map as they are saved. It stops after the current batch, and a stopped run resumes.
  • Settings: batch size, threads and the rest of ultrafastpregen.conf, as with /pregen set.

Ultra Fast Pregen Link

Set up: a copy of the host's server folder makes the simplest client (details). On the server players play on, press Make this server the host and copy the invite. On each other server, paste it in the Link tab and press Join that host, or run it as a command there.

On a host, the Link tab shows:

  • Machines: every client connected: threads, heap, system, address, what it does now, tiles done and its speed. A machine the host refused is listed too, with the reason (the secret, or a world that generates differently).
  • The plan: choose an area and press Make a plan. The host cuts it into tiles and shares them among the machines by their threads, one block of tiles each, so machines work apart: neighbouring tiles cannot be generated at the same time. Pick a machine and drag over the tiles to change who generates what. A machine takes its own tiles first; with the box ticked, one with nothing left also takes the others', and tiles of a machine that is not connected go to whoever is free. Without it, those tiles wait for their machine.
  • The run: each tile lit in its machine's color as it is generated and done.

On a client the tab shows its connection to the host. Clients do not need the Manager.

Tests

The jar with SHA-1 50d394c592186d9608fd226d8a3d8c52a856237e, with Ultra Fast Pregen 15.1 and Link 0.3.0 (482b1bae655d3362e1e36a205355f5f2bbb6fd81). The scripts are in pve/; they use the page's API and nothing else, apart from the server console.

  • Every server of Ultra Fast Pregen 15.1, 27 in all (Fabric 1.20 to 1.20.6, 1.21, 1.21.1 and 26.1 to 26.2, Forge 1.20 to 1.20.4, NeoForge 1.21, 1.21.1, 26.1.2 and 26.2, CraftBukkit, Spigot, Paper, Folia and SpongeVanilla 26.2), with Link: the page showed both mods and the client among the machines, ran a plan of 9 tiles, and drew the same terrain for a region of it on the host and on the client (Link's tests). No error came from the Manager. NeoForge 26.1.2 and 26.2 log three lines about Netty's kqueue on Linux, with or without it.
  • On Windows: the same on 12 of those servers.
  • The login and set-up, on 12 servers, and on 4 of them again on Windows: /ufpmanager gives a code; the page trades it for the token once; a wrong code and the same code again are refused; a host and its invite made on the page, a client joined with it, a wrong invite and a server's own invite refused, and leaving from the host's page.
  • On Ultra Fast Pregen 15, the released jars, on 10 servers: page, 500 × 500 blocks started from the API (1,024 chunks), the chunks found in the region files, and the terrain.
  • On six of them (Fabric 1.20.1, NeoForge 1.21.1, Fabric 26.2, Paper, Folia, Sponge), 30 checks each: settings saved and used by the next run, a value that cannot add a line to the file, a circle, the Nether, stop and resume, the map of the Nether, terrain pictures, a second start refused, a wrong size and an unknown world refused, a wrong token and no token refused, and paths in a dimension or an address refused.
  • Link, a host and two clients on one machine, 21 checks on Fabric 1.21.1 and on Paper 26.2: another seed and a wrong secret listed under Refused with the reason; a client without the Manager; a plan edited on the page and followed tile by tile; a machine killed in the middle of a tile, whose tiles wait for it and which finishes them when it is back; with helping on, the other machine taking those tiles; Stop ending a run after the tiles in progress. Every tile was complete on disk.
  • In singleplayer, with the mods in a real game client: Fabric 1.20.1 and 1.21.1, Forge 1.20.1, NeoForge 1.21.1, Fabric and NeoForge 26.2: the page, the three worlds, a run, the terrain and Link.
  • In a browser (the Chromium of the Claude desktop app): Start, the live run, the map filling up, a plan painted by dragging, and the terrain in all three dimensions, on Manager 0.1.0; the login, the set-up and the invite on 0.2.0, one build before the invite began to carry several addresses.

After these runs Ultra Fast Pregen's jars changed once more, with the last fixes in its changelog. On the released 15.1 jars, the first list ran again on 9 servers and the singleplayer runs on all six, with the same result.

Not tested yet: other browsers, and worlds with modded blocks in the terrain view.

Building

.\gradlew.bat -p ports/fabric-1.21.1 build
.\gradlew.bat -p link/core build
.\gradlew.bat -p manager build

The jar compiles against a released Ultra Fast Pregen jar and Link's jar, and against small stand-ins for the loaders' classes (src/stubs), which are not in the jar.

Ultra Fast Pregen Manager Team

profile avatar
  • 4
    Projects
  • 1.0K
    Downloads

More from Pongsapat