ShroudForge is the loader that finds, checks, and starts mods for Enshrouded. A mod is a separate add-on that changes or adds something in the game. You can use mods made by other players, or create your own. Read how ShroudForge works for a clear explanation of how the loader and mods fit together.
New to mods? Start with the illustrated guide. It explains everything in simple steps, in English and German:
- English: install ShroudForge, add mods, and make your first mod
- Deutsch: ShroudForge einrichten, Mods hinzufΓΌgen und den ersten Mod bauen
The guide includes separate instructions for your PC and game server, pictures of the Modloader, a first-mod lesson, and an interactive preview for mod settings.
ShroudForge has officially completed its migration to Enshrouded 1.0! π
This major release introduces native mod support for both singleplayer and multiplayer, including dedicated servers!
- β Full Enshrouded 1.0 Migration β Updated runtime systems and native game integration.
- π οΈ Hotfix 1.0.0.3 Compatibility β Client and dedicated server profiles updated for today's Keen Games hotfix!
- π Native Singleplayer & Multiplayer Modding β Mods now work with native game integration in singleplayer and on dedicated servers.
- π₯οΈ Dedicated Server Support β Native ECS, resource, ItemRegistry, and service access for server build
25988414. - ποΈ World Editor β Capture, place, rotate, and undo blueprints, including experimental multiplayer support.
- βοΈ SF Crafting Essentials β Native crafting controls, item-use configuration, and live production scaling.
- β‘ Performance Improvements β Faster ECS lookups, optimized runtime operations, and reduced memory usage.
- π‘οΈ Security Improvements β Automated release scans using Microsoft Defender, ClamAV, Trivy, and VirusTotal.
- πΉ Improved multiplayer blueprint capture and placement via Steam P2P.
- πΉ Added client-specific operation queues and independent undo handling.
- πΉ Improved World Editor placement and undo for terrain, voxels, and props.
- πΉ Expanded Lua, Python, Rust, and runtime diagnostics.
- πΉ Reduced unnecessary background checks and repeated log messages.
- πΉ Added French and Spanish translations.
- πΉ Improved UI scaling, settings, notifications, and window management.
- πΉ Expanded modding documentation and security reporting.
- πΉ Improved loader stability and error recovery.
-
Close Enshrouded.
-
Download the Latest release:
-
Right-click the downloaded ZIP and choose Extract All.
-
Open the Enshrouded folder that contains enshrouded.exe.
-
Copy the files from the ZIP into that folder, beside enshrouded.exe.
-
Start Enshrouded and press F9 to open the Modloader.
A common Steam folder is:
C:\Program Files (x86)\Steam\steamapps\common\Enshrouded
The Modloader is the ShroudForge window inside the game. It shows your mods and lets you switch them on or off. Press F10 to read messages if something does not work.
Follow the mod creator's instructions. Unpack the mod download, then copy the mod folder into mods, beside enshrouded.exe. Keep any folder structure and extra files the creator includes.
Open the game, press F9, find the mod, and switch it on. Some mods need a game restart. Mods that change game files must prepare those changes before the game starts.
Read the full PC quickstart for screenshots and help with each step.
Note
The extra environment setting below is only for the Proton Docker image. It is not needed for the Windows game or the Enshrouded Dedicated Server installed through Steam.
Install ShroudForge and the mod on your PC and on the server.
-
Stop the server and back up your world.
-
Download the latest ShroudForge release.
-
Right-click the ZIP file and choose Extract All.
-
Open the server folder containing enshrouded_server.exe.
-
Copy the ShroudForge files from the ZIP into that folder, beside enshrouded_server.exe.
-
Unpack the mod you want to use, then copy its folder into the server's mods folder.
-
If you use the Proton Docker image
mornedhels/enshrouded-server, add the environment setting below. It lets Proton load ShroudForge's DLLs.For an existing
docker runsetup, add this option to its command:-e 'WINEDLLOVERRIDES=dbghelp=native,builtin;winmm=native,builtin' \For Docker Compose, add the setting under
environment, as shown in this complete example:services: enshrouded: image: mornedhels/enshrouded-server:dev-proton restart: unless-stopped ports: - "15637:15637/udp" volumes: - ./gamefiles:/opt/enshrouded environment: - "WINEDLLOVERRIDES=dbghelp=native,builtin;winmm=native,builtin"
Keep your existing image, ports, volume, and other settings. After changing the environment, recreate the Docker container. The normal server port is 15637/udp.
-
Start the server again.
See the English server guide or the German server guide for the full Docker steps, including how to find and inspect an existing container before recreating it.
Start with the mod template. It gives you the files for a small mod and explains what to change.
The website's first-mod lesson walks through a complete example. When you are ready, try the mod settings guide: edit an example on the left and see the Modloader-style preview on the right. It also shows how extended.mod.json exposes a setting and how Lua reads it with shroudforge.settings.get.
To look up functions or Enshrouded game information, open the searchable API reference.
The release build validates each mod's manifest, ID, Lua entry point, and Lua syntax. The table below lists the ShroudForge mods included in the release and the targets declared by each mod.
Target support means the package can be installed for that process. In multiplayer, the game process that handles an action determines where its effect must run. A checkmark does not by itself confirm that every gameplay effect has been verified end to end on a live server.
* Multiplayer support depends on installing and enabling the mod in the process that handles the relevant game action. For asset changes such as recipe data or production time, prepare both client and server before starting them. A client-side change alone does not prove that the server accepted or persisted the result.
The source tree currently contains the two release mods listed above. The earlier reference and diagnostic package directories have been removed. See the architecture guide for current source locations and concrete build actions.
Product code is grouped by responsibility under modules/. Each module owns its behavior and its UI where needed. The module guide and code ownership guide describe the current boundaries.
modules/
entrypoints/loader/ # Loader application and startup entrypoints
modloader/ # Find, validate, configure, and order mods
mod-runtime/ # Prepare and run mods, Lua APIs, callbacks, and reloads
game-files/ # Game-file backups, status, and asset transactions
game-runtime/ # Native game access, Rust bridge, compatibility, and profiles
runtime-diagnostics/ # Runtime diagnostic jobs and measurements
updater/ # System updates and mod package updates
transport/ # Steam networking
world-editor/ # World editing features
commands/ # Command-line actions
debug-console/ # In-game log and diagnostics window
loader-config/ # Loader settings and game paths
logging/ # Log writing and display
notifications/ # News events and notifications
ui-resources/ # Shared UI resources and translations
.github/ # GitHub workflows
dev/ # Build actions, parser setup, tests, and profile tools
docs/ # Guides, examples, evidence, and website source
mods/ # Mod source included with the repository
kfc-parser/ # Direct Git submodule for the KFC parser
assets/ # Repository images and branding
build/ # Generated build and website output
target/ # Cargo build output
The modules/game-runtime/ directory contains the native runtime and its Rust bridge. modules/mod-runtime/ runs ShroudForge mods through that bridge. The actual mod source lives under mods/.
ShroudForge is shared under the MIT License.
If this project has helped you in any way, do buy me a coffee so I can continue to build more of such projects in the future and share them with the community!
