Server Log Error Reference
A dedicated server that fails to start or crashes during gameplay produces diagnostic output in the server console and in the Server_<ID>.log file. The error messages that the Unturned™ engine writes to these logs are the primary diagnostic signal for map-related server issues. Each error message follows a structure that encodes the error category, the affected asset or system, and the specific failure. Learning to read these error messages -- to extract the relevant information from the log entry and to map it to a known failure mode with a validated fix -- is the skill that separates a server operator who can resolve issues independently from one who must ask for help on every server crash.
This article is a comprehensive reference of server log error messages related to maps. It is organized as a set of reference tables, each covering a specific error category: asset load errors, navmesh errors, spawn errors, terrain errors, GUID conflict errors, missing bundle errors, level parsing errors, network replication errors, save data errors, Workshop download errors, and permission errors. Each table entry includes the exact or representative error message, the most likely cause, the diagnostic steps to confirm the cause, and the validated resolution procedure.
This article is primarily a reference rather than a tutorial. The error messages documented here are drawn from the 57 Studios™ cohort's operational experience across dozens of dedicated servers running custom maps. The error message text is representative of what the Unturned™ engine outputs; exact wording may vary slightly between game versions.

Prerequisites
- Access to the dedicated server's console output or the
Server_<ID>.logfile. - A text editor for reading log files (Notepad++ or equivalent).
- Access to the server's
Commands.dat,WorkshopDownloadConfig.json, and configuration files. - Access to the map folder on the server (or the Workshop cache if the map is installed through the Workshop).
- Familiarity with the server startup sequence as documented in Setting Up an Unturned Server.
- Familiarity with the map file structure:
Level/,Bundles/,Config.json, and the level.assetfile.
What you will learn
- How to read a server log error message and extract the relevant diagnostic information.
- How to identify the error category from the error message structure.
- How to apply the validated fix for each documented error message.
- How to distinguish between server configuration errors and map content errors.
- How to diagnose cascade failure patterns where a single root cause produces multiple error messages.
- How to use the error reference tables as a quick diagnostic tool during server troubleshooting.
Background: how the server writes log messages
The Unturned™ dedicated server writes log messages to two surfaces: the console window (visible in real time during server operation) and the Server_<ID>.log file (persistent across server restarts). The log file is located in the server's installation directory under Servers/<ServerID>/. The <ServerID> is the directory name that corresponds to the server instance.
Log message structure
A typical server log message follows this structure:
[Category] [Timestamp] MessageThe category indicates which engine subsystem produced the message. The timestamp indicates when the message was written. The message is the human-readable description of the event or error.
Error message categories
| Category | Subsystem | Error types in this category |
|---|---|---|
Asset | Asset loading and bundle resolution | Missing assets, bundle load failures, GUID conflicts |
Navigation | Navmesh and AI pathfinding | Navmesh load failures, bake errors, agent type errors |
Spawn | Spawn table and item generation | Missing spawn entries, invalid item IDs, table parse errors |
Terrain | Terrain loading and material resolution | Heightmap errors, terrain material errors, layer configuration errors |
Level | Level file parsing and initialization | Level .asset errors, Config.json errors, map not found |
Network | Network replication and synchronization | Object replication errors, late-join sync errors |
Save | Save data reading and writing | Corrupted save files, version mismatch in save data |
Workshop | Workshop content download and installation | Download failures, cache corruption, missing Workshop items |
Console | Command parsing and execution | Invalid commands in Commands.dat, command argument errors |
How to use this reference
When a server error occurs, follow these steps:
- Identify the error message in the console output or the
Server_<ID>.logfile. - Note the error category and the exact message text.
- Locate the matching entry (or entries) in the reference tables below.
- Read the cause and diagnosis columns to confirm the root cause.
- Apply the validated fix from the resolution column.
- Restart the server and confirm the error does not recur.
If the error message does not match any entry in the tables, search for the most distinctive keyword in the message (the asset path, the GUID, the category name) and look for related entries. Cascade failures often produce messages that do not directly match the root cause but share a keyword with the root cause.
Asset load errors
Asset load errors are the most common category of map-related server errors. They occur when the server attempts to load an asset from a bundle and the asset cannot be found, the bundle cannot be read, or the asset's GUID conflicts with another loaded asset.
| Error message (representative) | Cause | Diagnosis | Resolution |
|---|---|---|---|
Asset: Failed to load bundle: Bundles/<name>.unity3d | The bundle file does not exist at the specified path, or the file is corrupt. | Confirm the bundle file exists in the Bundles/ directory on the server. Check the file size (zero-byte bundles indicate failed builds). | Copy the correct bundle file to the server's Bundles/ directory at the expected relative path. If the bundle is corrupt, rebuild from Unity Editor. |
Asset: Could not resolve GUID: <GUID> | An asset reference points to a GUID that is not present in any loaded bundle. | Search the server logs for the GUID. Check whether the referenced asset was removed from the bundle or whether a dependency Workshop item is missing. | Rebuild the bundle with the referenced asset included. If the asset is from a Workshop dependency, ensure the dependency is installed. |
Asset: GUID conflict between <path_A> and <path_B> | Two loaded assets share the same GUID. | The log entry includes both asset paths. Open both assets in Unity Editor and inspect their project resource files for the conflicting GUID. | Regenerate the GUID for one asset by deleting its Unity resource file and re-importing the asset. Rebuild the bundle. |
Asset: Missing asset: <GUID or path> | A prefab, texture, or material referenced by the map's level data cannot be found. | The log entry includes the missing asset's identifier. Check whether the asset exists in the Unity project and is assigned to the correct bundle. | Add the missing asset to the bundle in Unity Editor. Rebuild the bundle. Re-upload the map. |
Asset: Failed to load master bundle: <name> | The master bundle referenced in the level .asset or in the MasterBundle.dat file cannot be found. | Open the level .asset file and verify the Bundle field. Confirm the master bundle file exists at the expected path. | Correct the bundle name in the level .asset or copy the master bundle file to the correct path. |
Asset: Texture not found: <texture path> | A material references a texture that was not included in the bundle build. | The log entry includes the texture path. Open the material in Unity Editor and verify the texture assignment. | Include the texture in the bundle build. Rebuild the bundle. |
Asset: Material not found: <material path> | A prefab's renderer references a material that is not present in any loaded bundle. | The log entry includes the material path. Open the prefab in Unity Editor and verify the material assignment. | Include the material in the bundle build. Convert the material to use a vanilla Unturned™ shader if the custom shader is causing the issue. |
Asset: Mesh not found: <mesh path> | A mesh filter references a mesh that is not present in the bundle or is corrupt. | The log entry includes the mesh path. Open the prefab in Unity Editor and verify the mesh filter assignment. | Include the mesh in the bundle build. If the mesh is corrupt, re-export from the modeling application. |
Asset: Audio clip not found: <clip path> | An audio source references an audio clip that is not present in any loaded bundle. | The log entry includes the audio clip path. Open the audio source in Unity Editor and verify the clip assignment. | Include the audio clip in the bundle build. Verify the audio import settings (sample rate, compression) are correct. |
Navmesh errors
Navmesh errors occur when the server attempts to load the navmesh data and encounters an invalid bake, missing agent type configuration, or overlapping navmesh bounds.
| Error message (representative) | Cause | Diagnosis | Resolution |
|---|---|---|---|
Navigation: Failed to load navmesh for level | The navmesh data was not baked, was not included in the bundle, or is corrupt. | Open the map in Unity Editor and confirm the navmesh is baked. Check the Bundles/ directory for the navmesh data files. | Bake the navmesh in Unity Editor with the correct agent settings. Include the navmesh data in the bundle build. |
Navigation: Navmesh agent type not found: <agentType> | The map references an agent type (e.g., zombie, animal, vehicle) that was not configured in the navmesh bake settings. | Open the Navigation window in Unity Editor. Check the Agents tab for the referenced agent type. | Add the missing agent type to the Navigation window's Agents tab. Re-bake the navmesh. |
Navigation: Overlapping navmesh bounds detected | Two or more navmesh surfaces overlap, causing AI pathfinding conflicts. | Open the navmesh editor in Unity Editor. Inspect the bounds visualisation. Identify overlapping regions. | Adjust navmesh bounds to eliminate overlaps. Re-bake. |
Navigation: Navmesh surface has no walkable area | A navmesh surface was baked but the bake settings (agent radius, height, slope) exclude all geometry from the walkable area. | Check the bake settings in Unity Editor. Confirm the agent radius and height are appropriate for the map's terrain and object geometry. | Reduce the agent radius or increase the agent height. Re-bake with corrected settings. |
Navigation: Off-mesh link invalid: <linkID> | An off-mesh link (stairway, doorway, jump point) references a start or end point that is not on a valid navmesh surface. | Open the navmesh editor in Unity Editor. Locate the off-mesh link with the reported ID. Verify both endpoints are on baked navmesh. | Reposition the off-mesh link endpoints so that both touch the baked navmesh surface. Re-bake. |
Navigation: Failed to find path from start to destination | The AI attempted to find a path but no valid navmesh path exists between the start point and the destination. | This error is not always a navmesh bake issue. It can occur when the start or destination point is not on any navmesh surface. | Verify the start and destination points are on baked navmesh. If they are, the navmesh may have a gap. Re-bake with corrected bounds. |
Spawn errors
Spawn errors occur when the server attempts to generate items, zombies, animals, or vehicles from the map's spawn tables and the referenced entries are invalid or missing.
| Error message (representative) | Cause | Diagnosis | Resolution |
|---|---|---|---|
Spawn: Failed to find item: <itemID> | A spawn table entry references an item ID that is not registered in any loaded mod. | Open the map's spawn table .dat files. Search for the reported item ID. Confirm the ID exists in a loaded Workshop dependency. | Remove the invalid item ID from the spawn table. Replace with a valid ID from a loaded mod. |
Spawn: Failed to spawn zombie: <zombieType> | A zombie spawn table entry references a zombie type that does not exist in any loaded mod. | Open the zombie spawn table .dat file. Search for the reported zombie type. | Remove the invalid zombie type. Replace with a valid zombie type from the base game or a loaded mod. |
Spawn: Spawn table parse error: <tablePath> | A spawn table .dat file contains a syntax error that prevents the parser from reading it. | Open the reported .dat file. Look for malformed lines (missing colons, invalid values, incorrect array syntax). | Correct the syntax error. Validate the file structure against the spawn table format reference. |
Spawn: Invalid spawn table tier: <tablePath> | A spawn table .dat file has a tier entry with no items. | Open the reported .dat file. Check each tier block for at least one item entry. | Add at least one item entry to each tier, or remove the empty tier. |
Spawn: Vehicle spawn failed: <vehicleID> | A vehicle spawn table entry references a vehicle asset that is not loaded. | Open the vehicle spawn table .dat file. Verify the referenced vehicle ID exists in a loaded mod. | Remove the invalid vehicle ID or add the missing dependency. |
Spawn: Animal spawn failed: <animalID> | An animal spawn table entry references an animal type that is not loaded. | Open the animal spawn table .dat file. Verify the referenced animal ID exists in a loaded mod. | Remove the invalid animal ID or add the missing dependency. |
Spawn: Container reference not found: <containerID> | A lootable container references a spawn table ID that does not exist in any loaded spawn table file. | Open the level data that defines the container. Verify the container's spawn table ID matches a table in the map's spawn table files. | Correct the container's spawn table reference to match an existing table ID. |
Terrain errors
Terrain errors occur when the server attempts to load the map's terrain data and encounters missing or corrupt heightmap, splatmap, or material layer data.
| Error message (representative) | Cause | Diagnosis | Resolution |
|---|---|---|---|
Terrain: Failed to load heightmap | The terrain heightmap data is missing from the level folder or is corrupt. | Check the Level/ directory for heightmap data files. Compare the file size against a known good version. | Restore the heightmap from a backup. If no backup exists, re-export the terrain from the editor. |
Terrain: Failed to load terrain material | A terrain layer material (splatmap texture) is missing or corrupt. | Check the terrain material references in the Unity Editor. Verify every terrain layer has a valid material assigned. | Re-assign the terrain materials. Rebuild the terrain data. Re-export the level. |
Terrain: Terrain layer index out of range | The terrain splatmap references a layer index that does not exist in the terrain material configuration. | Open the terrain settings in Unity Editor. Count the terrain layers. Verify the splatmap data references only existing layers. | Re-paint the terrain layers. Re-export the terrain. |
Terrain: Failed to load detail layer: <layerIndex> | A foliage or detail mesh layer is missing or corrupt. | Check the terrain detail layer configuration in Unity Editor. Verify each detail layer has a valid mesh or texture assigned. | Re-assign the detail layer meshes. Rebuild the detail data. |
Terrain: Tree instance data corrupt | The tree placement data file is corrupt. | This error typically occurs after a crash during a terrain save operation. The tree data file is partially written. | Restore the tree data from a backup. If no backup exists, re-place trees in the affected area. |
GUID conflict errors
GUID conflict errors are a specific subclass of asset load errors. They are documented separately here because the resolution procedure differs from general missing-asset errors.
| Error message (representative) | Cause | Diagnosis | Resolution |
|---|---|---|---|
Asset: GUID conflict between Workshop_<ID_A> and Workshop_<ID_B> | Two different Workshop items contain assets with identical GUIDs. | The log entry includes both Workshop IDs. Open each item's Workshop page to identify the conflicting assets. | Contact the author of one Workshop item to request a GUID regeneration, or remove the dependency on one item. |
Asset: GUID conflict between map bundle and vanilla asset | Extremely rare. The map's custom asset has a GUID that collides with a vanilla game asset. | The vanilla GUID namespace is separate from the custom asset namespace. If a conflict occurs, the custom asset GUID was generated incorrectly. | Delete the custom asset's project resource file and re-import it into Unity to regenerate the GUID. |
Asset: GUID conflict across master bundle and nested bundle | The master bundle and a nested .unity3d bundle contain assets with the same GUID. | This occurs when the same asset was included in both the master bundle and a nested bundle during the build process. | Rebuild the bundles with each asset assigned to exactly one bundle. Remove duplicate assignments. |
Asset: GUID <GUID> already registered | The engine's asset registry has already registered an asset with this GUID when a second asset with the same GUID is loaded. | The log entry includes the duplicate GUID. Search the server's loaded assets for other references to this GUID. | Rebuild the bundle that contains the duplicate. Ensure each asset has a unique GUID. |
Missing bundle errors
Missing bundle errors occur when the server cannot find a required asset bundle file at the expected location.
| Error message (representative) | Cause | Diagnosis | Resolution |
|---|---|---|---|
Asset: Bundle not found: Bundles/<name>.unity3d | The bundle file is not present in the server's Bundles/ directory. | Check the Bundles/ directory structure on the server. Confirm the file exists at the exact relative path. | Copy the bundle file from the map folder to the server's Bundles/ directory at the correct path. |
Asset: Master bundle file not found: <name> | The master bundle .dat file or the built master bundle file is missing. | Check the Bundles/ directory for the MasterBundle.dat file and the built master bundle file. | Rebuild the master bundle in Unity Editor. Copy both the .dat and the built bundle file to the server. |
Asset: Workshop item <ID> bundle not found | The server's Workshop download for this item failed or the Workshop cache is corrupted. | Check the server's Workshop cache at the Steam installation's workshop directory. Look for the item's folder. | Re-add the Workshop ID to WorkshopDownloadConfig.json. Clear the Workshop cache for the item. Restart the server. |
Asset: Dependency bundle not found: <dependencyName> | A bundle that the map depends on (referenced in a MasterBundle.dat dependency field) is not loaded. | Check the map's MasterBundle.dat for dependency references. Verify each dependency bundle is present. | Add the missing dependency bundle to the Bundles/ directory or remove the dependency reference. |
Level parsing errors
Level parsing errors occur when the server attempts to read the level .asset file, Config.json, or other map configuration files and encounters malformed data.
| Error message (representative) | Cause | Diagnosis | Resolution |
|---|---|---|---|
Level: Map not found: <mapName> | The server's Commands.dat Map command references a map name that does not match any folder in the Maps/ directory. | Verify the Map command in Commands.dat matches the map folder name exactly, including case. | Correct the Map command to match the folder name. |
Level: Failed to parse level asset: <assetPath> | The level .asset file is malformed or uses an unsupported version. | Open the level .asset file. Check for syntax errors or corrupt binary data. | Restore the level .asset from a backup. If no backup exists, re-export the level from the editor. |
Level: Config.json parse error | The Config.json file contains invalid JSON syntax. | Open Config.json in a JSON validator. Identify the syntax error (missing comma, trailing comma, unquoted key). | Correct the JSON syntax. Re-upload the map. |
Level: Config.json version field missing | The Version field is absent from Config.json. | Open Config.json and verify the Version field is present and set to a valid version string. | Add the Version field with an appropriate version number. |
Level: Level asset version mismatch | The level .asset file was created with a different version of the Unturned™ editor and is not compatible with the current game version. | Check the version field in the level .asset. Compare against the current game version's expected format. | Re-open the map in the current version of the editor. Re-save the level .asset. Re-export. |
Level: Scene data missing: <sceneName> | The level's scene data (object placements, lighting data) is missing from the Level/ directory. | Check the Level/ directory for the expected scene data files. Compare against a known good version. | Re-export the level from the editor. Restore missing scene data files from backup. |
Network replication errors
Network replication errors occur when the server attempts to synchronize map state to connecting clients and encounters an issue with an object that cannot be replicated.
| Error message (representative) | Cause | Diagnosis | Resolution |
|---|---|---|---|
Network: Failed to replicate entity: <entityID> | An object in the level cannot be replicated to a connecting client. The most common cause is a missing or broken network identity component on the object's prefab. | Open the referenced entity's prefab in Unity Editor. Verify it has a Network Identity component (or equivalent) attached. | Add the Network Identity component to the prefab. Rebuild the bundle. |
Network: Entity limit reached | The map has more entities (objects, zombies, items) than the server's entity limit configuration allows. | Check the server's Config.json or Commands.dat for entity limit settings. Count the entities in the map. | Increase the entity limit on the server, or reduce the number of entities in the map. |
Network: Late-join sync failed for player <steamID> | A player who joined after the server was already running failed to receive a complete world state sync. | This error can be caused by network latency, server performance issues, or corrupted world state data. | Restart the server. If the error persists, check for save data corruption. |
Network: Object <objectID> has no network view | A placed object in the level does not have a network view component, so it cannot be replicated to clients. | Open the object's prefab in Unity Editor. Verify it has a network view component. | Add a network view component to the prefab. Rebuild the bundle. |
Save data errors
Save data errors occur when the server attempts to read or write the map's save data (player inventories, world state, buildables) and encounters corrupt or incompatible data.
| Error message (representative) | Cause | Diagnosis | Resolution |
|---|---|---|---|
Save: Failed to load save data for level | The save data file for the map is corrupt or was written by an incompatible version. | Check the server's save directory for the map's save files. Compare the file size against a known good version. | Restore the save data from a backup. If no backup exists, delete the save data and allow the server to generate fresh data. |
Save: Save data version mismatch | The save data was written by a different version of the map and the data format is incompatible. | This error occurs after a map update that changed the save data format (a breaking change). | If the map update introduced a breaking change, existing save data is not compatible. Server operators must delete old save data and start fresh. |
Save: Failed to write save data | The server's disk is full, the save directory is not writable, or the save file is locked by another process. | Check the server's disk space. Verify the save directory permissions. Confirm no other process has the save file open. | Free disk space. Correct directory permissions. Stop any process that has the save file open. |
Save: Item ID <itemID> in save data not found in loaded assets | A saved player inventory contains an item whose ID no longer exists in the map's asset set (because the item was removed in an update). | The save data references an item that was removed from the map's bundles in a previous update. | The saved item cannot be recovered. The engine typically deletes the unknown item from the inventory on next load. |
Workshop download errors
Workshop download errors occur when the server fails to download Workshop content that is required for the map to load.
| Error message (representative) | Cause | Diagnosis | Resolution |
|---|---|---|---|
Workshop: Failed to download item: <itemID> | The server's Steam client could not download the Workshop item. The most common causes are network issues or Steam maintenance. | Check the server's internet connection. Verify the Steam client is logged in and functional. | Retry the download by restarting the server. If the failure persists, check Steam's status page for service interruptions. |
Workshop: Item <itemID> not found | The Workshop item ID in WorkshopDownloadConfig.json is incorrect, or the item was deleted from the Workshop. | Verify the Workshop ID by opening the item's Workshop URL. Confirm the ID in WorkshopDownloadConfig.json matches. | Correct the Workshop ID. If the item was deleted, remove the reference and find a replacement. |
Workshop: Cache corruption for item <itemID> | The locally cached version of a Workshop item is corrupt. | This error typically occurs after an incomplete download or a disk write error during a previous server session. | Delete the Workshop cache folder for the affected item. Restart the server to trigger a fresh download. |
Workshop: Dependency not satisfied: <itemID> | The server is missing a Workshop item that a loaded Workshop item depends on. | Check the Workshop item's description for dependency references. The item may require other Workshop items to function. | Add the missing dependency item's ID to WorkshopDownloadConfig.json. Restart the server. |
Command and configuration errors
Command and configuration errors occur when the server's configuration files contain invalid commands or settings.
| Error message (representative) | Cause | Diagnosis | Resolution |
|---|---|---|---|
Console: Unknown command: <command> | The Commands.dat file contains a command that the server does not recognize. | Open Commands.dat and locate the unknown command. Check for typos or commands that were valid in older game versions. | Remove or correct the unknown command. |
Console: Invalid argument for command: <command> | A valid command has an invalid argument value. | Check the command's argument format. For example, Map requires a map folder name, not a file path. | Correct the argument to match the expected format. |
Config: Invalid JSON in WorkshopDownloadConfig.json | The JSON syntax in WorkshopDownloadConfig.json is malformed. | Open the file in a JSON validator. Identify the syntax error. | Correct the JSON syntax. Ensure the File_IDs array is properly formatted. |
Config: WorkshopDownloadConfig.json missing | The server cannot find the WorkshopDownloadConfig.json file. | Check the server's configuration directory. The file must be in the same directory as Commands.dat. | Create the file with an empty File_IDs array if no Workshop items are needed. |
Config: Port <port> already in use | The server's configured port is occupied by another process. | Check which process is using the port with netstat. | Change the server's port in Commands.dat or stop the process using the port. |
Frequently asked questions
Where is the server log file located?
The server log file is at U3DS/Servers/<ServerID>/Server_<ID>.log. The <ServerID> is the directory name that corresponds to the server instance. On a default installation, the first server instance is typically Default.
Why do I see multiple error messages for the same issue?
A single root cause can produce multiple error messages. For example, a missing master bundle can produce a bundle load error, followed by multiple missing asset errors for every prefab that the master bundle was supposed to contain, followed by spawn errors for items that reference those prefabs. The cascade pattern means that the first error message in the sequence (the earliest timestamp) is typically the root cause.
How do I distinguish between a server configuration error and a map content error?
Server configuration errors typically appear in the Console or Config categories and reference settings in Commands.dat, WorkshopDownloadConfig.json, or server configuration files. Map content errors typically appear in the Asset, Navigation, Spawn, Terrain, or Level categories and reference the map's specific assets, files, or data.
If the error message includes a path or identifier that ends with .unity3d, .masterbundle, .dat, .asset, or a Workshop item ID, it is a map content error. If the error message references a command name or configuration field, it is a server configuration error.
Can a server error be caused by a corrupt Workshop cache?
Yes. A corrupt Workshop cache is one of the most common causes of asset load errors and missing bundle errors on dedicated servers. The cache can become corrupt after an incomplete download, a disk write error, or a Steam client update that reorganizes the cache directory. Clearing the cache for the affected Workshop item and restarting the server resolves cache-corruption errors.
What should I do if an error message does not match any entry in this reference?
If an error message does not match any entry in the reference tables, extract the most distinctive keywords from the message (the category, the asset path, the GUID, the numeric ID) and search for those keywords in other diagnostic resources. The 57 Studios™ cohort recommendation is to also check the official SDG documentation and the -ValidateAssets output for related issues.
If the error message is not documented anywhere, the cohort recommendation is to capture the full error message, the server configuration, and the map version, and to create a diagnostic record that can be shared with other server operators who may encounter the same error.
Can a server error damage the map's files on the Workshop?
No. Server errors do not affect the Workshop entry. The Workshop stores the map's files on Valve's CDN. The server loads a local copy of the map from its Workshop cache. A server error may corrupt the local cache, but it cannot modify the Workshop entry or the CDN files. Clearing the server's cache and re-downloading the map resolves the issue.
My server crashes every time a specific map loads. What is the most likely cause?
The most likely cause is a missing Workshop dependency. The map references items, zombies, or vehicles from a Workshop mod that is not installed on the server. The server loads the terrain and objects but crashes when it attempts to populate the loot tables or spawn zombies. The fix is to add the missing Workshop dependency's ID to WorkshopDownloadConfig.json.
Why does the server log show a GUID conflict but the client log does not?
The server and client load assets in a different order and may load different sets of Workshop items. A GUID conflict that appears only on the server indicates that the server is loading two Workshop items that conflict, while the client is not loading one of them. The resolution is to identify the conflicting items and remove one from the server's WorkshopDownloadConfig.json.
How do I check the server's asset registry for GUID conflicts?
The server log reports GUID conflicts automatically. If no GUID conflict is reported in the log but you suspect a conflict (assets rendering with incorrect geometry or textures), the most reliable diagnostic method is to load the same map on a client with -ValidateAssets enabled. The client validation may detect GUID conflicts that the server does not explicitly report.
Best practices
- Read the server log from the beginning of the startup sequence. The first error is usually the root cause.
- Clear the server's Workshop cache before troubleshooting persistent asset loading errors.
- Maintain a log of server errors and their resolutions for future reference.
- Test every map update on a test server before deploying it to a production server.
- Keep server configuration files version-controlled so that changes can be tracked and rolled back.
- Run
-ValidateAssetson the map before deploying it to a server, even if the map was already validated for Workshop publication. - Document the server's Workshop dependency list and verify it matches the map's requirements after every map update.
Advanced considerations
Server error log rotation
The server log file grows over time. On a heavily used server, the log file can reach hundreds of megabytes. The cohort recommendation is to implement log rotation: archive the current log file daily and start a fresh log file. Archived logs can be compressed and retained for 30 days for diagnostic reference.
Silent failures
Not all map issues produce log errors. Some issues -- items that do not spawn but produce no error, zombies that stand still on a bad navmesh but produce no navigation error, custom assets that render with a slightly wrong material but produce no asset error -- are silent. The log is not a complete diagnostic surface. Server operators should periodically connect to the server and verify the gameplay experience directly.
Error rate trending
Tracking the frequency of specific error messages over time can reveal patterns. A sudden increase in network replication errors after a map update, for example, indicates that the update introduced objects with broken network components. The cohort recommendation is to track error message frequency per map version and to alert when the frequency exceeds the baseline for the previous version.
Appendix A: Quick-reference diagnostic card
The following card condenses the diagnostic workflow into a single reference block.
SERVER LOG DIAGNOSTIC CARD
============================
1. Locate the error log: U3DS/Servers/<ID>/Server_<ID>.log
2. Read the FIRST error in the startup sequence (root cause).
3. Categorize by keyword:
Asset: Bundle, GUID, missing texture/material/mesh
Navmesh: Failed to load navmesh, agent type, overlap
Spawn: Failed to find item/zombie, parse error
Terrain: Heightmap, material, layer index, detail layer
Level: Map not found, parse error, version mismatch
Network: Failed to replicate, entity limit, late-join
Save: Failed to load/write, version mismatch
Workshop: Failed to download, cache corruption, not found
Console: Unknown command, invalid argument, missing config
4. Apply the table fix for the category.
5. Cascade? If multiple errors, fix the first one and restart.
6. If the error persists, clear the Workshop cache and retry.Appendix B: Common server error cascade patterns
| First error | Cascade errors produced | Root cause |
|---|---|---|
Asset: Bundle not found | Asset: Missing asset x many, Spawn: Failed to find item x many | Missing or corrupt bundle file |
Asset: GUID conflict | Asset: Missing asset for one of the conflicting assets | Duplicate GUID in two bundles |
Workshop: Cache corruption | Asset: Workshop item bundle not found, then cascade to missing assets | Corrupt Workshop cache file |
Level: Map not found | No cascade; server stops immediately | Incorrect Map command in Commands.dat |
Save: Save data version mismatch | Save: Item ID not found x many | Breaking map update without save data reset |
Appendix C: Server error log keyword search reference
| Keyword | Likely error category | Recommended action |
|---|---|---|
Failed to load bundle | Asset | Verify bundle file exists and is not corrupt |
GUID conflict | Asset | Regenerate one of the conflicting GUIDs |
Missing asset | Asset | Identify the missing asset and add it to the bundle |
Failed to load navmesh | Navigation | Re-bake the navmesh with correct settings |
Overlapping navmesh bounds | Navigation | Adjust navmesh bounds and re-bake |
Failed to find item | Spawn | Remove invalid item ID from spawn table |
Failed to spawn zombie | Spawn | Remove invalid zombie type from spawn table |
Spawn table parse error | Spawn | Fix syntax error in the .dat file |
Failed to load heightmap | Terrain | Restore or re-export terrain heightmap |
Map not found | Level | Correct the Map command case |
Config.json parse error | Level | Fix JSON syntax in Config.json |
Failed to replicate entity | Network | Add network identity component to the object |
Failed to load save data | Save | Restore save data from backup or delete it |
Failed to download item | Workshop | Check network and Steam client status |
Cache corruption | Workshop | Clear Workshop cache and re-download |
Unknown command | Console | Remove or correct the command in Commands.dat |
Worked example: diagnosing a server crash from log output
The worked example below traces a real server crash from the initial error message through to the root cause and fix.
Initial symptom
The dedicated server crashes approximately 30 seconds after starting. The console window closes before the error messages can be read. The server operator opens the Server_Default.log file and finds the following entries:
[14:02:01] Starting server: Timber Valley
[14:02:03] Loading level: Timber Valley
[14:02:05] Loading bundle: TimberValley_MasterBundle
[14:02:06] Workshop: Cache corruption for item: 2480303126
[14:02:06] Asset: Failed to load bundle: Bundles/TimberValley_MasterBundle.unity3d
[14:02:06] Asset: Failed to load master bundle: TimberValley_MasterBundle
[14:02:06] Asset: Bundle not found: Bundles/TimberValley_MasterBundle.unity3d
[14:02:07] Asset: Missing asset: a1b2c3d4e5f6
[14:02:07] Asset: Missing asset: b2c3d4e5f6a7
[14:02:07] Asset: Missing asset: c3d4e5f6a7b8
[14:02:08] CRITICAL: Aborting level loadStep 1: Identify the first error
The first error in the sequence is the Workshop cache corruption entry, followed immediately by the bundle load failure. The Workshop cache corruption is the root cause: the server's cached copy of Workshop item 2480303126 (the Timber Valley map) is corrupt, and the server cannot read the master bundle from the corrupt cache.
Step 2: Confirm with the cascade pattern
The cascade errors confirm the diagnosis: a single corrupt cache file produces a bundle-not-found error for the master bundle, which then produces missing asset errors for every asset that the master bundle was supposed to contain. The cascade stops at the critical abort.
Step 3: Apply the fix
The server operator clears the Workshop cache for item 2480303126 by navigating to C:\Program Files (x86)\Steam\steamapps\workshop\content\304930\2480303126\, deleting the contents of the folder, and then restarting the server. The server detects that the cache is empty, re-downloads Timber Valley from the Workshop, and starts successfully.
Step 4: Verify
The server operator confirms that the server starts without errors, that the map loads to 100 percent, and that the server code is displayed. A player connects to confirm that the map plays correctly.
Intermittent errors and non-deterministic failures
Not all server errors are deterministic. Some errors occur intermittently, producing a different log message or no log message at all on each server start. The most common intermittent errors are:
| Error pattern | Likely cause | Diagnostic approach |
|---|---|---|
| Server crashes on some starts but not others | Memory pressure during asset loading. The server has insufficient RAM to decompress all bundles simultaneously. | Monitor server memory usage during startup. Increase available RAM or reduce bundle sizes. |
| Spawn table entries produce errors on some starts but not others | Race condition during Workshop dependency loading. The dependency may not be fully downloaded before the map starts loading. | Add a startup delay using the Shutdown command or a timed startup script. Ensure dependency Workshop items are listed before the map in WorkshopDownloadConfig.json. |
| Navmesh errors on some starts but not others | Navmesh data file partially corrupt. The corruption is in a section that is only read on some load paths. | Delete the navmesh data from the server's cache and force a re-download. Re-bake the navmesh if the issue persists. |
| Network replication errors on some player joins but not others | Network latency or packet loss during the late-join sync process. Not a map issue. | Check the server's network connection quality. Reduce the number of server-side entities if the issue is frequent. |
Appendix D: Error message quick-reference by server startup phase
The table below maps each phase of the server startup sequence to the error messages that are most likely to occur during that phase. This helps narrow the diagnostic search to the relevant error messages when the startup fails at a known point.
| Startup phase | Typical duration | Errors that occur in this phase |
|---|---|---|
| Workshop download phase | 1-10 seconds per item | Failed to download item, Cache corruption, Item not found, Dependency not satisfied |
| Bundle loading phase | 1-5 seconds | Failed to load bundle, Bundle not found, GUID conflict, Master bundle file not found |
| Level parsing phase | 0.5-2 seconds | Map not found, Failed to parse level asset, Config.json parse error, Level asset version mismatch |
| Terrain loading phase | 1-3 seconds | Failed to load heightmap, Failed to load terrain material, Terrain layer index out of range |
| Asset resolution phase | 2-10 seconds | Missing asset, Texture not found, Material not found, Mesh not found, Audio clip not found |
| Spawn table initialization | 1-3 seconds | Failed to find item, Failed to spawn zombie, Spawn table parse error, Invalid spawn table tier |
| Navmesh initialization | 0.5-2 seconds | Failed to load navmesh, Navmesh agent type not found, Overlapping navmesh bounds detected |
| Network initialization | 1-3 seconds | Failed to replicate entity, Entity limit reached, Object has no network view |
| Save data loading | 0.5-2 seconds | Failed to load save data, Save data version mismatch, Item ID not found in loaded assets |
| Server ready | (final) | No errors; server code displayed |
Setting up log monitoring for proactive error detection
A server operator who manages multiple maps or hosts a public server can benefit from automated log monitoring. The techniques below are the cohort-validated approaches for detecting map-related errors before they affect players.
Manual log review cadence
| Server type | Recommended log review frequency | Focus areas |
|---|---|---|
| Private test server | After every map update or game update | New error messages that were not present before the update |
| Community server (low traffic) | Weekly | Error count trends, recurring messages, new messages |
| Community server (high traffic) | Daily | Critical errors, crash messages, Workshop download failures |
| Curated map server | After every map update and game update | Compatibility errors with the curated version |
Automated log scanning with PowerShell
The following PowerShell script scans the server log for known error keywords and outputs a summary. The script is designed to be run as a scheduled task.
$logPath = "C:\U3DS\Servers\Default\Server_Default.log"
$keywords = @(
"Failed to load bundle",
"GUID conflict",
"Missing asset",
"Failed to find item",
"Failed to spawn zombie",
"Cache corruption",
"CRITICAL",
"Save data version mismatch"
)
Get-Content $logPath -Tail 500 | ForEach-Object {
foreach ($keyword in $keywords) {
if ($_ -match $keyword) {
[PSCustomObject]@{
Timestamp = (Get-Date)
Keyword = $keyword
Line = $_
}
}
}
} | Sort-Object Timestamp -Descending | Select-Object -First 20The script reads the last 500 lines of the server log, searches for any of the listed keywords, and displays the 20 most recent matches with the matching keyword identified. A server operator can run this script before each maintenance window to identify issues that need attention.
Alert thresholds
The cohort recommends the following alert thresholds for automated log monitoring:
| Error type | Alert threshold | Action |
|---|---|---|
CRITICAL error | Any occurrence | Investigate immediately; server may be unstable |
GUID conflict | Any occurrence | Investigate before next server restart; may cause asset rendering issues |
Cache corruption | Any occurrence | Clear server Workshop cache at next maintenance window |
Failed to load bundle | More than 3 in 24 hours | Investigate bundle integrity; may indicate disk issues |
Failed to find item | More than 10 in 24 hours | Review spawn table configuration; may indicate missing dependencies |
Save data version mismatch | Any occurrence | Verify map version compatibility; may indicate breaking update |
Common misconceptions about server log errors
The 57 Studios™ cohort has documented the following recurring misconceptions about server log errors that lead to incorrect diagnosis and wasted troubleshooting time.
| Misconception | Truth |
|---|---|
| "The server log reports every error that occurs." | The server log reports errors that the engine explicitly writes to the log. Silent failures (items that fail to spawn but produce no error, zombies that pathfind incorrectly but produce no navigation error) do not appear in the log. |
| "A GUID conflict always produces a visible error message." | Some GUID conflicts produce incorrect asset rendering (one asset renders with another asset's texture) without an explicit error message. The only diagnostic clue is the visual mismatch. |
| "Clearing the Workshop cache always resolves download errors." | Clearing the cache resolves cache corruption but does not resolve missing Workshop items (items that were deleted from the Workshop) or network connectivity issues. |
| "The first error in the log is always the root cause." | The first error is usually the root cause, but some errors are logged in parallel (multiple threads encountering the same issue at the same time). Check the error timestamps to confirm ordering. |
| "A server that starts without errors has no map issues." | A server can start without errors but still have problems: missing loot table entries that produce no error, navmesh gaps that cause zombies to stand still without logging, or broken network replication that silently drops entity state. |
| "Errors in the server log always require a map fix." | Some errors are caused by server configuration, not by the map. A missing Workshop dependency, a corrupted server cache, or an incorrect Commands.dat setting produces errors that are resolved without modifying the map. |
| "If the map loads on the client, it will load on the server." | The server and client load assets in a different order and may load different Workshop items. A map that loads on the client can fail on the server if the server is missing a Workshop dependency that the client has. |
Cross-references
- Navmesh and Pathfinding - the next article in the mapping reference chain, covering navmesh bake workflow and pathfinding configuration that resolves navigation errors documented in this article.
- Map Updates and Versioning - the previous article, covering how map updates can introduce or resolve the errors documented in this article.
- Map Loading Failures - the client-side diagnostic reference that pairs with this server-side reference.
- Setting Up an Unturned Server - the server setup procedure that produces the configuration files referenced in this article.
- Workshop Content on Dedicated Servers - how Workshop dependency configuration affects the errors documented in this article.
Document history
| Version | Date | Author | Notes |
|---|---|---|---|
| 1.0 | 2026-07-26 | 57 Studios | Initial publication. Comprehensive server log error reference with all map-related error categories, diagnostic guidance, and validated fixes. |
