World Instances
World instances are self-contained world configurations that define spawn points, world generation, game rules, and persistence settings. They can be zone overworlds, dungeons, minigames, or special areas.
Asset Location
Section titled “Asset Location”DirectoryAssets/Server/Instances/
DirectoryZone1_Plains1/
- instance.bson
Directoryresources/
- InstanceData.json
- Time.json
- ReputationData.json
- SpawnSuppressionController.json
- PrefabEditSession.json
DirectoryZone2_Desert1/
- …
DirectoryZone3_Taiga1/
- …
DirectoryZone4_Volcanic1/
- …
DirectoryCreativeHub/
- config.json
Directoryresources/
- BlockCounter.json
- ConnectedBlocksWorldResource.json
DirectoryForgotten_Temple/
- config.json
Directoryresources/
- …
DirectoryDungeon_1/
- …
DirectoryDungeon_Goblin/
- …
DirectoryDungeon_Outlander/
- …
DirectoryNPC_Gym/
- …
DirectoryChallenge_Combat_1/
- …
DirectoryPortals_Hedera/
- …
DirectoryPortals_Henges/
- …
DirectoryPortals_Jungles/
- …
DirectoryPortals_Oasis/
- …
DirectoryShortLived/
- …
DirectoryVoid/
- …
DirectoryFlat/
- …
DirectoryBasic/
- …
DirectoryDefault/
- …
Instance Types
Section titled “Instance Types”Zone Overworlds
Section titled “Zone Overworlds”Main game zones with full world generation:
| Instance | Description |
|---|---|
Zone1_Plains1 | Emerald Grove (Plains) |
Zone2_Desert1 | Howling Sands (Desert) |
Zone3_Taiga1 | Borea (Taiga/Snow) |
Zone4_Volcanic1 | Devastated Lands |
Dungeons
Section titled “Dungeons”Instanced dungeon areas:
| Instance | Description |
|---|---|
Dungeon_1 | Generic dungeon template |
Dungeon_Goblin | Goblin cave dungeon |
Dungeon_Outlander | Outlander camp dungeon |
Forgotten_Temple | Story dungeon |
Special Instances
Section titled “Special Instances”| Instance | Description |
|---|---|
CreativeHub | Creative mode hub world |
NPC_Gym | NPC testing area |
NPC_Faction_Gym | Faction NPC testing |
Challenge_Combat_1 | Combat challenge arena |
Void | Void dimension |
Flat | Flat world for testing |
Basic | Minimal instance template |
Portal Instances
Section titled “Portal Instances”Instanced portal destinations:
| Instance | Description |
|---|---|
Portals_Hedera | Hedera portal realm |
Portals_Henges | Henge portal area |
Portals_Jungles | Jungle portal realm |
Portals_Oasis | Oasis portal destination |
Portals_Taiga | Taiga portal realm |
Lifecycle Instances
Section titled “Lifecycle Instances”| Instance | Description |
|---|---|
ShortLived | Temporary instances (fast cleanup) |
ShortLivedSlow | Temporary instances (slow cleanup) |
TimeOut | Timeout-based instances |
Persistent | Never-cleanup instances |
Instance Configuration Schema
Section titled “Instance Configuration Schema”The main configuration is in config.json:
Core Properties
Section titled “Core Properties”| Field | Type | Description |
|---|---|---|
Version | int | Configuration version |
UUID | object | Unique instance identifier |
Seed | long | World generation seed |
SpawnProvider | object | Spawn point configuration |
WorldGen | object | World generation settings |
ChunkStorage | object | Chunk persistence type |
GameMode | string | Default game mode |
Spawn Provider
Section titled “Spawn Provider”{ "SpawnProvider": { "Id": "Global", "SpawnPoint": { "X": 5103.5, "Y": 168.0, "Z": 4982.5, "Pitch": 0.0, "Yaw": 90.0, "Roll": 0.0 } }}| Field | Type | Description |
|---|---|---|
Id | string | Spawn provider type |
SpawnPoint | object | Default spawn coordinates |
X, Y, Z | float | World position |
Pitch, Yaw, Roll | float | View rotation |
World Generation
Section titled “World Generation”{ "WorldGen": { "Type": "Hytale", "Name": "Instance_Creative_Hub", "Environment": "Env_Creative_Hub" }}| Field | Type | Description |
|---|---|---|
Type | string | Generator type (Hytale, Flat) |
Name | string | World generator name |
Environment | string | Default environment ID |
Game Rules
Section titled “Game Rules”| Field | Type | Default | Description |
|---|---|---|---|
IsTicking | bool | true | Enable world tick updates |
IsBlockTicking | bool | true | Enable block tick updates |
IsPvpEnabled | bool | true | Allow player vs player |
IsFallDamageEnabled | bool | true | Enable fall damage |
IsGameTimePaused | bool | false | Freeze time of day |
IsSpawningNPC | bool | true | Enable NPC spawning |
IsAllNPCFrozen | bool | false | Freeze all NPCs |
Persistence Settings
Section titled “Persistence Settings”| Field | Type | Default | Description |
|---|---|---|---|
IsSavingPlayers | bool | true | Save player data |
IsSavingChunks | bool | true | Save chunk data |
SaveNewChunks | bool | true | Save newly generated chunks |
IsUnloadingChunks | bool | true | Unload distant chunks |
DeleteOnUniverseStart | bool | false | Reset on server start |
DeleteOnRemove | bool | false | Delete when unloaded |
Plugin Configuration
Section titled “Plugin Configuration”{ "Plugin": { "Instance": { "RemovalConditions": [], "PreventReconnection": true, "Discovery": { "TitleKey": "server.instances.creative_hub.title", "SubtitleKey": "server.instances.creative_hub.subtitle", "Display": true, "AlwaysDisplay": false, "Icon": "Forgotten_Temple.png", "Major": true, "Duration": 4.0, "FadeInDuration": 1.5, "FadeOutDuration": 1.5 } } }}Discovery Settings
Section titled “Discovery Settings”| Field | Type | Description |
|---|---|---|
TitleKey | string | Localization key for title |
SubtitleKey | string | Localization key for subtitle |
Display | bool | Show discovery notification |
AlwaysDisplay | bool | Show on every entry |
Icon | string | Discovery icon filename |
Major | bool | Large notification style |
Duration | float | Display time (seconds) |
FadeInDuration | float | Fade in time |
FadeOutDuration | float | Fade out time |
Resource Files
Section titled “Resource Files”Each instance has a resources/ directory with state data:
InstanceData.json
Section titled “InstanceData.json”Basic instance state:
{ "HadPlayer": false}Time.json
Section titled “Time.json”Game time tracking:
{ "Now": "1970-01-01T00:00:02.163598610Z"}SpawnSuppressionController.json
Section titled “SpawnSuppressionController.json”Controls spawn suppression zones:
{ "SpawnSuppressorMap": {}}BlockCounter.json
Section titled “BlockCounter.json”Tracks block placement (creative mode):
{ "BlockPlacementCounts": {}}ReputationData.json
Section titled “ReputationData.json”Faction reputation tracking.
PrefabEditSession.json
Section titled “PrefabEditSession.json”Prefab editing state.
Examples
Section titled “Examples”Creative Hub Instance
Section titled “Creative Hub Instance”{ "Version": 4, "UUID": { "$binary": "Ds/3XgghTq2JYJNzWFqVMQ==", "$type": "04" }, "Seed": 1618917989368, "SpawnProvider": { "Id": "Global", "SpawnPoint": { "X": 5103.5, "Y": 168.0, "Z": 4982.5, "Pitch": 0.0, "Yaw": 90.0, "Roll": 0.0 } }, "WorldGen": { "Type": "Hytale", "Name": "Instance_Creative_Hub", "Environment": "Env_Creative_Hub" }, "WorldMap": { "Type": "Disabled" }, "ChunkStorage": { "Type": "Hytale" }, "IsTicking": false, "IsBlockTicking": false, "IsPvpEnabled": false, "IsFallDamageEnabled": true, "IsGameTimePaused": true, "GameTime": "0001-01-01T16:50:44.090953998Z", "RequiredPlugins": {}, "GameMode": "Creative", "IsSpawningNPC": false, "IsAllNPCFrozen": true, "GameplayConfig": "CreativeHub", "IsCompassUpdating": true, "IsSavingPlayers": false, "IsSavingChunks": true, "SaveNewChunks": true, "IsUnloadingChunks": true, "DeleteOnUniverseStart": false, "DeleteOnRemove": false, "Plugin": { "Instance": { "RemovalConditions": [], "PreventReconnection": true, "Discovery": { "TitleKey": "server.instances.creative_hub.title", "SubtitleKey": "server.instances.creative_hub.subtitle", "Display": true, "AlwaysDisplay": false, "Icon": "Forgotten_Temple.png", "Major": true, "Duration": 4.0, "FadeInDuration": 1.5, "FadeOutDuration": 1.5 } } }}Key characteristics:
- Creative mode - GameMode set to Creative
- Ticking disabled - No world/block updates (performance)
- NPC spawning disabled - No hostile mobs
- Time paused - Fixed time of day
- Player saving disabled - Fresh start each session
Dungeon Instance (Forgotten Temple)
Section titled “Dungeon Instance (Forgotten Temple)”{ "Version": 4, "UUID": { "$binary": "YDOsXrt3TOmXhNGwFrXXBA==", "$type": "04" }, "Seed": 1618917989368, "SpawnProvider": { "Id": "Global", "SpawnPoint": { "X": 5095.0, "Y": 169.0, "Z": 4983.5, "Pitch": 0.0, "Yaw": 90.0, "Roll": 0.0 } }, "WorldGen": { "Type": "Hytale", "Name": "Instance_Forgotten_Temple" }, "ChunkStorage": { "Type": "Hytale" }, "IsTicking": false, "IsBlockTicking": true, "IsPvpEnabled": false, "IsFallDamageEnabled": true, "IsGameTimePaused": true, "GameTime": "0001-01-04T08:00:00.000858306Z", "GameMode": "Creative", "IsSpawningNPC": true, "IsSpawnMarkersEnabled": true, "IsAllNPCFrozen": true, "GameplayConfig": "ForgottenTemple", "Plugin": { "Instance": { "PreventReconnection": false, "Discovery": { "TitleKey": "server.instances.forgotten_temple.title", "SubtitleKey": "server.instances.forgotten_temple.subtitle", "Display": true, "AlwaysDisplay": true, "Icon": "Forgotten_Temple.png", "Major": true, "Duration": 4.0, "FadeInDuration": 1.5, "FadeOutDuration": 1.5 } } }}Key characteristics:
- Block ticking enabled - Allows trap/door mechanisms
- NPC spawning enabled - Dungeon monsters
- Time paused - Fixed lighting atmosphere
- AlwaysDisplay - Shows notification every entry
Storage Types
Section titled “Storage Types”ChunkStorage Types
Section titled “ChunkStorage Types”| Type | Description |
|---|---|
Hytale | Standard Hytale chunk storage |
Memory | RAM-only (no persistence) |
Disabled | No chunk storage |
ResourceStorage Types
Section titled “ResourceStorage Types”| Type | Description |
|---|---|
Hytale | Standard resource storage |
Memory | RAM-only resources |
Creating Custom Instances
Section titled “Creating Custom Instances”{ "Version": 4, "UUID": { "$binary": "YOUR_UNIQUE_UUID_HERE", "$type": "04" }, "Seed": 12345, "SpawnProvider": { "Id": "Global", "SpawnPoint": { "X": 0.0, "Y": 100.0, "Z": 0.0, "Pitch": 0.0, "Yaw": 0.0, "Roll": 0.0 } }, "WorldGen": { "Type": "Hytale", "Name": "MyPlugin_WorldGen", "Environment": "Env_Zone1_Plains" }, "ChunkStorage": { "Type": "Hytale" }, "IsTicking": true, "IsBlockTicking": true, "IsPvpEnabled": true, "IsFallDamageEnabled": true, "IsGameTimePaused": false, "GameMode": "Survival", "IsSpawningNPC": true, "IsAllNPCFrozen": false, "IsSavingPlayers": true, "IsSavingChunks": true, "DeleteOnUniverseStart": false, "DeleteOnRemove": false, "Plugin": { "Instance": { "PreventReconnection": false, "Discovery": { "TitleKey": "my_plugin.instance.title", "SubtitleKey": "my_plugin.instance.subtitle", "Display": true, "AlwaysDisplay": false, "Icon": "Custom_Icon.png", "Major": true, "Duration": 3.0, "FadeInDuration": 1.0, "FadeOutDuration": 1.0 } } }}Instance Directory Structure
Section titled “Instance Directory Structure”MyPlugin_Instance/├── config.json # Main instance configuration├── instance.bson # Binary instance data└── resources/ ├── InstanceData.json ├── Time.json ├── ReputationData.json ├── SpawnSuppressionController.json └── PrefabEditSession.jsonBest Practices
Section titled “Best Practices”- Use appropriate storage - Memory for temporary, Hytale for persistent
- Set correct game rules - Match instance purpose (creative vs survival)
- Configure discovery - Help players understand where they are
- Manage tick settings - Disable unnecessary ticking for performance
- Test spawn points - Ensure players don’t spawn in solid blocks
Related
Section titled “Related”- Environments - Environment configuration
- Weather Systems - Weather definitions
- Prefabs - Prefab structures
- World Overview - World system API