Windrose Tutorials

How to Upload an Existing World to Your Windrose Server

Upload your Windrose singleplayer world to WinterNode: find your world's _Latest.zip backup archive, place it in RocksDB_v2_Backups, and set WorldIslandId so the server restores it instead of generating a new one.

Last updated: August 31, 2026

4.9

735+ Satisfied Customers

Upload your singleplayer Windrose world to your WinterNode server so you can continue playing with friends.

How Windrose Actually Loads a World

Read this first. It is the reason most world uploads fail.

Windrose keeps its save data under R5/Saved/SaveProfiles/Default/ in more than one place:

FolderWhat it is
RocksDB_v2_Backups/The real save. One _Latest.zip archive per world, each a self-contained snapshot.
RocksDB_v2/A working copy the game reads and writes while running.
RocksDB/Legacy saves from before game version 0.10.0.5.120. Only present on older installs.

On every startup the server scans RocksDB_v2_Backups/Worlds/, and for each world it finds there, it extracts that world’s _Latest.zip over the matching folder in RocksDB_v2/. RocksDB_v2 is rebuilt from the archives on boot, so anything you copy into it by hand is overwritten and lost.

A world upload therefore has to put a _Latest.zip into the backups tree. Copying the raw database folder into RocksDB_v2/.../Worlds/ does nothing: the server finds no archive, concludes the world does not exist, generates a brand new one, and rewrites WorldIslandId to point at its replacement.

Before You Start: Do Not Delete Your Server Files

A fresh Windrose server already has everything installed and ready. You do not need to delete any files before uploading your world. Only add your world’s backup archive.

If you already deleted your server files by mistake, open Advanced > Server Actions and click Reinstall Server. Once the server is reinstalled, come back to this guide.

Step 1: Stop Your Server

Log in to the Game Control Panel, select your Windrose server, and click Stop. Wait for it to shut down fully before touching any files.

This is not optional. The server maintains ServerDescription.json itself and updates WorldIslandId when it loads or creates a world, so an edit you make against a running server can be overwritten without warning.

Step 2: Find Your World Archive on Your PC

  1. Press Win + R, paste %LOCALAPPDATA%\R5\Saved\SaveProfiles\, and press Enter.
  1. Open your profile folder. On Steam and Epic this is your numeric account ID. On the Stove launcher it is StoveDefault. If there is only one folder, that is the one.

  2. Open RocksDB_v2_Backups\Worlds\. You will find one folder per world, each named with a 32-character hex world ID.

  3. Inside each world folder is an archive named like this:

    9BFA361CEA044A08919986B7F32066A8_0.10.0_Latest.zip

    That is <world-id>_<game-version>_Latest.zip. This single file is your whole world. It holds the database checkpoint (Checkpoint/meta/, Checkpoint/private/, Checkpoint/shared_checksum/*.sst) plus AdditionalRecordFiles/WorldDescription.json.

  4. If you have several worlds and are not sure which is which, open a world’s _Latest.zip and read AdditionalRecordFiles/WorldDescription.json. The WorldName field gives you the in-game name.

Step 3: Upload the Archive to Your Server

The target path on your server is:

R5/Saved/SaveProfiles/Default/RocksDB_v2_Backups/Worlds/<world-id>/

There is no game version folder in this path, unlike the runtime RocksDB_v2/<version>/Worlds/ path. The version lives in the archive’s filename instead.

Create a folder named with your world’s exact 32-character hex ID, then place the _Latest.zip inside it. Keep the archive’s original filename. Do not extract it, and do not rename the folder or the file. Windrose matches the world ID in the folder name, in the filename, and in WorldIslandId, so a rename breaks all three.

The result should look like this:

R5/Saved/SaveProfiles/Default/RocksDB_v2_Backups/Worlds/
  9BFA361CEA044A08919986B7F32066A8/
    9BFA361CEA044A08919986B7F32066A8_0.10.0_Latest.zip

SFTP moves the archive across as-is and handles large worlds without timing out. See Using SFTP for connection details.

Method B: File Manager

  1. In the control panel, open File Manager and navigate to R5/Saved/SaveProfiles/Default/RocksDB_v2_Backups/Worlds/
  2. Click New Folder and name it with your world’s 32-character hex ID
  3. Open that folder, click Upload, and select your _Latest.zip

Do not extract the ZIP. The server expects the archive intact.

Step 4: Point WorldIslandId at Your World

With the archive in place, tell the server which world to load.

  1. In File Manager, navigate to R5/ and open ServerDescription.json

  2. Find the WorldIslandId field:

    "WorldIslandId": "065174E68FFD45EE548F03A5AF01FC37"
  3. Replace the value with your world’s 32-character hex ID, exactly as it appears in the folder name:

    "WorldIslandId": "9BFA361CEA044A08919986B7F32066A8"
  4. Click Save

Once the archive from Step 3 is in place, this value holds across restarts. If it changes back after a restart, the server could not read your archive. See Troubleshooting below.

Step 5: Start Your Server

  1. Return to the main control panel and click Start. The status shows Online after a minute or two.
  2. Grab your invite code from the Game Panel dashboard, connect, and confirm you see your world, your builds, and your progress.

Any world the server generated on an earlier boot is still on disk, and that is fine. Leave it alone. It costs nothing but disk space, and deleting things under RocksDB_v2_Backups is how people lose worlds.

Troubleshooting

Every check here reads R5/Saved/Logs/R5.log, which you can open in File Manager or download over SFTP. Two lines tell you what happened on the last boot.

Your world loaded. Look for a line naming your world ID:

UR5CoopRootDocument::RestoreDocument  R5BLIsland[9BFA361CEA044A08919986B7F32066A8] ... bIsOk true

bIsOk true means the archive was found, unpacked, and verified.

The server generated a replacement instead:

R5BLIslandCntr::CreateIsland   Island was created. Id 065174E68FFD45EE548F03A5AF01FC37

That means the archive was missing or unreadable. Check, in order:

  1. The archive is under RocksDB_v2_Backups/Worlds/<world-id>/, not RocksDB_v2/.
  2. The folder name, the ID at the front of the ZIP filename, and WorldIslandId are the same 32 characters in the same case.
  3. The file is still named <world-id>_<version>_Latest.zip and was not extracted or renamed.
  4. The upload actually finished. A truncated ZIP fails the same way as a missing one.

WorldIslandId reverts on every restart: the server is generating a new world and writing its ID into the config. Do not keep re-editing the field. Fix the archive using the checks above. Full walkthrough: Windrose Server Keeps Generating a New World.

Edits to ServerDescription.json do not stick: you edited the file while the server was running, and the server overwrote it. Stop the server, confirm it is fully offline, then edit.

World loaded but builds are missing: you uploaded the wrong world. Open each candidate _Latest.zip on your PC and read AdditionalRecordFiles/WorldDescription.json to check the WorldName field.

SFTP connection isn’t working: see Using SFTP. The most common cause is using the wrong password. Your SFTP password is your control panel login password, not a game-specific one.

Frequently Asked Questions

You most likely uploaded the raw world database folder into RocksDB_v2. Windrose rebuilds RocksDB_v2 from the backups tree on every startup, so anything placed there by hand is discarded. The server needs your world's <world-id>_<version>_Latest.zip archive inside R5/Saved/SaveProfiles/Default/RocksDB_v2_Backups/Worlds/<world-id>/. Without it the server decides the world does not exist, generates a fresh one, and rewrites WorldIslandId to the new world's ID.

Open %LOCALAPPDATA%\R5\Saved\SaveProfiles\ and open your profile folder (usually your Steam ID, or StoveDefault on the Stove launcher). Your world backups are under RocksDB_v2_Backups\Worlds\, one folder per world, each named with a 32-character hex world ID.

No. Your server already has a working Windrose install. Only add your world's backup archive. Never delete anything under RocksDB_v2_Backups, because those archives are the only complete copy of a world.

That is the server telling you it could not find the world you pointed it at. It generates a replacement world and writes that new ID into ServerDescription.json. Fix the missing archive rather than the ID. Also make sure the server is fully stopped when you edit ServerDescription.json, because the server maintains that file itself and can overwrite an edit made while it is running.