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.

Overview
When a dedicated server loads a Workshop item, two things need to happen:
- The server downloads the Workshop item and loads its content into the map.
- 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.
| Step | Who | Mechanism |
|---|---|---|
| Server downloads Workshop item | Server process | Workshop_Download_ID in Commands.dat |
| Server loads Workshop content | Server process | Automatic on map load |
| Client is informed of required Workshop items | Server → Client | During connection handshake |
| Client downloads Workshop items | Client (Steam) | Subscribe-or-autodownload via Steam |
| Client loads Workshop content | Client process | Automatic 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 IDAdding 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 2600000000Find 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 packIf 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.jsonFile 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
| Field | Type | Default | Purpose |
|---|---|---|---|
File_IDs | array 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_IDs | array 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_Seconds | integer | 600 | How 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_Retries | integer | 3 | Number of times the server retries a failed Workshop item query before giving up. |
Use_Cached_Downloads | boolean | true | Whether 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_Updates | boolean | true | Whether the server monitors subscribed Workshop items for updates while running and schedules a restart when an update is detected. |
Shutdown_Update_Detected_Timer | integer | 600 | Seconds 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_Message | string | (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:
- Your server is running a custom vehicle mod (Workshop ID
2480303126). - The mod author publishes a new version with a breaking change — renamed asset IDs that conflict with your map's vehicle spawn points.
- The server's
Should_Monitor_Updatesflag detects the update and schedules a restart. - 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:
| Strategy | How it works | Trade-offs |
|---|---|---|
| Disable update monitoring | Set Should_Monitor_Updates: false in WorkshopDownloadConfig.json | Server 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 mirror | Download the Workshop item's files, host them on a local server, load from local path instead of Steam | Full version control. No Steam dependency for content. High operational overhead — requires managing the local mirror. |
| Coordinate with mod authors | Request that mod authors use Steam Workshop branches for stable/testing versions | The 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:
- Steam is running. The Workshop download system is managed by the Steam client. Unturned™ cannot download Workshop content without Steam.
- The client can reach Steam's Workshop servers. Firewalls, VPN configurations, or Steam outages that block Workshop download will prevent the client from joining.
- 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.
- 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:
| Item | Workshop URL | ID |
|---|---|---|
| Custom item pack | ?id=2480303126 | 2480303126 |
| Vehicle mod | ?id=2312075082 | 2312075082 |
| Map enhancement | ?id=1991340199 | 1991340199 |
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 27016Step 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
| Pitfall | Symptom | Resolution |
|---|---|---|
| Workshop item made private by author | Server download fails silently; item missing in-game | Contact the mod author or find an alternative mod. The server cannot download private items. |
| Workshop item deleted from Workshop | Same as private; download fails silently | Remove the Workshop_Download_ID line. Find an alternative or host the files locally if you have a copy. |
| Dependencies out of order | Map loads but dependent objects are missing | Reorder Workshop_Download_ID lines so dependencies appear before dependents. |
| Workshop download during map load | Race condition where items load too late | This 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 download | Download incomplete; item missing in-game | Free disk space. The server requires enough space for all Workshop item files plus the map data. |
| WorkshopDownloadConfig.json malformed JSON | Server ignores the file or fails to start | Validate JSON with a linter before saving. |
| Mod author updates a Workshop item with breaking changes | Server picks up the update on restart; content breaks | Set Should_Monitor_Updates: false and test updates on a staging server before applying to production. |
| Server and client on different versions of a Workshop item | Content desync; visual inconsistencies or connection refusal | Ensure 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 item | Possible content mismatch | Steam 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.
| Check | Command / location | Expected result |
|---|---|---|
| Commands.dat encoding | Open in Notepad++, check Encoding menu | UTF-8 or UTF-8 without BOM |
| Workshop_Download_ID syntax | Review Commands.dat | One ID per line, no extra characters or spaces |
| Workshop item visibility | Navigate to item URL while logged into Steam | Item is public and accessible |
| Server log for download messages | Check server console output after startup | [Workshop] Downloading item <ID> for each ID |
| Workshop content directory | Browse Servers/<name>/Workshop/Content/304930/ | Each item ID has a non-empty subdirectory |
| WorkshopDownloadConfig.json validity | Get-Content WorkshopDownloadConfig.json | ConvertFrom-Json | No PowerShell errors |
| Server disk space | Get-PSDrive C in PowerShell | Sufficient free space for all Workshop item files |
| Client Steam status | Check client's Steam status | Online, 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 type | Server needs it? | Client needs it? | Notes |
|---|---|---|---|
| Map | Yes — server loads the map | Yes — client renders the map | Both must have the same version. |
| Item pack (custom weapons, tools, food) | Yes — server manages item spawns | Yes — client renders item models | Both must have the same version. |
| Vehicle mod | Yes — server manages vehicle spawns | Yes — client renders vehicle models | Both must have the same version. |
| Skin pack (cosmetic only) | No — skins are client-rendered | Yes — client renders the skins | Skin 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 plugin | No — clients are unaware of server-side plugins | Plugin behavior is server-side only. |
| NPC mod | Yes — server manages NPC spawns and dialogue | Yes — client renders NPC models | Both must have the same version. |

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
| Environment | Purpose | Workshop update policy |
|---|---|---|
| Staging server | Tests Workshop updates before they reach players | Should_Monitor_Updates: true; updates applied immediately |
| Production server | Serves real players | Should_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:
- Restart staging to pull the new Workshop item version.
- Map loads successfully. Confirm the server reaches "listening on port" status without errors.
- All custom items present. Spawn one item from each Workshop item pack and verify its model, texture, and stats load correctly.
- All custom vehicles spawn. Check at least one vehicle spawn point per custom vehicle type.
- No console errors during map load. A clean map load produces no
[Error]or[Warning]lines for Workshop content. Investigate any that appear. - 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.
- On pass: schedule production restart during a low-population window (typically early morning).
- 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_Messagefield inWorkshopDownloadConfig.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-10This 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 type | Symptom | Identification approach |
|---|---|---|
| Duplicate item IDs | Item spawns as wrong type in-game | Remove items one at a time until the conflict disappears; the last removed item caused the conflict |
| Conflicting loot tables | Loot tables overwrite each other; some items never spawn | Check each mod's loot table files for overlapping spawn groups |
| Asset bundle name collision | Pink/missing textures in-game | Check each mod's bundle name in Unity; rename if two mods share a bundle name |
| Duplicate map object GUIDs | Objects missing or duplicated on the map | Check 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 type | Typical compressed size | Download time on 50 Mbps connection |
|---|---|---|
| Small item pack (1–5 items) | 5–20 MB | 1–4 seconds |
| Large item pack (10+ items) | 20–100 MB | 4–16 seconds |
| Vehicle mod (3–5 vehicles) | 30–80 MB | 5–13 seconds |
| Small map enhancement | 10–50 MB | 2–8 seconds |
| Full custom map | 200–500 MB | 32–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_Updatesis 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:
- Find a replacement item that provides the same content and update your modlist.
- Host the content locally if you have a legitimate copy of the files (and the licensing terms permit this).
- 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
- Server Config Files: Commands.dat, Players.dat, Config.json — the previous article; Commands.dat syntax and the full server configuration file reference.
- RocketMod and OpenMod Plugin Basics — the next article; plugin frameworks for extended server management.
- Setting Up Your Server Panel — initial server installation walkthrough.
- Gun Mod Tutorial — 57 Studios guide for authoring a Workshop-compatible custom weapon.
- Smartly Dressed Games Unturned Server Documentation — the official server and Workshop documentation.
- Unturned on Steam — Unturned™ Steam page; Workshop item submissions live here.

Document history
| Version | Date | Author | Notes |
|---|---|---|---|
| 1.0 | 2025-05-18 | 57 Studios | Initial publication. Full reference for Workshop_Download_ID, WorkshopDownloadConfig.json, client sync, and version pinning. |
