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 patch command line (-ini:Game:...) will take precedence over and override the values written directly inside the UserGame.ini or UserEngine.ini flat files upon container startup. Use direct file editing for baseline defaults, and reserving the kubectl patch method 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>"

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 .ini syntax.

  • 8 must 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.