Dune: Awakening Server Configuration Guide
This guide details how to govern gameplay settings for your containerized Dune: Awakening server running on Kubernetes.
💾 Direct File Editing (.ini Syntax)
If you have persistent storage attached or are utilizing the filebrowser container flow via battlegroup.sh apply-default-usersettings, you can write configurations directly to the .ini files in your Saved/UserSettings directory.
Unlike the command-line argument patches, direct file modifications use the standard flat configuration syntax:
Form Breakdown
Ini, TOML
[<Section>]
<Variable>=<Value>
Example: Custom Sandstorms (UserGame.ini)
To explicitly control storm behavior directly in the file layer, append or modify these keys under the appropriate section header:
Ini, TOML
[/Script/DuneSandbox.SandStormConfig]
m_StormCycleDuration=3600
m_StormDuration=300
⚙️ File vs Argument Priority: Flags passed via the
kubectl patchcommand line (-ini:Game:...) will take precedence over and override the values written directly inside theUserGame.iniorUserEngine.iniflat files upon container startup. Use direct file editing for baseline defaults, and reserving thekubectl patchmethod for temporary or critical overrides.
🛠️ How to Apply Changes
To change a setting, use the kubectl patch command. This appends your setting to the server's startup arguments.
Format Breakdown
Plaintext
"-ini:<File>:[<Section>]:<Variable>=<Value>"
-
File: Usually
Game(forDefaultGame.ini). -
Section: The category in brackets, e.g.,
[/Script/DuneSandbox.DuneGameMode]. -
Variable: The specific setting name.
-
Value: The data you are setting (The number or True/False).
Quick Data Types Table
| Type | What it is | Example Setting | How to enter it |
|---|---|---|---|
| Boolean | A simple On/Off switch. | bPvPEnabled |
True or False |
| Float | A number with a decimal. | m_GlobalXPMultiplier |
10.0 or 0.5 |
| Integer | A whole number (no decimals). | m_StormDuration |
300 or 1000 |
| Enum | A specific word from a list. | m_EnableSandwormSystem |
UseAllowList or None |
📈 Progression & Economy
Modify these in the [/Script/DuneSandbox.DuneGameMode] section.
| Variable | Type | Default | Description | Example Entry |
|---|---|---|---|---|
m_GlobalXPMultiplier |
Float | 1.0 |
Multiplier for all XP gains. | 5.0 (5x XP) |
m_GlobalFameMultiplier |
Float | 1.0 |
Multiplier for fame gain. | 2.0 |
m_GlobalProgressionSpeedMultiplier |
Float | 1.0 |
Journey/Talent unlock speed. | 2.0 (Double Speed) |
m_GuildCreationCost |
Integer | 1000 |
Solaris cost to form a Clan. | 0 (Free Clans) |
SellOrderPricePercentageFee |
Float | 2.0 |
Exchange/Market fee percentage. | 1.0 (Low fee) |
SpiceTaxAmount |
Float | 0.1 |
Spice taken per interval. | 0.0 (No tax) |
SpiceTaxInterval |
Integer | 3600 |
Seconds between tax collection. | 7200 (2 hours) |
⛏️ Harvesting & Crafting
Modify these in the [/Script/DuneSandbox.DuneGameMode] section.
| Variable | Type | Default | Description | Example Entry |
|---|---|---|---|---|
m_GlobalHarvestAmountMultiplier |
Float | 1.0 |
Resources gained per strike. | 10.0 (10x harvest) |
m_GlobalHarvestHealthMultiplier |
Float | 1.0 |
Node "health" (durability). | 2.0 (Lasts longer) |
CutterayHemMultiplierPerNodeTierTable |
Float | 1.0 |
Yield for High Energy Mining. | 5.0 |
m_MinimumAugmentableItemQuality |
Integer | 0 |
Min rarity for gear upgrades (0=Common). | 2 (Rare only) |
m_ItemDurabilityLossMultiplier |
Float | 1.0 |
Gear breakage speed. | 0.1 (Near-immortal) |
🏜️ Survival & Combat
Modify these in the [/Script/DuneSandbox.DuneGameMode] section.
| Variable | Type | Default | Description | Example Entry |
|---|---|---|---|---|
bPvPEnabled |
Boolean | False |
Players can fight each other. | True |
bServerPVE |
Boolean | True |
Standard PvE survival rules. | True |
m_WaterConsumptionRate |
Float | 1.0 |
Baseline thirst speed. | 0.5 (Half thirst) |
m_WaterConsumptionInStormMultiplier |
Float | 4.0 |
Thirst multiplier in storms. | 2.0 (Lower penalty) |
m_GlobalDamageToNpcsMultiplier |
Float | 1.0 |
Damage dealt to AI enemies. | 2.0 (Bigger hits) |
m_GlobalDamageToPlayersMultiplier |
Float | 1.0 |
Scale all player-vs-player damage. | 0.5 (Lower PvP dmg) |
m_GlobalHealthMultiplier |
Float | 1.0 |
Global health scaling for actors. | 1.5 |
m_GlobalBuildingDamageMultiplier |
Float | 1.0 |
Damage to player buildings. | 0.5 (Stronger bases) |
m_BuildingDecayRateMultiplier |
Float | 1.0 |
Building decay speed multiplier. | 0.5 (Slower decay) |
bEnableBuildingStability |
Boolean | True |
Enable structural stability checks. | False |
m_InventoryWeightMultiplier |
Float | 1.0 |
Carry capacity multiplier. | 2.0 (Carry more) |
m_PlayerStartingWater |
Float | 100.0 |
Starting hydration for new spawns. | 150.0 |
m_DefaultReconnectGracePeriodSeconds |
Integer | 300 |
Body despawn timer after logout. | 600 (10 mins) |
🎒 Inventory Settings
Modify these in the [/Script/DuneSandbox.InventorySystemSettings] section.
| Variable | Type | Default | Description | Example Entry |
|---|---|---|---|---|
PlayerInventoryStartingSize |
Integer | 40 |
Starting item-slot count for players. | 50 |
PlayerInventoryStartingVolumeCapacity |
Float | 225.0 |
Starting inventory volume capacity. | 300.0 |
🌪️ Storms & World Cycles
Modify Sandstorms in [/Script/DuneSandbox.SandStormConfig].
Modify World Resets in [/Script/DuneSandbox.DuneGameMode].
| Variable | Type | Default | Description | Example Entry |
|---|---|---|---|---|
m_StormCycleDuration |
Integer | 7200 |
Seconds between storms. | 3600 (Every hour) |
m_StormDuration |
Integer | 600 |
How long storms last (seconds). | 300 (5 mins) |
m_StormWarningDuration |
Integer | 120 |
Warning time before storm starts (seconds). | 180 |
m_StormCycleWait |
Integer | 300 |
Delay between storm phases. | 600 |
m_CycleDurationInDays |
Integer | 7 |
Days between Deep Desert resets. | 14 (2 week cycle) |
m_bIsDbWipeEnabled |
Boolean | True |
Wipe world on Coriolis reset. | False (No wipe) |
🧭 Partition-Based PvP/PvE
Modify these in the [/Script/DuneSandbox.PvpPveSettings] section.
| Variable | Type | Default | Description | Example Entry |
|---|---|---|---|---|
+m_PvpEnabledPartitions |
Integer List | Empty | Enables PvP only for specific world partitions. | +m_PvpEnabledPartitions=8 |
+m_PveEnabledPartitions |
Integer List | Empty | Explicitly enables PvE for specific partitions. | +m_PveEnabledPartitions=1 |
For your use case (PvE everywhere except Deep Desert), this is valid if your Deep Desert is mapped to partition 8:
Ini, TOML
[/Script/DuneSandbox.PvpPveSettings]
; Enable PvP only in Deep Desert partition
+m_PvpEnabledPartitions=8
⚠️ Operational Notes:
Keep the leading
+when adding list entries in.inisyntax.
8must match the actual partition ID used by your server for the Deep Desert map sector.You can combine both lists to make PvP/PvE boundaries explicit.
🐛 Sandworms
Modify these in the [/Script/DuneSandbox.SandwormSettings] section.
| Variable | Type | Default | Description | Example Entry |
|---|---|---|---|---|
m_EnableSandwormSystem |
Enum | UseAllowList |
Enable/Disable worms. | None (Disables) |
WormDetectionDistance |
Float | 5000.0 |
Distance worms can hear you. | 2000.0 (Sneakier) |
m_MinWormSpawnInternal |
Float | 300.0 |
Minimum seconds between worm spawns. | 600.0 |
m_MinDistanceBetweenSandworms |
Float | 3000.0 |
Min spacing between spawns. | 10000.0 (Fewer worms) |
m_SandwormQuicksandSpeedModifier |
Float | 0.5 |
Movement penalty near worms. | 0.1 (Trapped!) |
🤝 Clans & Permissions
Modify these in the [/Script/DuneSandbox.DuneGameMode] section.
| Variable | Type | Default | Description | Example Entry |
|---|---|---|---|---|
m_MaxGuildMembersAllowed |
Integer | 32 |
Player cap for Clans. | 64 (Large clans) |
m_MaxGuildsAllowed |
Integer | 3 |
Guilds a player can join. | 1 (Strict loyalty) |
m_MaxPermissionsPerActor |
Integer | 20 |
Cap on building/chest permissions. | 50 |
🚁 Vehicles & AI Patterns
Modify AI in [/Script/DuneSandbox.PatrolShipSettings].
Modify Vehicles in [/Script/DuneSandbox.DuneGameMode].
| Variable | Type | Default | Description | Example Entry |
|---|---|---|---|---|
m_TimeOfDayToSpawn |
Float | 18.0 |
Hour (24h) Patrol Ships arrive. | 22.0 (Late night) |
m_TimeOfDayToDespawn |
Float | 6.0 |
Hour (24h) Patrol Ships leave. | 4.0 |
m_VehicleQuicksandDamage |
Float | 10.0 |
Instant damage in quicksand. | 0.0 (Immune) |
📋 Full Application Example
To apply multiple settings simultaneously (e.g., setting 5x XP and 10x Harvest multipliers), execute the following JSON-patch block in your terminal:
Bash
kubectl patch servergroup <YOUR_SERVER_GROUP_NAME> \
-n <YOUR_NAMESPACE> \
--type='json' \
-p='[
{"op": "add", "path": "/spec/sets/0/arguments/-", "value": "-ini:Game:[/Script/DuneSandbox.DuneGameMode]:m_GlobalXPMultiplier=5.0"},
{"op": "add", "path": "/spec/sets/0/arguments/-", "value": "-ini:Game:[/Script/DuneSandbox.DuneGameMode]:m_GlobalHarvestAmountMultiplier=10.0"}
]'
💡 Understanding the Path: > The path
/spec/sets/0/arguments/-uses the-character to safely append the new initialization flag to the end of your existing container execution arguments list without overwriting current data.
🔍 Troubleshooting & Logs
If your game server instances fail to achieve a Ready state or crash-loop after configuration updates, inspect the startup logs immediately.
-
Log Location:
steamcmd/logs/console_log.txt -
Common Fix: Look for database migration or schema conflicts. When scaling or modifying variables that change state rules, a
UniqueViolationerror may occur (e.g.,encrypted_player_state_character_name_gin). Dropping duplicate indexes via your database manager layer will usually clear the obstruction.