Skip to content

Workshop Content on Dedicated Servers

A 57 Studios™ guide to loading Steam Workshop content on Unturned™ dedicated servers. This article covers every layer of the process: adding Workshop items to Commands.dat, the autodownload sequence that distributes content to connecting clients, WorkshopDownloadConfig.json and what it controls, how to pin content to a specific published version, and the full set of common pitfalls that cause Workshop content to fail silently or partially.

Workshop-powered servers are the standard delivery mechanism for community maps, custom item packs, vehicle mods, custom weapons, and environmental modifications in Unturned™. Understanding how Workshop content propagates from the server to each connecting client — and where that propagation can break — is essential for running a stable modded server.

Unturned Workshop item page showing the Subscribe button and the Workshop ID in the URL bar

Overview

When a dedicated server loads a Workshop item, two things need to happen:

  1. The server downloads the Workshop item and loads its content into the map.
  2. Each connecting client downloads the Workshop item (or already has it subscribed) before being allowed to fully enter the game.

Both steps are automatic if configured correctly. The server handles its own download via Workshop_Download_ID lines in Commands.dat. The client download is triggered by the server sending the Workshop item's ID to the connecting client, which then resolves the item through Steam's Workshop subscription system.

StepWhoMechanism
Server downloads Workshop itemServer processWorkshop_Download_ID in Commands.dat
Server loads Workshop contentServer processAutomatic on map load
Client is informed of required Workshop itemsServer → ClientDuring connection handshake
Client downloads Workshop itemsClient (Steam)Subscribe-or-autodownload via Steam
Client loads Workshop contentClient processAutomatic after download completes

Workshop_Download_ID in Commands.dat

The primary mechanism for telling a dedicated server to load Workshop content is the Workshop_Download_ID command in Commands.dat. Each line adds one Steam Workshop item to the server's download list.

Syntax

Workshop_Download_ID <steamWorkshopItemID>

The <steamWorkshopItemID> is the numeric ID found in the Workshop item's URL on the Steam Workshop:

https://steamcommunity.com/sharedfiles/filedetails/?id=2480303126
                                                        ^^^^^^^^^^
                                                        This number is the Workshop item ID

Adding multiple Workshop items

Repeat the Workshop_Download_ID line once per item. There is no limit enforced by the command parser on how many items you can add, although practical limits are imposed by server memory, disk space, and the time players are willing to wait for content to download before joining.

# Commands.dat — workshop content block
Workshop_Download_ID 2480303126
Workshop_Download_ID 2312075082
Workshop_Download_ID 1991340199
Workshop_Download_ID 2500000000
Workshop_Download_ID 2600000000

Find the Workshop ID from a URL

Navigate to the Workshop item's page on steamcommunity.com. The item's ID is the number in the ?id= query parameter of the URL. Copy that number directly into Commands.dat.

Download order and dependencies

The server processes Workshop_Download_ID lines in the order they appear in Commands.dat. If one Workshop item depends on another (for example, a map that requires a custom item pack), the dependency must appear before the dependent item in the file.

# Correct order: item pack (dependency) before map (dependent)
Workshop_Download_ID 2480303126    # Custom item pack
Workshop_Download_ID 2312075082    # Map that uses the custom item pack

If a dependency appears after its dependent, the map may load before the required content is available, resulting in missing items, missing objects, or a failed map load.

Incorrect dependency order causes silent content failures

When a Workshop map item depends on a custom item pack, loading the item pack after the map means the map's object spawners initialize before the items exist. The result is empty loot tables and missing objects — no error message, no crash. Always place dependency items first in your Workshop_Download_ID list.


How the server downloads Workshop content

When the server starts and processes each Workshop_Download_ID line, it initiates a Steam Workshop download for that item. The download sequence is:

The downloaded files are stored at:

<ServerRoot>/Servers/<servername>/Workshop/
└── Content/
    └── 304930/
        └── <workshopItemID>/
            └── <itemFiles>

This is the same directory structure used by the Steam Workshop for local game installations. The Unturned™ server reuses Steam's Workshop file structure for compatibility.

Download failure behavior

If a Workshop item fails to download (network error, item removed, item made private, Steam outage), the server logs a warning and continues. The item's content will not be available in-game, but the server does not crash. This means download failures can be silent from the player's perspective — test your Workshop item list carefully after any changes.


How connecting clients receive Workshop content

When a client connects to a Workshop-enabled server, the server sends the client a list of required Workshop item IDs during the connection handshake. The client then resolves each item through Steam:

The client-side download is handled entirely by Steam. The Unturned™ client does not download Workshop content independently; it delegates to the Steam client's Workshop subscription system. This means:

  • The client must be running Steam (not running Unturned™ standalone without Steam).
  • The client's Steam must be able to reach the Steam Workshop (firewall, VPN, or offline mode may block this).
  • The download speed is limited by the client's Steam Workshop download bandwidth, not by the server.

Server-side autodownload toggle

The server can be configured to require clients to have Workshop items subscribed before connecting, or to allow Steam to auto-subscribe on their behalf. This behavior is controlled in WorkshopDownloadConfig.json, covered below.


WorkshopDownloadConfig.json

WorkshopDownloadConfig.json is an optional configuration file that provides fine-grained control over how the server manages its Workshop downloads. It lives in the same directory as Commands.dat:

<ServerRoot>/Servers/<servername>/Server/WorkshopDownloadConfig.json

File structure

json
{
  "File_IDs": [],
  "Ignore_Children_File_IDs": [],
  "Query_Cache_Max_Age_Seconds": 600,
  "Max_Query_Retries": 3,
  "Use_Cached_Downloads": true,
  "Should_Monitor_Updates": true,
  "Shutdown_Update_Detected_Timer": 600,
  "Shutdown_Update_Detected_Message": "Workshop update detected. Server restarting in 10 minutes."
}

WorkshopDownloadConfig.json field reference

FieldTypeDefaultPurpose
File_IDsarray of integers[]Alternative way to specify Workshop item IDs. Equivalent to Workshop_Download_ID in Commands.dat. If items are specified here AND in Commands.dat, they are merged.
Ignore_Children_File_IDsarray of integers[]Workshop item IDs whose child dependencies should not be auto-downloaded. Use this to exclude sub-items of a collection that you do not want on the server.
Query_Cache_Max_Age_Secondsinteger600How long (in seconds) the server caches Workshop metadata before re-querying Steam. Lower values check for updates more frequently at the cost of more Steam API calls.
Max_Query_Retriesinteger3Number of times the server retries a failed Workshop item query before giving up.
Use_Cached_DownloadsbooleantrueWhether to use previously downloaded Workshop files when they are still up to date. Setting to false forces a fresh download on every server start — not recommended for production.
Should_Monitor_UpdatesbooleantrueWhether the server monitors subscribed Workshop items for updates while running and schedules a restart when an update is detected.
Shutdown_Update_Detected_Timerinteger600Seconds after an update is detected before the server shuts down to apply the update. Default is 600 seconds (10 minutes), giving players time to finish their sessions.
Shutdown_Update_Detected_Messagestring(default message)The message broadcast to players when a Workshop update shutdown is scheduled.

::: note WorkshopDownloadConfig.json is optional If WorkshopDownloadConfig.json does not exist, the server applies all defaults: no File_IDs, cache TTL of 600 seconds, 3 retries, cached downloads enabled, update monitoring enabled. You only need to create this file when you want to change one of those defaults — primarily to disable update monitoring on production servers. :::

Using File_IDs instead of Commands.dat

WorkshopDownloadConfig.json's File_IDs array is equivalent to Workshop_Download_ID lines in Commands.dat. The two approaches can be mixed — items from both sources are merged into the server's download list.

The 57 Studios™ cohort's preference is to use Commands.dat for Workshop items that are part of the server's core identity (the map, the item packs, the vehicle mod), and to use WorkshopDownloadConfig.json for operational control (update monitoring, shutdown timers, cache settings).

json
{
  "File_IDs": [
    2480303126,
    2312075082,
    1991340199
  ],
  "Should_Monitor_Updates": true,
  "Shutdown_Update_Detected_Timer": 900,
  "Shutdown_Update_Detected_Message": "A mod update has been detected. The server will restart in 15 minutes to apply it."
}

Version pinning

By default, the Unturned™ server downloads the latest published version of each Workshop item. For production servers, this means a Workshop item author publishing an update can break your server without notice.

The problem with automatic updates

Consider this scenario:

  1. Your server is running a custom vehicle mod (Workshop ID 2480303126).
  2. The mod author publishes a new version with a breaking change — renamed asset IDs that conflict with your map's vehicle spawn points.
  3. The server's Should_Monitor_Updates flag detects the update and schedules a restart.
  4. After restart, the server loads the new (broken) version. Vehicle spawns fail. Players see empty spawn points.

This failure mode is not hypothetical — Workshop updates without versioning discipline are one of the most common sources of modded server instability.

Version pinning options

Unturned™'s Workshop system does not expose version pinning natively at the server-config level. The three strategies community operators use are:

StrategyHow it worksTrade-offs
Disable update monitoringSet Should_Monitor_Updates: false in WorkshopDownloadConfig.jsonServer stays on the version it downloaded until manually restarted. No automatic updates. Requires manual restart to pick up security or critical fixes.
Use a local mirrorDownload the Workshop item's files, host them on a local server, load from local path instead of SteamFull version control. No Steam dependency for content. High operational overhead — requires managing the local mirror.
Coordinate with mod authorsRequest that mod authors use Steam Workshop branches for stable/testing versionsThe cleanest solution for mature mods. Requires relationship with the mod author.

For most 57 Studios™ server operators, disabling update monitoring for production servers is the practical choice:

json
{
  "File_IDs": [2480303126, 2312075082],
  "Should_Monitor_Updates": false,
  "Use_Cached_Downloads": true
}

With this configuration, the server uses whatever version it has cached. Updates are applied only when the operator restarts the server manually after verifying the new version is compatible.

Test Workshop updates before applying to production

Before restarting a production server to pick up a Workshop update, spin up a test server with the same Workshop item list and verify the update does not break anything. This is especially important for maps and item packs that other Workshop items may depend on.


Client-side requirements

For a client to join a Workshop-enabled server, the following must be true:

  1. Steam is running. The Workshop download system is managed by the Steam client. Unturned™ cannot download Workshop content without Steam.
  2. The client can reach Steam's Workshop servers. Firewalls, VPN configurations, or Steam outages that block Workshop download will prevent the client from joining.
  3. The Workshop item is available. If the mod author has made the Workshop item private, set it to friends-only, or removed it, the client cannot download it and cannot join the server.
  4. The client has sufficient disk space. Workshop downloads write to the Steam Workshop cache directory. Insufficient disk space will prevent the download.

Auto-subscribe vs. manual subscribe

When a client connects and encounters a Workshop item they have not subscribed to, Steam auto-subscribes them to the item and downloads it. This behavior is automatic and does not require any action from the operator. After the download completes, the connection proceeds.

Auto-subscribe means players do not need to manually find and subscribe to every mod before joining your server. This is intentional and is the standard expected behavior for Workshop-powered servers. Players may see a "Downloading required content" loading screen during connection if they have not previously joined the server.

Reduce player wait time with a mod list in your server description

Include the Workshop item names and links in your server's browser description (Config.json's Browser.Desc_Full). Players who know your server's modlist can pre-subscribe before connecting, eliminating the download wait during connection. Pre-subscribing also lets Steam update the mods in the background before the player joins.


Workshop content directory structure

Understanding where Workshop files land on the server disk is useful for debugging and for manual content management.

<ServerRoot>/
└── Servers/
    └── <servername>/
        └── Workshop/
            └── Content/
                └── 304930/          <- Unturned's Steam App ID
                    ├── 2480303126/  <- Workshop item ID
                    │   ├── Bundles/
                    │   │   └── <assetFiles>.unity3d
                    │   └── <itemFolder>/
                    │       └── <datFiles>.dat
                    ├── 2312075082/
                    │   └── ...
                    └── 1991340199/
                        └── ...

Each Workshop item gets its own subdirectory named by its Steam Workshop ID. Inside, the directory structure mirrors the item's Workshop upload structure — typically a Bundles/ folder for .unity3d asset bundles and item-type folders (e.g., Items/, Vehicles/, Maps/) containing .dat configuration files.

Verifying Workshop content downloaded correctly

After a server restart, check that each Workshop item's directory exists under Servers/<servername>/Workshop/Content/304930/. If a directory is missing or empty, the download failed. Check the server log for Workshop download error messages.


Configuring a Workshop-enabled server: full walkthrough

This walkthrough sets up a 20-player modded survival server on the Washington map with three Workshop items: a custom item pack, a vehicle mod, and a map enhancement mod.

Step 1: Gather Workshop item IDs

Navigate to each Workshop item's page and copy the ID from the URL:

ItemWorkshop URLID
Custom item pack?id=24803031262480303126
Vehicle mod?id=23120750822312075082
Map enhancement?id=19913401991991340199

Step 2: Edit Commands.dat

# ========================
# Washington Modded Server
# ========================

Name Washington Modded | 57 Studios
Map Washington
MaxPlayers 20
Mode Normal
Perspective Both
Cycle 3600
Port 27015

# Workshop content — order: dependencies first
Workshop_Download_ID 2480303126
Workshop_Download_ID 2312075082
Workshop_Download_ID 1991340199

# RCON
RCON adminpass 27016

Step 3: Create WorkshopDownloadConfig.json

json
{
  "File_IDs": [],
  "Ignore_Children_File_IDs": [],
  "Query_Cache_Max_Age_Seconds": 600,
  "Max_Query_Retries": 3,
  "Use_Cached_Downloads": true,
  "Should_Monitor_Updates": false,
  "Shutdown_Update_Detected_Timer": 600,
  "Shutdown_Update_Detected_Message": "Workshop update detected. Server restarting soon."
}

Should_Monitor_Updates is false for production stability. Workshop updates will be applied only on manual restart after validation.

Step 4: Start the server and watch logs

The server console should show:

[Workshop] Downloading item 2480303126...
[Workshop] Item 2480303126 download complete.
[Workshop] Downloading item 2312075082...
[Workshop] Item 2312075082 download complete.
[Workshop] Downloading item 1991340199...
[Workshop] Item 1991340199 download complete.
[Map] Loading Washington...
[Map] Washington loaded.
[Server] Listening on port 27015.

If a Workshop download line does not appear, the Workshop_Download_ID command was not parsed. Check Commands.dat encoding and syntax.

Step 5: Test client join

From a client machine, connect to the server. During the connection, you should see a "Downloading required content" screen if the client does not already have the Workshop items subscribed. After download completes, the join proceeds normally.

Step 6: Verify in-game

Once in the game, confirm that Workshop content is active:

  • Verify that custom items from the item pack are present in the world loot.
  • Verify that custom vehicles from the vehicle mod spawn at vehicle spawn points.
  • Verify that map enhancements from the map enhancement mod are visible.

Pre-run the server to warm the Workshop cache

On a brand-new server install, run the server once before opening it to players. This lets Workshop items finish downloading and caching at full network speed without the delay penalty of concurrent player connection attempts. Once all Workshop download lines show download complete in the console, restart and open to players.


Common pitfalls

PitfallSymptomResolution
Workshop item made private by authorServer download fails silently; item missing in-gameContact the mod author or find an alternative mod. The server cannot download private items.
Workshop item deleted from WorkshopSame as private; download fails silentlyRemove the Workshop_Download_ID line. Find an alternative or host the files locally if you have a copy.
Dependencies out of orderMap loads but dependent objects are missingReorder Workshop_Download_ID lines so dependencies appear before dependents.
Workshop download during map loadRace condition where items load too lateThis is typically handled by the engine, but very large items on slow connections can trigger it. Pre-cache by running the server once without players to let downloads complete.
Client cannot download Workshop item (firewall)Client connection times out at "Downloading required content"The client's Steam Workshop traffic is blocked. Check client-side firewall and VPN settings.
Server runs out of disk space during downloadDownload incomplete; item missing in-gameFree disk space. The server requires enough space for all Workshop item files plus the map data.
WorkshopDownloadConfig.json malformed JSONServer ignores the file or fails to startValidate JSON with a linter before saving.
Mod author updates a Workshop item with breaking changesServer picks up the update on restart; content breaksSet Should_Monitor_Updates: false and test updates on a staging server before applying to production.
Server and client on different versions of a Workshop itemContent desync; visual inconsistencies or connection refusalEnsure both server and client have the same version. Pinning (disabling auto-updates) on the server forces clients to use the version the server cached.
Client is subscribed to an outdated version of a Workshop itemPossible content mismatchSteam auto-updates subscribed Workshop items when the client is online. If the client has an outdated version, Steam should update it on the next launch.

Content desync causes connection failures

If the server has a different version of a Workshop item than the client, Unturned™ may refuse the connection entirely rather than letting a mismatched client join. This is a safety mechanism to prevent item and object definition mismatches in multiplayer. Always verify that clients can successfully connect after a Workshop update is applied to the server.


Frequently asked questions

How do I find a Workshop item's ID?

Navigate to the Workshop item's page on steamcommunity.com. The item's ID is in the URL as the value of the ?id= query parameter. For example: ?id=2480303126 means the Workshop ID is 2480303126.

Do players need to manually subscribe to mods before joining?

No. When a client connects to a Workshop-enabled server, Steam auto-subscribes the client to any required Workshop items they do not already have. The player sees a download screen during connection and then joins normally once downloads complete.

What happens if a Workshop item is removed from the Workshop while my server is running?

The server will not be affected until its next restart, because it uses the cached downloaded files. On the next restart, the server will attempt to re-download the item, fail (because it no longer exists), log a warning, and continue without that item's content. Players who already have the item cached locally may still have it until they restart Steam and Steam removes the orphaned subscription.

Can I load a Workshop map as the server's main map?

Yes. A Workshop map is loaded by specifying Workshop_Download_ID <mapItemID> and then Map <mapFolderName> in Commands.dat. The Map command refers to the map's folder name as it appears in the Workshop download, not the Workshop item's ID. Check the Workshop item's description or the downloaded files to determine the correct map folder name.

How many Workshop items can a server load?

There is no hardcoded limit in the command parser. Practical limits are determined by server RAM (each loaded asset bundle consumes memory), disk space (Workshop downloads accumulate on disk), and player patience for download times. Most production Unturned™ servers operate with between 1 and 30 Workshop items.

Why are some Workshop items loading but others are missing?

The most common causes are: the missing item was made private by the author; the Workshop_Download_ID line for the missing item has a typo in the ID; or the item failed to download due to a transient network error. Check the server log for Workshop download error messages after each item ID.

Can I use a Workshop collection instead of individual Workshop_Download_ID lines?

A Steam Workshop collection is a curated list of items. You can add the collection's ID as a Workshop_Download_ID, but whether the server resolves the collection to its member items depends on Unturned™'s collection handling behavior. The cohort's recommendation is to list individual item IDs rather than collections to have explicit control over which items are loaded and in what order.

What is the Workshop cache directory on Windows?

The Workshop download cache for a server running from SteamCMD is at <ServerRoot>/Servers/<servername>/Workshop/Content/304930/. Each item gets a subdirectory named by its Workshop ID. For a Steam client installation, the cache is in the Steam steamapps/workshop/content/304930/ directory.

How do I force the server to re-download all Workshop content?

Delete the directories for each item under Servers/<servername>/Workshop/Content/304930/. On the next server start, the server will re-download all Workshop items from the Steam Workshop. This is useful when you suspect cached files are corrupted.

Can I use Workshop content without Steam (offline/LAN servers)?

No. Workshop content download requires an active connection to Steam's Workshop servers. For fully offline LAN servers, content must be manually placed in the Workshop content directory using files obtained while online. The Workshop IDs must still be listed in Commands.dat or WorkshopDownloadConfig.json for the server to load the locally placed content.

Does Workshop content affect server performance?

Yes. Each Workshop item that adds asset bundles increases the server's memory footprint and the time required to load the map. Very large Workshop items (large maps, high-polygon vehicle mods, high-resolution texture packs) have a proportionally larger impact. The cohort recommendation is to profile server memory usage after adding each Workshop item during the staging phase, before deploying to production.

What does "Ignore_Children_File_IDs" do in WorkshopDownloadConfig.json?

When a Workshop collection (parent item) is added, Steam Workshop may automatically resolve and download its child items (the individual items in the collection). Ignore_Children_File_IDs lets you specify child item IDs that should not be auto-downloaded even if the parent collection includes them. This is useful for collections that contain some items you want but also some items that conflict with your server's setup.


Appendix A: Example WorkshopDownloadConfig.json configurations

Configuration A: Production server — updates disabled

For a stable production server where Workshop updates are tested before applying:

json
{
  "File_IDs": [],
  "Ignore_Children_File_IDs": [],
  "Query_Cache_Max_Age_Seconds": 3600,
  "Max_Query_Retries": 5,
  "Use_Cached_Downloads": true,
  "Should_Monitor_Updates": false,
  "Shutdown_Update_Detected_Timer": 600,
  "Shutdown_Update_Detected_Message": "Server maintenance scheduled."
}

Configuration B: Active development server — updates enabled with 15-minute restart window

For a development or staging server where keeping up with the latest Workshop versions is desired:

json
{
  "File_IDs": [],
  "Ignore_Children_File_IDs": [],
  "Query_Cache_Max_Age_Seconds": 300,
  "Max_Query_Retries": 3,
  "Use_Cached_Downloads": true,
  "Should_Monitor_Updates": true,
  "Shutdown_Update_Detected_Timer": 900,
  "Shutdown_Update_Detected_Message": "A Workshop mod has been updated. The server will restart in 15 minutes to apply the update. Please finish your current session."
}

Configuration C: Collection-based setup with ignored children

For a server using a Workshop collection but excluding specific child items:

json
{
  "File_IDs": [
    2700000000
  ],
  "Ignore_Children_File_IDs": [
    2700000001,
    2700000002
  ],
  "Query_Cache_Max_Age_Seconds": 600,
  "Max_Query_Retries": 3,
  "Use_Cached_Downloads": true,
  "Should_Monitor_Updates": false,
  "Shutdown_Update_Detected_Timer": 600,
  "Shutdown_Update_Detected_Message": "Workshop update detected. Restarting soon."
}

Appendix B: Diagnostic checklist for Workshop loading failures

Use this checklist when Workshop content fails to appear in-game after configuring Workshop_Download_ID entries.

CheckCommand / locationExpected result
Commands.dat encodingOpen in Notepad++, check Encoding menuUTF-8 or UTF-8 without BOM
Workshop_Download_ID syntaxReview Commands.datOne ID per line, no extra characters or spaces
Workshop item visibilityNavigate to item URL while logged into SteamItem is public and accessible
Server log for download messagesCheck server console output after startup[Workshop] Downloading item <ID> for each ID
Workshop content directoryBrowse Servers/<name>/Workshop/Content/304930/Each item ID has a non-empty subdirectory
WorkshopDownloadConfig.json validityGet-Content WorkshopDownloadConfig.json | ConvertFrom-JsonNo PowerShell errors
Server disk spaceGet-PSDrive C in PowerShellSufficient free space for all Workshop item files
Client Steam statusCheck client's Steam statusOnline, able to reach Steam Workshop

Appendix C: Workshop content and server mod types

Not all Unturned™ Workshop items are equivalent. The server loads different item types differently, and some item types have client-only relevance.

Workshop item typeServer needs it?Client needs it?Notes
MapYes — server loads the mapYes — client renders the mapBoth must have the same version.
Item pack (custom weapons, tools, food)Yes — server manages item spawnsYes — client renders item modelsBoth must have the same version.
Vehicle modYes — server manages vehicle spawnsYes — client renders vehicle modelsBoth must have the same version.
Skin pack (cosmetic only)No — skins are client-renderedYes — client renders the skinsSkin packs are client-only. Do not add to server unless the server needs to manage skin drop logic.
Plugin (RocketMod/OpenMod)Yes — server executes the pluginNo — clients are unaware of server-side pluginsPlugin behavior is server-side only.
NPC modYes — server manages NPC spawns and dialogueYes — client renders NPC modelsBoth must have the same version.

Diagram showing server-required versus client-only Workshop item types

Understanding which item types are server-required versus client-only helps you keep the Workshop_Download_ID list lean — adding client-only content (like cosmetic skin packs) to the server's download list wastes server resources without providing any gameplay benefit.


Staging vs. production Workshop workflow

Running a stable modded server over weeks and months requires a deliberate process for evaluating and applying Workshop updates. The following two-environment workflow is the 57 Studios™ cohort's standard approach.

Two-environment model

EnvironmentPurposeWorkshop update policy
Staging serverTests Workshop updates before they reach playersShould_Monitor_Updates: true; updates applied immediately
Production serverServes real playersShould_Monitor_Updates: false; updates applied manually after staging validation

Update validation checklist

When a Workshop item author publishes an update, run this checklist on staging before restarting production:

  1. Restart staging to pull the new Workshop item version.
  2. Map loads successfully. Confirm the server reaches "listening on port" status without errors.
  3. All custom items present. Spawn one item from each Workshop item pack and verify its model, texture, and stats load correctly.
  4. All custom vehicles spawn. Check at least one vehicle spawn point per custom vehicle type.
  5. No console errors during map load. A clean map load produces no [Error] or [Warning] lines for Workshop content. Investigate any that appear.
  6. 30-minute stress test. Run a minimum of one player for 30 minutes across typical gameplay: looting, building, vehicle use, and combat if PvP is enabled.
  7. On pass: schedule production restart during a low-population window (typically early morning).
  8. On fail: revert by deleting the updated Workshop content directory and restarting staging to reload the cached prior version. File an issue with the mod author describing the regression.

Communicating planned restarts to players

When a production restart is required to apply a validated Workshop update, notify players in advance through:

  • The Shutdown_Update_Detected_Message field in WorkshopDownloadConfig.json (if using automatic monitoring on production).
  • An in-game broadcast via RCON: say Server restarting in 10 minutes for a Workshop update.
  • Discord announcement in your server's announcements channel.

Player experience is significantly better when restarts are pre-announced and happen within a predictable window. The cohort recommendation is a minimum 10-minute advance notice for unplanned restarts and 24-hour notice for scheduled maintenance windows.

Use off-peak hours for Workshop restart windows

For servers in the US, 3 AM–7 AM Eastern is typically the lowest concurrent-player window. For EU servers, the equivalent is 2 AM–6 AM Central European Time. Schedule Workshop-related restarts within these windows to minimize disruption. If you have RCON automation, script the restart to fire automatically after the low-population check passes.


Managing a large Workshop modlist

Servers that run 10 or more Workshop items require additional discipline to remain stable. The following practices reduce the risk of modlist instability.

Document your modlist

Maintain a plaintext record of every Workshop item on the server, including its ID, its Workshop page URL, the purpose it serves on the server, and the date it was added.

# modlist.txt — 57 Studios Washington Modded Server
# Last updated: 2025-05-18

ID: 2480303126
URL: https://steamcommunity.com/sharedfiles/filedetails/?id=2480303126
Purpose: Custom item pack — adds 12 new survival tools and 3 weapon variants
Added: 2025-01-15

ID: 2312075082
URL: https://steamcommunity.com/sharedfiles/filedetails/?id=2312075082
Purpose: Vehicle pack — 4 new off-road vehicles
Added: 2025-02-01

ID: 1991340199
URL: https://steamcommunity.com/sharedfiles/filedetails/?id=1991340199
Purpose: Washington map enhancement — additional POIs, loot rebalance
Added: 2025-03-10

This record is the fastest way to identify which Workshop item is responsible for a problem when debugging.

Mod conflict identification

Workshop item conflicts in Unturned™ most commonly manifest as:

Conflict typeSymptomIdentification approach
Duplicate item IDsItem spawns as wrong type in-gameRemove items one at a time until the conflict disappears; the last removed item caused the conflict
Conflicting loot tablesLoot tables overwrite each other; some items never spawnCheck each mod's loot table files for overlapping spawn groups
Asset bundle name collisionPink/missing textures in-gameCheck each mod's bundle name in Unity; rename if two mods share a bundle name
Duplicate map object GUIDsObjects missing or duplicated on the mapCheck mod changelogs; GUID conflicts require mod author coordination

The standard debugging approach is bisection: remove half the Workshop items, test, then narrow down until the conflicting item is identified.

Capacity planning for player downloads

Each Workshop item a player must download before joining adds to the initial connection time. The following estimates are based on typical Workshop item sizes:

Item typeTypical compressed sizeDownload time on 50 Mbps connection
Small item pack (1–5 items)5–20 MB1–4 seconds
Large item pack (10+ items)20–100 MB4–16 seconds
Vehicle mod (3–5 vehicles)30–80 MB5–13 seconds
Small map enhancement10–50 MB2–8 seconds
Full custom map200–500 MB32–80 seconds

A new player joining a server with five large Workshop items may wait 2–5 minutes for downloads before connecting. High download burden reduces server population — players who would otherwise join decide not to wait. The 57 Studios™ recommendation is to keep the total uncompressed Workshop download under 300 MB for public-facing servers where low join friction matters.


Workshop item lifecycle management

Workshop items are published and maintained by individual community members. Their availability, versioning, and quality are outside your direct control as a server operator. Understanding the Workshop item lifecycle helps you plan for continuity.

Workshop item status transitions

Each transition has implications for servers running the item:

  • Public → Private or Unlisted: New clients cannot download the item. Existing clients with it cached continue to have it until Steam purges the cache. Server continues running from cached files until restart.
  • Any → Removed: On the next server restart, download fails. The server continues without the item's content. New clients cannot download it.
  • Public (updated): If Should_Monitor_Updates is true, the server schedules a restart. If false, the server continues on the cached version until manually restarted.

Contingency planning for removed items

If a Workshop item your server depends on is removed, the options are:

  1. Find a replacement item that provides the same content and update your modlist.
  2. Host the content locally if you have a legitimate copy of the files (and the licensing terms permit this).
  3. Remove the content dependency by adjusting your map's spawn tables or configuration to not reference the removed content.

The 57 Studios™ recommendation is to track the Workshop items you depend on and subscribe to author update notifications where possible. A sudden removal with no warning is the most disruptive event in the Workshop item lifecycle; maintaining contact with your key mod authors significantly reduces this risk.

::: note Keeping a local archive of Workshop files For Workshop items that are central to your server's identity (a signature map, a signature weapon mod), consider maintaining a local archive of the last known-working version of the files. This gives you a fallback if the item is removed or updated destructively. Verify that archiving complies with the mod author's stated usage terms before doing so — most Unturned™ mod authors permit server use but may restrict redistribution. :::


Cross-references

Unturned server browser showing a modded server with workshop content indicators


Document history

VersionDateAuthorNotes
1.02025-05-1857 StudiosInitial publication. Full reference for Workshop_Download_ID, WorkshopDownloadConfig.json, client sync, and version pinning.