Please disclose if any significant portion of your mod was created using AI tools by adding the 'AI Generated' category. Failing to do so may result in the mod being removed from Thunderstore.
WorldPreGenerator
Pré-gera zonas do mundo pelo menu ESC ou console, mostra progresso e grade verde/amarela no mapa sem revelar o terreno inexplorado.
| Date uploaded | 2 weeks ago |
| Version | 1.0.13 |
| Download link | XineladaLendaria-WorldPreGenerator-1.0.13.zip |
| Downloads | 21 |
| Dependency string | XineladaLendaria-WorldPreGenerator-1.0.13 |
This mod requires the following mods to function
denikson-BepInExPack_Valheim
BepInEx pack for Valheim. Preconfigured with the correct entry point for mods and preferred defaults for the community.
Preferred version: 5.4.2333README
World Pre-Generator
Pre-generate Valheim world zones before exploring them. The mod uses the game's ghost-zone path and works in controlled batches, so the world can be prepared while the host follows progress.
Benefits
- Reduces pauses and processing spikes caused by generation during exploration.
- Leaves terrain, locations, and structures ready before players arrive.
- Keeps map exploration and exploration-related achievements tied to manual play.
- Saves progress at configurable intervals, allowing an interrupted generation to continue later.
- Provides independent checking, time estimates, and safe cancellation.
- Binds the routine to the active world name and cancels automatically when returning to the menu.
- Allows only one generation at a time; checking can follow an active generation.
- Displays which zones have been generated on the M map without revealing hidden terrain.
- Restricts the map grid and management controls to the host or an authorized admin.
- Works in local worlds, multiplayer hosts, and dedicated servers. In a dedicated connection the modal sends actions to the server, which keeps the counters and generates the dedicated save.
Screenshots

Modal for configuring, checking, generating, and cancelling pre-generation.

The grid shows zone state without revealing hidden terrain: green means generated and yellow means still missing.
Thunderstore package layout
The ZIP uploaded to Thunderstore keeps README.md, manifest.json, and icon.png
at its root. The screenshots are included beside them in images/ and are referenced
with relative Markdown paths:
README.md
manifest.json
icon.png
images/worldpregen-modal.png
images/worldpregen-map-grid.png
Do not move the screenshots into BepInEx/plugins; Thunderstore resolves the links
from the package root. The filenames and letter case must match the links exactly.
Installation
- Install BepInExPack Valheim.
- Extract the contents of this ZIP into the Valheim folder.
- Confirm that the file is at
BepInEx/plugins/WorldPreGenerator/WorldPreGenerator.dll. - Start the game through your mod manager.
BepInEx Configuration Manager is optional. When installed, it exposes the mod options inside the game.
How to use in game
- Enter the world as a local player, host, or administrator.
- Open the pause menu with ESC and select Pre-generate world.
- Check Complete world, or clear it and enter a radius in metres.
- Click Check zones to update the generated and missing zone totals.
- Click Generate missing zones to start the cascade.
- The progress bar, counters, and estimated time update every 5 seconds.
- Use Close to hide the modal while generation continues. Use Cancel to stop generation and save the progress already completed.
The host can check zones while a generation is active. Checking never starts a second generation.
When leaving the world, the routine is cancelled before the scene changes and saved progress is preserved. When entering another world, the modal state and counters start clean; use Check zones to read that save's state.
Map grid
Enable Map grid in the modal and open the map with M:
- green: zone already generated;
- yellow: zone still missing;
- transparency is reduced under fog to preserve the unexplored map;
- the grid shows generation state only and does not mark the map as explored;
- only the host or an authorized administrator can enable and view the grid;
- on a dedicated server, colors come from a compact snapshot of the server's authoritative save state; generated zones appear green even if the client has not loaded them locally;
- points-of-interest icons stay hidden until the area is explored manually when
HideUnexploredLocationIconsis enabled.
Dedicated server
Install the plugin in the dedicated server's BepInEx/plugins folder as well. The
server version must show Loading [World Pre-Generator ...] in its log. If the log
shows Skipping ... because of process filters (valheim.exe), the DLL is old and does
not include the valheim_server.exe process.
After an administrator joins, the client modal queries the save state on the server.
Checking and generation run on the server, never on the client's local ZoneSystem.
You can also use the commands directly in the server console:
The client plugin is optional for joining and playing on the server. Players without the plugin can connect normally, but they do not receive the tool state, modal, map grid, or progress messages. The client plugin is required only for the interface and progress display; the server plugin remains mandatory to generate the dedicated save.
Once generation starts on the server, the player who clicked the button may leave without interrupting it; the server continues the cascade by itself. When the server shuts down, the routine is cancelled before the network is destroyed and progress saved up to the last interval remains available to continue later. On completion or cancellation, the final state is sent to clients. When changing worlds, RPCs are registered again so the modal cannot inherit the previous save's state.
When leaving through the menu, the mod stops the routine before the scene changes and lets Valheim's normal save handle the world. This avoids a second save call that could stall singleplayer loading. If the player is not on the administrator list, the server returns a denial to the modal instead of leaving it stuck at “Request sent”.
In version 1.0.13, dedicated connections use a direct RPC between client and server.
The remote modal updates every 5 seconds, and the client receives a progress message
in chat every 30 seconds, in the language selected by that client. In singleplayer and
on a local host, the same notice is shown in local chat. The server sends state only to
clients that announced the plugin, avoiding unknown tool RPCs on vanilla clients.
After a client joins, the server log should show RPC direct registered for a client.
Clicking Check zones or Generate missing zones should produce a request line in
the server log. If the modal remains at “Request sent...” without counters, confirm that
the same 1.0.13 DLL is installed on both client and server and remove old copies of the
plugin.
worldpregen start full starts complete-world generation
worldpregen start <radius> starts generation within a radius in metres
worldpregen check full checks the complete world
worldpregen check <radius> checks zones within a radius
worldpregen status shows state, counters, failures, and ETA
worldpregen cancel cancels generation and preserves saved progress
The aliases worldpregen_start, worldpregen_check, worldpregen_status, and
worldpregen_cancel are also available.
Configuration
File: BepInEx/config/com.kimbauer.valheim.worldpregen.cfg
Interface.ShowMenuButton: shows or removes the button from the ESC menu;Interface.ShowChunkGrid: enables the map grid when the world opens; the grid is available only to the host or an authorized administrator;Interface.HideUnexploredLocationIcons: hides location icons until manual exploration;Generation.DefaultRadius: initial radius when Complete world is unchecked;Generation.MaxMillisecondsPerFrame: per-frame work limit; lower it to prioritize stability;Generation.SaveEveryZones: saves after this many completed zones;0saves only when finished;Generation.ZonesPerBatch: number of zones processed per batch;Generation.MaxConcurrentZoneRequests: maximum number of terrain requests waiting for processing;Generation.BatchPauseSeconds: pause between batches to keep the game responsive.
Recommendations
Back up the world before a long generation. A complete world can contain tens of thousands of zones, take hours, and use substantial CPU, memory, disk, and additional save-file space. Generate after installing every mod that changes terrain, locations, or zones.
Final zone creation still runs on Unity's main thread to preserve game-object integrity. Limited preloading and configurable batches reduce pressure on the generator, but they do not remove the total cost of generating the world.
Compatibility
Compatible with the current Valheim version and BepInExPack Valheim. Menu and modal text follow the language selected in Valheim.
CHANGELOG
Changelog
1.0.14
- Fixes the README screenshot links for Thunderstore by using direct HTTPS image URLs.
- Keeps local PNG copies in the package for offline previews and distribution.
1.0.13
- Restricts the map grid to the host or an authorized administrator and keeps the control disabled for other players.
- Adds a plugin handshake before RPCs and sends state only to clients that have the mod, allowing vanilla clients to join without receiving unknown messages.
- Includes permission in the remote state so the grid can be enabled even when the client's Jötunn administrator check has not updated yet.
- Makes the remote grid use a compact snapshot of the server's zone state, keeping
green/yellow colors correct without depending on the client's local
ZoneSystem. - Reapplies the point-of-interest filter after the server updates the icon list, keeping unexplored locations hidden in dedicated and singleplayer worlds.
- Sends progress messages as local chat lines, avoiding a lookup for a missing
UserInfoand displaying the notice on the singleplayer host as well. - Updates the remote modal every 5 seconds.
- Displays generation progress in chat every 30 seconds, using each connected client's selected language.
- Keeps server generation running when the player who started it leaves.
- Cancels the routine safely when the server shuts down, preserving previously saved progress.
- Re-registers RPCs when a new world or network session loads and publishes final state immediately after completion or cancellation.
- Keeps direct-connection delivery during the transition from routed RPCs between scenes.
- Prevents duplicate RPC registration when
ZNetis destroyed and the menu loads, eliminating theAn item with the same key has already been addederror when returning to the menu. - On menu exit, stops the routine without re-entering
SaveWorld; Valheim's normal save remains responsible for the world save and no longer blocks the singleplayer loading screen. - Explicitly answers requests from players without permission so the modal does not remain indefinitely at “Request sent to server”.
- Also uses
ZNet's own administrator check and normalizes identifiers such asSteam_..., including the socket identity received during the handshake, aligning RPC authorization with the administrator status received by the client.
1.0.12
- Uses direct client-server RPC to transport modal requests and state more reliably on dedicated servers.
- Adds diagnostic messages to the server log for each request.
1.0.11
- Loads in the
valheim_server.exeprocess as well. - The modal on clients connected to a dedicated server queries and controls the server generator through RPC without starting generation locally.
- Fixes the version message shown in the log.
1.0.10
- Check zones now re-evaluates host/administrator permission after the server handshake, preventing it from staying disabled when the modal opens before the administration response.
- Also uses Jötunn's administrator indicator when available, without adding a required dependency to the mod.
1.0.9
- Includes the screenshots used by the README (
images/worldpregen-modal.pngandimages/worldpregen-map-grid.png) in the package so they appear on the Thunderstore page.
1.0.0
- Reorganized the modal layout to separate the title, description, actions, progress, and messages.
- Removed grid gaps: generated zones stay green under fog and missing zones stay yellow.
- Menu and modal text follow the language selected in Valheim.
- State is bound to the world name; returning to the menu cancels the routine and clears counters before another world loads.
- Only one generation can run at a time; checking can follow an active generation.
- The icon filter and grid wait for player loading to finish so respawn is not blocked in saves with thousands of locations.
1.0.7
- Separate Cancel and Close buttons; closing the modal no longer stops generation.
- Missing zones appear yellow in the grid, including under fog, without revealing terrain.
- Points-of-interest icons remain hidden until the player explores them manually.
1.0.6
- Added the Map grid toggle to show generated and missing zones only where the minimap has already been explored.
1.0.5
- Added
worldpregen start,check,status, andcancelcommands for dedicated servers. - The Cancel button stops the cascade without discarding already saved progress.
- Faster generation through limited terrain preloading, with back-pressure to keep the server responsive.
1.0.4
- Cascaded generation: small batches, a configurable pause, and retry of the same zone without flooding the terrain generator.
- Host/administrator checking is available during generation without starting a second cascade.
1.0.3
- Restored the modal background to a solid panel.
- Achievements and manual exploration continue to work; protection remains limited to ghost generation.
1.0.2
- Transparent modal, progress updates every 5 seconds, and an estimated time remaining.
- Pre-generation does not register achievement events; discoveries made by the player continue normally.
- Selects the game's font to avoid missing
LiberationSans SDFwarnings.
1.0.1
- Fixed zone counting on the current Valheim build:
GetZoneCenterreturnsVector2s, so the generator now calculates positions with the same formula asGetZonePos.
1.0.0
- First public release.
- ESC menu button with a configuration modal.
- Counts total, generated, and missing zones.
- Per-frame sliced generation using ghost zones.
- Progress bar and periodic/final saving.