Skip to content

Gameplay Configs

Overview

Gameplay config files are the top-level tuning files for a world or instance. They support inheritance via a Parent field — child configs override only the fields they declare, inheriting everything else from the parent. The Default.json config is the base for all standard worlds; Default_Instance.json extends it for instanced content with different death and world-editing rules.

File Location

Assets/Server/GameplayConfigs/
Default.json
Default_Instance.json
CreativeHub.json
ForgottenTemple.json
Portal.json

Schema

Top-level

FieldTypeRequiredDefaultDescription
ParentstringNoID of a parent config to inherit from. Only overridden fields need to be specified in the child.
GatheringGatheringConfigNoSettings for block gathering feedback (unbreakable blocks, incorrect tool responses).
DeathDeathConfigNoControls what happens to items and respawn on player death.
ItemEntityItemEntityConfigNoSettings for dropped item entities in the world.
ItemDurabilityItemDurabilityConfigNoPenalty multipliers applied when equipment durability reaches zero.
PluginPluginConfigNoConfiguration for gameplay plugins: Stamina, Memories.
RespawnRespawnConfigNoRespawn point rules.
WorldWorldConfigNoDay/night cycle durations and block interaction settings.
PlayerPlayerConfigNoMovement, hitbox, and armour visibility settings.
CameraEffectsCameraEffectsConfigNoVisual effects triggered by damage types.
CreativePlaySoundSetstringNoSound set used during creative mode play.
SpawnSpawnConfigNoParticle effects shown on first player spawn.
PingPingConfigNoWorld ping settings (duration, cooldown, radius, sound).

DeathConfig

FieldTypeRequiredDefaultDescription
ItemsLossMode"Configured" | "None" | "All"NoDetermines which items are lost on death. Configured uses percentage fields; None keeps all items; All drops everything.
ItemsAmountLossPercentagenumberNoPercentage of item stacks lost on death when ItemsLossMode is "Configured".
ItemsDurabilityLossPercentagenumberNoPercentage of equipment durability lost on death.
LoseItemsbooleanNoShorthand override: false prevents any item loss regardless of other settings.
RespawnControllerobjectNoCustom respawn behaviour. { "Type": "ExitInstance" } ejects the player from an instance on death.

ItemEntityConfig

FieldTypeRequiredDefaultDescription
LifetimenumberNoSeconds before a dropped item entity despawns from the world.

ItemDurabilityConfig

FieldTypeRequiredDefaultDescription
BrokenPenaltiesobjectNoMultipliers applied to the entity’s stats when each equipment category is fully broken.
BrokenPenalties.WeaponnumberNoStat multiplier when the equipped weapon has zero durability (e.g. 0.75 = 25% stat reduction).
BrokenPenalties.ArmornumberNoStat multiplier when equipped armour is fully broken.
BrokenPenalties.ToolnumberNoStat multiplier when equipped tool is fully broken.

PluginConfig

FieldTypeRequiredDefaultDescription
StaminaStaminaPluginNoStamina system settings.
MemoriesMemoriesPluginNoMemories (XP) system settings.
WeathersobjectNoWeather plugin overrides.

StaminaPlugin

FieldTypeRequiredDefaultDescription
SprintRegenDelayobjectNoConfigures how sprinting delays stamina regeneration.
SprintRegenDelay.EntityStatIdstringNoThe entity stat ID to modify (e.g. "StaminaRegenDelay").
SprintRegenDelay.ValuenumberNoValue applied to the stat (negative values reduce regen delay).

MemoriesPlugin

FieldTypeRequiredDefaultDescription
MemoriesAmountPerLevelnumber[]NoArray of memory costs per level-up, indexed by level (0-based).
MemoriesRecordParticlesstringNoParticle system played when a memory is recorded at a statue.
MemoriesCatchItemIdstringNoItem ID of the collectible memory particle in the world.
MemoriesCatchEntityParticleobjectNoParticle attached to the entity when catching a memory.
MemoriesCatchParticleViewDistancenumberNoView distance in units at which catch particles are visible.

RespawnConfig

FieldTypeRequiredDefaultDescription
RadiusLimitRespawnPointnumberNoMaximum distance in units from the player’s death location where a respawn point can be used.
MaxRespawnPointsPerPlayernumberNoMaximum number of active respawn points a player can have simultaneously.

WorldConfig

FieldTypeRequiredDefaultDescription
DaytimeDurationSecondsnumberNoReal-world seconds for a full daytime period.
NighttimeDurationSecondsnumberNoReal-world seconds for a full nighttime period.
BlockPlacementFragilityTimernumberNoSeconds after placement during which a block can be instantly broken by the placer. 0 disables.
AllowBlockBreakingbooleanNoWhether players can break blocks in this world.
AllowBlockGatheringbooleanNoWhether players can gather resources from blocks.
SleepSleepConfigNoSleep system configuration.

SleepConfig

FieldTypeRequiredDefaultDescription
WakeUpHournumberNoIn-game hour at which sleeping players wake up.
AllowedSleepHoursRange[number, number]No[start, end] hour range during which players can go to sleep. Wraps across midnight.

PlayerConfig

FieldTypeRequiredDefaultDescription
MovementConfigstringNoID of the movement configuration preset for players.
HitboxCollisionConfigstringNoID of the hitbox collision preset (e.g. "SoftCollision").
ArmorVisibilityOption"All" | "None" | "Cosmetic"NoControls which armour layers are visible on the player model.

SpawnConfig

FieldTypeRequiredDefaultDescription
FirstSpawnParticlesParticleEntry[]NoParticle systems spawned at the player’s location on first spawn.

PingConfig

FieldTypeRequiredDefaultDescription
PingDurationnumberNoSeconds a ping marker remains visible.
PingCooldownnumberNoSeconds between allowed pings for a player.
PingBroadcastRadiusnumberNoRadius in units within which other players see the ping.
PingSoundstringNoSound event played when a ping is placed.

Examples

Default world config (Assets/Server/GameplayConfigs/Default.json):

{
"Death": {
"ItemsLossMode": "Configured",
"ItemsAmountLossPercentage": 50.0,
"ItemsDurabilityLossPercentage": 10.0
},
"ItemEntity": {
"Lifetime": 600.0
},
"ItemDurability": {
"BrokenPenalties": {
"Weapon": 0.75,
"Armor": 0.75,
"Tool": 0.75
}
},
"Plugin": {
"Stamina": {
"SprintRegenDelay": {
"EntityStatId": "StaminaRegenDelay",
"Value": -0.75
}
},
"Memories": {
"MemoriesAmountPerLevel": [10, 25, 50, 100, 200],
"MemoriesRecordParticles": "MemoryRecordedStatue",
"MemoriesCatchItemId": "Memory_Particle",
"MemoriesCatchParticleViewDistance": 64
}
},
"Respawn": {
"RadiusLimitRespawnPoint": 500,
"MaxRespawnPointsPerPlayer": 3
},
"World": {
"DaytimeDurationSeconds": 1728,
"NighttimeDurationSeconds": 1152,
"BlockPlacementFragilityTimer": 0,
"Sleep": {
"WakeUpHour": 4.79,
"AllowedSleepHoursRange": [19.5, 4.79]
}
},
"Player": {
"MovementConfig": "Default",
"HitboxCollisionConfig": "SoftCollision",
"ArmorVisibilityOption": "All"
},
"Ping": {
"PingDuration": 5.0,
"PingCooldown": 1.0,
"PingBroadcastRadius": 100.0,
"PingSound": "SFX_Ping"
}
}

Instance config (Assets/Server/GameplayConfigs/Default_Instance.json) — inherits from Default and overrides:

{
"Parent": "Default",
"World": {
"AllowBlockBreaking": false,
"AllowBlockGathering": false
},
"Death": {
"LoseItems": false,
"RespawnController": {
"Type": "ExitInstance"
}
}
}
  • Environments — day/night hour progression driven by DaytimeDurationSeconds
  • Drop Tables — items dropped on death subject to ItemsLossMode
  • Weather System — weather controlled by Plugin.Weathers