Managing Hytale Worlds and the Universe Directory
How Hytale organizes world and player data in the Universe directory and how to manage multiple worlds.
Managing Hytale Worlds and the Universe Directory
Hytale organizes all persistent server data inside a top-level universe/ directory. Understanding this structure is essential for backups, world resets, and running multiple worlds.
The Universe Directory Layout
universe/
├── worlds/
│ ├── overworld/
│ │ ├── config.json
│ │ ├── region/
│ │ └── entities/
│ ├── dungeon-realm/
│ │ ├── config.json
│ │ ├── region/
│ │ └── entities/
│ └── creative-plot/
│ ├── config.json
│ └── region/
└── players/
├── xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx.json
└── yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy.json
universe/worlds/— one subdirectory per world, containing terrain chunks, entity data, and a world-specificconfig.jsonuniverse/players/— one JSON file per player containing their inventory, position, stats, and progress
World-Specific Configuration
Each world directory contains its own config.json that can override global server settings for players in that world:
{
"gameMode": "survival",
"difficulty": "hard",
"pvp": true,
"seed": 314159265,
"generateStructures": true
}
Edit this file and restart the server to apply world-level changes. See Configuring Your Hytale Server for the full field reference.
Adding a New World
To add a world, create a new subdirectory under universe/worlds/ with a config.json and the server will generate it on next startup:
mkdir -p /opt/hytale-server/universe/worlds/my-new-world
cat > /opt/hytale-server/universe/worlds/my-new-world/config.json <<'EOF'
{
"gameMode": "survival",
"difficulty": "normal",
"seed": 42
}
EOF
Resetting a World
To wipe a world back to a fresh state while keeping player data:
- Stop the server.
- Delete or rename the world directory:
sudo systemctl stop hytale
mv /opt/hytale-server/universe/worlds/overworld \
/opt/hytale-server/universe/worlds/overworld-backup-$(date +%Y%m%d)
mkdir /opt/hytale-server/universe/worlds/overworld
cp /opt/hytale-server/universe/worlds/overworld-backup-*/config.json \
/opt/hytale-server/universe/worlds/overworld/
sudo systemctl start hytale
The server will regenerate the world from scratch on startup.
Uploading an Existing World
To replace the current world with a world save from another server or a local machine:
- Stop the server.
- Delete the existing world directory.
- Copy your world folder into
universe/worlds/using SFTP or SCP:
scp -r ./my-world-save user@yourserver:/opt/hytale-server/universe/worlds/overworld
- Restart the server.
Player Data
Each player's data file is named after their UUID. If you need to reset a specific player's progress (inventory, position, etc.) without wiping the world:
rm /opt/hytale-server/universe/players/<player-uuid>.json
The player will start fresh on their next login.
Backing Up the Universe Directory
The entire universe/ directory is the canonical backup target. Copy it while the server is stopped to ensure consistency:
sudo systemctl stop hytale
tar -czf hytale-universe-$(date +%Y%m%d).tar.gz \
-C /opt/hytale-server universe/
sudo systemctl start hytale
See Backing Up and Wiping Your Hytale Server for a full backup strategy.