Update Home
1 parent
2ef4c60fec
commit
a664eda24b
1 file changed
+8
-8
+8
-8
@@ -1,14 +1,14 @@
|
|||||||
<body>
|
<body>
|
||||||
<!--StartFragment--><h1><strong>Managed Valheim Server — Overview</strong></h1><p><span style="white-space: pre-wrap;">This project provides a <strong style="white-space: pre-wrap;">fully automated, self-updating, BepInEx‑patched Valheim dedicated server</strong> designed for TrueNAS SCALE and other containerized environments. It includes SteamCMD installation, mod patching, managed startup, and optional world backup automation.</span></p><div></div><h2><strong>Core Features</strong></h2><h3><strong>SteamCMD Auto‑Install & Auto‑Update</strong></h3><ul role="list"><li><p><span style="white-space: pre-wrap;">Server installs and updates itself on container start.</span></p></li><li><p><span style="white-space: pre-wrap;">Uses anonymous SteamCMD login.</span></p></li><li><p><span style="white-space: pre-wrap;">Verifies installation and applies updates automatically.</span></p></li></ul><h3><strong>BepInEx Managed Integration</strong></h3><ul role="list"><li><p><span style="white-space: pre-wrap;">Downloads the official <em style="white-space: pre-wrap;">BepInExPack Valheim</em> from Thunderstore.</span></p></li><li><p><span style="white-space: pre-wrap;">Validates and extracts the pack.</span></p></li><li><p><span style="white-space: pre-wrap;">Applies custom patches:</span></p><ul role="list"><li><p><span style="white-space: pre-wrap;">Password override fix</span></p></li><li><p><span style="white-space: pre-wrap;">Launch command rewrite</span></p></li><li><p><span style="white-space: pre-wrap;">Managed wrapper installation</span></p></li></ul></li></ul><h3><strong>Managed Wrapper (</strong><code>start_server_managed.sh</code><strong>)</strong></h3><ul role="list"><li><p><span style="white-space: pre-wrap;">Handles server startup.</span></p></li><li><p><span style="white-space: pre-wrap;">Ensures correct savedir path.</span></p></li><li><p><span style="white-space: pre-wrap;">Passes environment variables cleanly.</span></p></li><li><p><span style="white-space: pre-wrap;">Supports background tasks (e.g., backup loop).</span></p></li></ul><h3><strong>World Backup System</strong></h3><ul role="list"><li><p><span style="white-space: pre-wrap;">Optional automated backups via wrapper.</span></p></li><li><p><span style="white-space: pre-wrap;">Uses <code style="white-space: pre-wrap;">/backups</code> volume.</span></p></li><li><p><span style="white-space: pre-wrap;">Creates timestamped <code style="white-space: pre-wrap;">.zip</code> archives of world directories.</span></p></li><li><p><span style="white-space: pre-wrap;">Requires <code style="white-space: pre-wrap;">zip</code> installed in the container (now fixed).</span></p></li></ul><h3><strong>TrueNAS SCALE Ready</strong></h3><ul role="list"><li><p><span style="white-space: pre-wrap;">Exposes Valheim ports (2456–2458 UDP).</span></p></li><li><p><span style="white-space: pre-wrap;">Uses <code style="white-space: pre-wrap;">/config</code> and <code style="white-space: pre-wrap;">/backups</code> volumes.</span></p></li><li><p><span style="white-space: pre-wrap;">Logs accessible through TrueNAS UI.</span></p></li></ul><div></div><h2><strong>Directory Layout</strong></h2><div><div><div tabindex="0" role="group" aria-label="Scrollable table">
|
<!--StartFragment--><h1><strong>Managed Valheim Server — Overview</strong></h1><p><span style="white-space: pre-wrap;">This project provides a <strong style="white-space: pre-wrap;">fully automated, self-updating, BepInEx‑patched Valheim dedicated server</strong> designed for TrueNAS SCALE and other containerized environments. It includes SteamCMD installation, mod patching, managed startup, and optional world backup automation.</span></p><div></div><h2><strong>Core Features</strong></h2><h3><strong>SteamCMD Auto‑Install & Auto‑Update</strong></h3><ul role="list"><li><p><span style="white-space: pre-wrap;">Server installs and updates itself on container start.</span></p></li><li><p><span style="white-space: pre-wrap;">Uses anonymous SteamCMD login.</span></p></li><li><p><span style="white-space: pre-wrap;">Verifies installation and applies updates automatically.</span></p></li></ul><h3><strong>BepInEx Managed Integration</strong></h3><ul role="list"><li><p><span style="white-space: pre-wrap;">Downloads the official <em style="white-space: pre-wrap;">BepInExPack Valheim</em> from Thunderstore.</span></p></li><li><p><span style="white-space: pre-wrap;">Validates and extracts the pack.</span></p></li><li><p><span style="white-space: pre-wrap;">Applies custom patches:</span></p><ul role="list"><li><p><span style="white-space: pre-wrap;">Password override fix</span></p></li><li><p><span style="white-space: pre-wrap;">Launch command rewrite</span></p></li><li><p><span style="white-space: pre-wrap;">Managed wrapper installation</span></p></li></ul></li></ul><h3><strong>Managed Wrapper (</strong><code>start_server_managed.sh</code><strong>)</strong></h3><ul role="list"><li><p><span style="white-space: pre-wrap;">Handles server startup.</span></p></li><li><p><span style="white-space: pre-wrap;">Ensures correct savedir path.</span></p></li><li><p><span style="white-space: pre-wrap;">Passes environment variables cleanly.</span></p></li><li><p><span style="white-space: pre-wrap;">Supports background tasks (e.g., backup loop).</span></p></li></ul><h3><strong>World Backup System</strong></h3><ul role="list"><li><p><span style="white-space: pre-wrap;">Optional automated backups via wrapper.</span></p></li><li><p><span style="white-space: pre-wrap;">Uses <code style="white-space: pre-wrap;">/backups</code> volume.</span></p></li><li><p><span style="white-space: pre-wrap;">Creates timestamped <code style="white-space: pre-wrap;">.zip</code> archives of world directories.</span></p></li><li><p><span style="white-space: pre-wrap;">Requires <code style="white-space: pre-wrap;">zip</code> installed in the container (now fixed).</span></p></li></ul><h3><strong>TrueNAS SCALE Ready</strong></h3><ul role="list"><li><p><span style="white-space: pre-wrap;">Exposes Valheim ports (2456–2458 UDP).</span></p></li><li><p><span style="white-space: pre-wrap;">Uses <code style="white-space: pre-wrap;">/config</code> and <code style="white-space: pre-wrap;">/backups</code> volumes.</span></p></li><li><p><span style="white-space: pre-wrap;">Logs accessible through TrueNAS UI.</span></p></li></ul><div></div><h2><strong>Directory Layout</strong></h2><div><div><div tabindex="0" role="group" aria-label="Scrollable table">
|
||||||
Path | Purpose
|
Path | Purpose
|
||||||
-- | --
|
|
||||||
SteamCMD installation
|
- SteamCMD installation
|
||||||
Valheim server root
|
- Valheim server root
|
||||||
World saves
|
- World saves
|
||||||
Managed backup output
|
- Managed backup output
|
||||||
Main startup script
|
- Main startup script
|
||||||
Optional standalone backup script
|
- Optional standalone backup script
|
||||||
Managed wrapper
|
- Managed wrapper
|
||||||
|
|
||||||
</div><div></div></div><div><div><button aria-label="Copy table" type="button" data-testid="copy-table-button" data-spatial-navigation-autofocus="false" data-tooltip-state="closed"><div></div></button><div></div></div><div><button aria-label="Download table" type="button" data-testid="download-table-button" data-spatial-navigation-autofocus="false" data-tooltip-state="closed"><div></div></button><div></div></div></div></div><div></div><h2><strong>Startup Flow</strong></h2><ol role="list" start="1"><li><p><span style="white-space: pre-wrap;">Container starts → <code style="white-space: pre-wrap;">entrypoint.sh</code> runs.</span></p></li><li><p><span style="white-space: pre-wrap;">SteamCMD installs/updates Valheim.</span></p></li><li><p><span style="white-space: pre-wrap;">BepInEx pack downloaded & patched.</span></p></li><li><p><span style="white-space: pre-wrap;">Managed wrapper installed.</span></p></li><li><p><span style="white-space: pre-wrap;">Wrapper launches server with correct flags:</span></p><ul role="list"><li><p><span style="white-space: pre-wrap;"><code style="white-space: pre-wrap;">-name</code></span></p></li><li><p><span style="white-space: pre-wrap;"><code style="white-space: pre-wrap;">-world</code></span></p></li><li><p><span style="white-space: pre-wrap;"><code style="white-space: pre-wrap;">-savedir</code></span></p></li><li><p><span style="white-space: pre-wrap;"><code style="white-space: pre-wrap;">-password</code></span></p></li><li><p><span style="white-space: pre-wrap;"><code style="white-space: pre-wrap;">-public</code></span></p></li></ul></li><li><p><span style="white-space: pre-wrap;">Server boots, loads world, begins accepting connections.</span></p></li></ol><div></div><h2><strong>Logging</strong></h2><ul role="list"><li><p><span style="white-space: pre-wrap;">SteamCMD logs: <code style="white-space: pre-wrap;">/root/Steam/logs/</code></span></p></li><li><p><span style="white-space: pre-wrap;">Valheim logs stream to container stdout (TrueNAS UI).</span></p></li><li><p><span style="white-space: pre-wrap;">BepInEx logs appear under <code style="white-space: pre-wrap;">/opt/valheim/BepInEx/</code>.</span></p></li></ul><div></div><h2><strong>Backup Behavior</strong></h2><ul role="list"><li><p><span style="white-space: pre-wrap;">Wrapper runs a background loop (default: hourly).</span></p></li><li><p><span style="white-space: pre-wrap;">Each cycle:</span></p><ul role="list"><li><p><span style="white-space: pre-wrap;">Checks world directory.</span></p></li><li><p><span style="white-space: pre-wrap;">Creates ZIP archive in <code style="white-space: pre-wrap;">/backups</code>.</span></p></li><li><p><span style="white-space: pre-wrap;">Logs success or warnings.</span></p></li></ul></li><li><p><span style="white-space: pre-wrap;">World auto-backups (Valheim internal) continue normally.</span></p></li></ul><div></div><h2><strong>Requirements</strong></h2><ul role="list"><li><p><span style="white-space: pre-wrap;">TrueNAS SCALE or Docker environment.</span></p></li><li><p><span style="white-space: pre-wrap;">Mounted volumes:</span></p><ul role="list"><li><p><span style="white-space: pre-wrap;"><code style="white-space: pre-wrap;">/config</code></span></p></li><li><p><span style="white-space: pre-wrap;"><code style="white-space: pre-wrap;">/backups</code></span></p></li></ul></li><li><p><span style="white-space: pre-wrap;">Ports 2456–2458 UDP exposed.</span></p></li><li><p><span style="white-space: pre-wrap;"><code style="white-space: pre-wrap;">zip</code> installed in container (added in your updated Dockerfile).</span></p></li></ul><div></div><h2><strong>Known Non-Issues / Safe Warnings</strong></h2><p><span style="white-space: pre-wrap;">These appear in logs but do <strong style="white-space: pre-wrap;">not</strong> affect server operation:</span></p><ul role="list"><li><p><span style="white-space: pre-wrap;"><code style="white-space: pre-wrap;">DllNotFoundException: libParty.so</code>
|
</div><div></div></div><div><div><button aria-label="Copy table" type="button" data-testid="copy-table-button" data-spatial-navigation-autofocus="false" data-tooltip-state="closed"><div></div></button><div></div></div><div><button aria-label="Download table" type="button" data-testid="download-table-button" data-spatial-navigation-autofocus="false" data-tooltip-state="closed"><div></div></button><div></div></div></div></div><div></div><h2><strong>Startup Flow</strong></h2><ol role="list" start="1"><li><p><span style="white-space: pre-wrap;">Container starts → <code style="white-space: pre-wrap;">entrypoint.sh</code> runs.</span></p></li><li><p><span style="white-space: pre-wrap;">SteamCMD installs/updates Valheim.</span></p></li><li><p><span style="white-space: pre-wrap;">BepInEx pack downloaded & patched.</span></p></li><li><p><span style="white-space: pre-wrap;">Managed wrapper installed.</span></p></li><li><p><span style="white-space: pre-wrap;">Wrapper launches server with correct flags:</span></p><ul role="list"><li><p><span style="white-space: pre-wrap;"><code style="white-space: pre-wrap;">-name</code></span></p></li><li><p><span style="white-space: pre-wrap;"><code style="white-space: pre-wrap;">-world</code></span></p></li><li><p><span style="white-space: pre-wrap;"><code style="white-space: pre-wrap;">-savedir</code></span></p></li><li><p><span style="white-space: pre-wrap;"><code style="white-space: pre-wrap;">-password</code></span></p></li><li><p><span style="white-space: pre-wrap;"><code style="white-space: pre-wrap;">-public</code></span></p></li></ul></li><li><p><span style="white-space: pre-wrap;">Server boots, loads world, begins accepting connections.</span></p></li></ol><div></div><h2><strong>Logging</strong></h2><ul role="list"><li><p><span style="white-space: pre-wrap;">SteamCMD logs: <code style="white-space: pre-wrap;">/root/Steam/logs/</code></span></p></li><li><p><span style="white-space: pre-wrap;">Valheim logs stream to container stdout (TrueNAS UI).</span></p></li><li><p><span style="white-space: pre-wrap;">BepInEx logs appear under <code style="white-space: pre-wrap;">/opt/valheim/BepInEx/</code>.</span></p></li></ul><div></div><h2><strong>Backup Behavior</strong></h2><ul role="list"><li><p><span style="white-space: pre-wrap;">Wrapper runs a background loop (default: hourly).</span></p></li><li><p><span style="white-space: pre-wrap;">Each cycle:</span></p><ul role="list"><li><p><span style="white-space: pre-wrap;">Checks world directory.</span></p></li><li><p><span style="white-space: pre-wrap;">Creates ZIP archive in <code style="white-space: pre-wrap;">/backups</code>.</span></p></li><li><p><span style="white-space: pre-wrap;">Logs success or warnings.</span></p></li></ul></li><li><p><span style="white-space: pre-wrap;">World auto-backups (Valheim internal) continue normally.</span></p></li></ul><div></div><h2><strong>Requirements</strong></h2><ul role="list"><li><p><span style="white-space: pre-wrap;">TrueNAS SCALE or Docker environment.</span></p></li><li><p><span style="white-space: pre-wrap;">Mounted volumes:</span></p><ul role="list"><li><p><span style="white-space: pre-wrap;"><code style="white-space: pre-wrap;">/config</code></span></p></li><li><p><span style="white-space: pre-wrap;"><code style="white-space: pre-wrap;">/backups</code></span></p></li></ul></li><li><p><span style="white-space: pre-wrap;">Ports 2456–2458 UDP exposed.</span></p></li><li><p><span style="white-space: pre-wrap;"><code style="white-space: pre-wrap;">zip</code> installed in container (added in your updated Dockerfile).</span></p></li></ul><div></div><h2><strong>Known Non-Issues / Safe Warnings</strong></h2><p><span style="white-space: pre-wrap;">These appear in logs but do <strong style="white-space: pre-wrap;">not</strong> affect server operation:</span></p><ul role="list"><li><p><span style="white-space: pre-wrap;"><code style="white-space: pre-wrap;">DllNotFoundException: libParty.so</code>
|
||||||
(PlayFab Party SDK — unused by dedicated servers)</span></p></li><li><p><span style="white-space: pre-wrap;">Shader fallback warnings
|
(PlayFab Party SDK — unused by dedicated servers)</span></p></li><li><p><span style="white-space: pre-wrap;">Shader fallback warnings
|
||||||
|
|||||||
Reference in new issue
Block a user