This page discusses the extensive collection of behaviour and gameplay aspect-altering configuration settings of
ARK: Survival Ascended and
ARK: Survival Evolved servers and Single Player/Non-Dedicated sessions.
Dedicated servers are launched via command line using the following syntax to specify runtime options as a single line string:
Options having a red background are deprecated and may no longer work, most of time their presence when using an external tool (e.g.: ASM) is harmless unless different stated. Undocumented options are stated too: please, beware their behaviour has been inferred by reverse engineering of ShooterGameServer executable bits. Such options and are not officially supported by Wildcard and may result in undefined behaviour.
Finally, although not suggested for easy of usage and command line readability, additional options may be set using the (?
) syntax from GameUserSettings.ini (see Configuration Files for its location).
Most options can also be specified in the game configuration files. The location of the configuration files varies by platform:
Single Player and Non-Dedicated can access their game files through the Steam and Epic launchers:
For all supported platforms, options are listed one per line using the same basic syntax:
All options in the configuration file require a value. If an option is not listed in the configuration file, its default value is used automatically.
With these options in the configuration file, the server can be launched with a much shorter command line. For Linux:
ASA
|
ASE
|
Variable
|
Description
|
Since patch
|
|
|
ModIDS
|
Value type: ModID Specifies a single Steam Workshop Mods/Maps/TC ID to download/install/update on the server. To handle multiple IDs, multiple lines must be added with the same syntax, each one with the specific workshop ID. Requires -automanagedmods in the command line. Example:
[ModInstaller]
ModIDS=123456789
ModIDS=987654321
ModIDS=147852369
Note: to active mods it's required to use the ActiveMods options in [ServerSettings] section of GameUserSettings.ini or in the command line. | 244.3 |
Creature Spawn related
ConfigAddNPCSpawnEntriesContainer
ConfigAddNPCSpawnEntriesContainer=(
[NPCSpawnEntriesContainerClassString="<spawn_class>"],
[NPCSpawnEntries=(([AnEntryName="<spawn_name>"],
[EntryWeight=<factor>],
[NPCsToSpawnStrings=("<entity_id>")]))],
[NPCSpawnLimits=(([NPCClassString="<entity_id>"],
[MaxPercentageOfDesiredNumToAllow=<percentage>]))])
Arguments:
spawn_class |
string |
Spawn Group Container Class Name, see Spawn entries
|
spawn_name |
string |
Spawn Name
|
factor |
float |
Weight Factor for this spawn
|
entity_id |
string |
Entity ID of the creature to be added, see Creature IDs
|
percentage |
float |
Sets the maximum allowed creatures for this instance
|
Allows specified creatures to spawn in specified locations directly through the spawners limited to what is specified.
Examples:
Adding Giganotosaurus to the beach spawn area:
ConfigAddNPCSpawnEntriesContainer=(
NPCSpawnEntriesContainerClassString="DinoSpawnEntriesBeach_C",
NPCSpawnEntries=((AnEntryName="GigaSpawner", EntryWeight=1.0, NPCsToSpawnStrings=("Gigant_Character_BP_C"))),
NPCSpawnLimits=((NPCClassString="Gigant_Character_BP_C", MaxPercentageOfDesiredNumToAllow=0.01))
)
Adding a pack of two Dodos and a Rex to the Herbivore Island:
ConfigAddNPCSpawnEntriesContainer=(
NPCSpawnEntriesContainerClassString="DinoSpawnEntriesDamiensAtoll_C",
NPCSpawnEntries=(
(AnEntryName="Dodos (2)", EntryWeight=1.0, NPCsToSpawnStrings=("Dodo_Character_BP_C","Dodo_Character_BP_C")),
(AnEntryName="Rex (1)", EntryWeight=0.5, NPCsToSpawnStrings=("Rex_Character_BP_C"))
),
NPCSpawnLimits=(
(NPCClassString="Dodo_Character_BP_C", MaxPercentageOfDesiredNumToAllow=0.5),
(NPCClassString="Rex_Character_BP_C", MaxPercentageOfDesiredNumToAllow=0.01)
)
)
The examples provided here are split into multiple lines for space considerations. In the configuration file, each entry must be placed entirely on a single line and without spaces.
More advanced arguments are treated in Advanced *NPCSpawnEntriesContainer usage.
ConfigSubtractNPCSpawnEntriesContainer
ConfigSubtractNPCSpawnEntriesContainer=(
[NPCSpawnEntriesContainerClassString="<spawn_class>"],
[NPCSpawnEntries=((NPCsToSpawnStrings=("<entity_id>")))],
[NPCSpawnLimits=((NPCClassString="<entity_id>"))])
Arguments:
Completely removes specified creatures from specified locations. More than one creature can be specified.
You cannot reference the same Spawn Entry in multiple lines and have them all take effect, even if the Entity ID or Spawn Class referenced is different between each line. If removing multiple creatures from the same Spawn Entry, use one line to do so.
Example: removing Trike and Ptera from the Beach.
ConfigSubtractNPCSpawnEntriesContainer=(
NPCSpawnEntriesContainerClassString="DinoSpawnEntriesBeach_C",
NPCSpawnEntries=(
(NPCsToSpawnStrings=("Trike_Character_BP_C")),
(NPCsToSpawnStrings=("Ptero_Character_BP_C"))
),
NPCSpawnLimits=(
(NPCClassString="Trike_Character_BP_C"),
(NPCClassString="Ptero_Character_BP_C")
)
)
The example provided is are split into multiple lines for space considerations. In the configuration file, each entry must be placed entirely on a single line and without spaces.
More advanced arguments are treated in Advanced *NPCSpawnEntriesContainer usage.
ConfigOverrideNPCSpawnEntriesContainer
ConfigOverrideNPCSpawnEntriesContainer=(
[NPCSpawnEntriesContainerClassString="<spawn_class>"],
[NPCSpawnEntries=(([AnEntryName="<spawn_name>"],
[EntryWeight=<factor>],
[NPCsToSpawnStrings=("<entity_id>")]))],
[NPCSpawnLimits=(([NPCClassString="<entity_id>"],
[MaxPercentageOfDesiredNumToAllow=<percentage>]))])
Arguments:
spawn_class |
string |
Spawn Class String, see Spawn entries
|
spawn_name |
string |
Spawn Name
|
factor |
float |
Weight Factor for this spawn
|
entity_id |
string |
Entity ID of the creature to override other spawns, see Creature IDs
|
percentage |
float |
Sets the maximum allowed creatures for this instance
|
Overrides all creatures within a specified area with specified creatures, allowing areas to be dedicated for the spawning of specific creatures. Does not prevent wanderers from entering said location.
Example: only Rex and Carno spawns in the Mountain Region
ConfigOverrideNPCSpawnEntriesContainer=(
NPCSpawnEntriesContainerClassString="DinoSpawnEntriesMountain_C",
NPCSpawnEntries=(
(AnEntryName="CarnoSpawner", EntryWeight=1.0, NPCsToSpawnStrings=("Carno_Character_BP_C")),
(AnEntryName="RexSpawner", EntryWeight=1.0, NPCsToSpawnStrings=("Rex_Character_BP_C"))
),
NPCSpawnLimits=(
(NPCClassString="Carno_Character_BP_C", MaxPercentageOfDesiredNumToAllow=0.5),
(NPCClassString="Rex_Character_BP_C", MaxPercentageOfDesiredNumToAllow=0.5)
)
)
The example provided here is split into multiple lines for space considerations. In the configuration file, each entry must be placed entirely on a single line and without spaces.
More advanced arguments are treated in Advanced *NPCSpawnEntriesContainer usage.
Advanced *NPCSpawnEntriesContainer usage
The following arguments can be used to the *NPCSpawnEntriesContainer
options:
- To set the distance for each spawn entry:
[NPCsSpawnOffsets=((X=<float>,Y=<float>,Z=<float>),...,(X=<float>,Y=<float>,Z=<float>))]
- where each X,Y,Z sets the distance in unreal units from the spawn point for each entry.
- To set the spawn percentage change for each spawn entry:
[NPCsToSpawnPercentageChance=(<float>,...,<float>)]
- where each value sets chance from 0 to 1.0 (100%) for an entry to be in that spawn.
- To set a spread radius from the spawn point:
[ManualSpawnPointSpreadRadius=<float>]
- where the values sets the distance in unreal unit from the from the spawn point.
- To set specific difficulty level ranges for each spawn entry:
[NPCDifficultyLevelRanges=(
([EnemyLevelsMin=(<float>,...,<float>)],
[EnemyLevelsMax=(<float>,...,<float>)],
[GameDifficulties=(<float>,...,<float>)]),
...
([EnemyLevelsMin=(<float>,...,<float>)],
[EnemyLevelsMax=(<float>,...,<float>)],
[GameDifficulties=(<float>,...,<float>)]))]
- where for each spawn entry there is a group of
EnemyLevelsMin
, EnemyLevelsMax
and GameDifficulties
. Each of those settings define respectively base levels, the max levels and the difficult offsets on which wild creatures scale. See Difficulty Level for more details.
- To set the minimum and maximum spawn offsets in height, useful for flyers and water creatures:
[RandGroupSpawnOffsetZMin=<float>],
[RandGroupSpawnOffsetZMax=<float>]
- where they sets respectively the minimum and maximum offsets in unreal unit.
Example: add small groups (from 1 to 2 samples) of Anglerfish in the DinoSpawnEntries_Ocean_C
spawn container, with a linear level distribution up to DifficultyOffset=5.0
ConfigAddNPCSpawnEntriesContainer=(
NPCSpawnEntriesContainerClassString="DinoSpawnEntries_DarkWaterAngler_C",
NPCSpawnEntries=(
(AnEntryName="Anglers(1-2)",
EntryWeight=0.9,
NPCsToSpawnStrings=("Angler_Character_BP_C","Angler_Character_BP_C"),
NPCsSpawnOffsets=(
(X=0.0,Y=0.0,Z=0.0),
(X=0.0,Y=250.0,Z=0.0)
),
NPCsToSpawnPercentageChance=(1.0,0.5),
ManualSpawnPointSpreadRadius=650.0,
NPCDifficultyLevelRanges=(
(EnemyLevelsMin=(1.0,1.0,1.0,1.0,1.0,1.0),
EnemyLevelsMax=(30.0,30.0,30.0,30.0,30.0,30.0),
GameDifficulties=(0.0,1.0,2.0,3.0,4.0,5.0)),
(EnemyLevelsMin=(1.0,1.0,1.0,1.0,1.0,1.0),
EnemyLevelsMax=(30.0,30.0,30.0,30.0,30.0,30.0),
GameDifficulties=(0.0,1.0,2.0,3.0,4.0,5.0))
)
RandGroupSpawnOffsetZMin=1200.0,
RandGroupSpawnOffsetZMax=5000.0)),
NPCSpawnLimits=(
(NPCClassString="Angler_Character_BP_C",
MaxPercentageOfDesiredNumToAllow=0.35)
)
)
The example provided here is split into multiple lines for space considerations. In the configuration file, each entry must be placed entirely on a single line and without spaces.
- More arguments about levels:
[NPCOverrideLevel=<integer>]
[NPCMaxLevelOffset=<float>]
[NPCMaxLevelOffset=<float>]
[NPCMinLevelMultiplier=<float>]
[NPCMaxLevelMultiplier=<float>]
[bAddLevelOffsetBeforeMultiplier=<1>]
- it is possible to combine such arguments in a similar way to
NPCDifficultyLevelRanges
to override base levels of creatures, their minimum and max levels as well their relative multiplier.
- In a game where
DifficultyOffset=5.0
, to set only Parasaur at level 1 to spawn in The Dead Island:
ConfigOverrideNPCSpawnEntriesContainer=(
NPCSpawnEntriesContainerClassString="DinoSpawnEntriesMonsterIsland_C",
NPCSpawnEntries=(
(AnEntryName="Parasaur lvl 1",
NPCsToSpawnStrings=("Para_Character_BP_C"),
NPCOverrideLevel=(1))
)
)
- To set them all spawn at max level add:
NPCOverrideLevel=(1),
NPCMinLevelOffset=(30.0),
NPCMaxLevelOffset=(30.0))))
- To double their max level change in:
(AnEntryName="Parasaur lvl 1",
NPCMinLevelMultiplier=(1.0),
NPCMaxLevelMultiplier=(2.0))))
- To increase their level by 150 change in:
NPCsToSpawnStrings=("Para_Character_BP_C"),
NPCMinLevelOffset=(30.0),
NPCMaxLevelOffset=(30.0))))
- To double their max level and set a minimum level of 150 change in:
NPCsToSpawnStrings=("Para_Character_BP_C"),
NPCMinLevelOffset=(30.0),
NPCMaxLevelOffset=(30.0),
NPCMinLevelMultiplier=(1.0),
NPCMaxLevelMultiplier=(2.0))))
- To increase their minimum level by 150 and then double them change in:
NPCsToSpawnStrings=("Para_Character_BP_C"),
bAddLevelOffsetBeforeMultiplier=1,
NPCMinLevelOffset=(30.0),
NPCMaxLevelOffset=(30.0),
NPCMinLevelMultiplier=(1.0),
NPCMaxLevelMultiplier=(2.0))))
The examples provided here are split into multiple lines for space considerations. In the configuration file, each entry must be placed entirely on a single line and without spaces.
DinoSpawnWeightMultipliers
DinoSpawnWeightMultipliers=(
DinoNameTag=<tag>
[,SpawnWeightMultiplier=<factor>]
[,OverrideSpawnLimitPercentage=<override>]
[,SpawnLimitPercentage=<limit>])
Arguments:
tag |
string |
Creature type to adjust, see Creature IDs (column Name Tags)
|
factor |
float |
Weight factor for this type
|
override |
booleaon |
If True , use the specified SpawnLimitPercentage
|
limit |
float |
Maximum percentage (among all spawns) for this type
|
Customizes the spawning rate for a given creature type (at all creature spawn points). Types with a larger SpawnWeightMultiplier
are selected more often when spawning new creatures than types with lower multipliers. When OverrideSpawnLimitPercentage
is specified (and True
), the type will never be spawned more than SpawnLimitPercentage * 100
percent of the time, regardless of multiplier. For example, a SpawnLimitPercentage
of 0.25
specifies that the type will be selected for spawning no more than 25% of the time. Note that the SpawnLimitPercentage
is calculated per spawn region (aka 'Spawn Entry Container') and not against the global spawn population. A limit of 0.1 means 10% of the creatures in any given region and *NOT* 10% of the map-size population.
Multiple DinoSpawnWeightMultipliers
entries can be specified in the file, but DinoNameTag
values should not be repeated across multiple entries.
DinoSpawnWeightMultipliers=(
DinoNameTag=Bronto,
SpawnWeightMultiplier=10.0,
OverrideSpawnLimitPercentage=True,
SpawnLimitPercentage=0.5
)
The example provided here is split into multiple lines for space considerations. In the configuration file, each entry must be placed entirely on a single line and without spaces.
NPCReplacements
NPCReplacements=(FromClassName="<classname>", ToClassName="<classname>")
Arguments:
This can be used to disable specific Alpha Creatures, replace the spawns of a particular NPC (NPC=Non-player character, i.e., a creature) with that of a different NPC, or completely disable any specific NPC spawn.
NPCReplacements=(FromClassName="MegaRaptor_Character_BP_C", ToClassName="Dodo_Character_BP_C")
Dynamic Config:
As of 319.14, NPC replacements can be defined through the dynamic config. However, the syntax is slightly different. Rather than having multiple entries each defining a single replacement, it must be a single-entry mapping all of them. For example (note the extra brackets):
NPCReplacements=((FromClassName="MegaRaptor_Character_BP_C", ToClassName="Dodo_Character_BP_C"))
Any additional replacements must be mapped inside that set separated by a comma like so:
NPCReplacements=((FromClassName="MegaRaptor_Character_BP_C", ToClassName="Dodo_Character_BP_C"), (FromClassName="Coel_Character_BP_C", ToClassName="Piranha_Character_BP_C"))
Creature stats related
DinoClassDamageMultipliers
DinoClassDamageMultipliers=(ClassName="<string>",Multiplier=<float>)
TamedDinoClassDamageMultipliers=(ClassName="<string>",Multiplier=<float>)
Arguments:
string = creature classname
float = multiplier, default: 1.0
|
Multiplies damage dealt of specific creatures via classname. Higher values increase the damage dealt.
Creature classnames can be found on the Creature IDs page. Multiple DinoClassDamageMultipliers
and TamedDinoClassDamageMultipliers
entries can be specified in the file, but classname values should not be repeated across multiple entries.
Examples:
DinoClassDamageMultipliers=(
ClassName="MegaRex_Character_BP_C",
Multiplier=0.1
)
TamedDinoClassDamageMultipliers=(
ClassName="Rex_Character_BP_C",
Multiplier=10.0
)
The examples provided here are split into multiple lines for space considerations. In the configuration file, each entry must be placed entirely on a single line and without spaces.
DinoClassResistanceMultipliers
DinoClassResistanceMultipliers=(ClassName="<string>",Multiplier=<float>)
TamedDinoClassResistanceMultipliers=(ClassName="<string>",Multiplier=<float>)
Arguments:
string = creature classname
float = multiplier, default = 1.0
|
Multiplies resistance of specific creatures via classname. Higher values decrease the damage received.
Creature classnames can be found on the Creature IDs page.
The examples provided here are split into multiple lines for space considerations. In the configuration file, an entry must be placed on a single line. Multiple DinoClassResistanceMultipliers
and TamedDinoClassResistanceMultipliers
entries can be specified in the file, but classname values should not be repeated across multiple entries.
Examples:
DinoClassResistanceMultipliers=(
ClassName="MegaRex_Character_BP_C",
Multiplier=0.1
)
TamedDinoClassResistanceMultipliers=(
ClassName="Rex_Character_BP_C",
Multiplier=10.0
)
The examples provided here are split into multiple lines for space considerations. In the configuration file, each entry must be placed entirely on a single line and without spaces.
TamedDinoClassSpeedMultipliers
TamedDinoClassSpeedMultipliers=(ClassName="<string>",Multiplier=<float>)
Arguments:
string = creature classname
float = multiplier, default: 1.0
|
Multiplies base speed of specific creatures via classname. Higher values increase the speed.
Creature classnames can be found on the Creature IDs page. Multiple TamedDinoClassSpeedMultipliers
entries can be specified in the file, but classname values should not be repeated across multiple entries.
TamedDinoClassSpeedMultipliers=(
ClassName="Argent_Character_BP_C",
Multiplier=2.0
)
The examples provided here are split into multiple lines for space considerations. In the configuration file, each entry must be placed entirely on a single line and without spaces.
TamedDinoClassStaminaMultipliers
TamedDinoClassStaminaMultipliers=(ClassName="<string>",Multiplier=<float>)
Arguments:
string = creature classname
float = multiplier, default: 1.0
|
Multiplies the Stamina of specific creatures via classname. Higher values increase the stamina.
Creature classnames can be found on the Creature IDs page. Multiple TamedDinoClassStaminaMultipliers
entries can be specified in the file, but classname values should not be repeated across multiple entries.
TamedDinoClassStaminaMultipliers=(
ClassName="Ptero_Character_BP_C",
Multiplier=5.0
)
The examples provided here are split into multiple lines for space considerations. In the configuration file, each entry must be placed entirely on a single line and without spaces.
Engram Entries related
OverrideEngramEntries and OverrideNamedEngramEntries
OverrideEngramEntries=(EngramIndex=<index>
[,EngramHidden=<hidden>]
[,EngramPointsCost=<cost>]
[,EngramLevelRequirement=<level>]
[,RemoveEngramPreReq=<remove_prereq>])
OverrideNamedEngramEntries=(EngramClassName="<class_name>"
[,EngramHidden=<hidden>]
[,EngramPointsCost=<cost>]
[,EngramLevelRequirement=<level>]
[,RemoveEngramPreReq=<remove_prereq>])
Arguments:
index |
integer |
Index of the engram
|
class_name |
integer |
Class name of the engram
|
hidden |
boolean |
If True , hides the engram in the players' Engrams panel
|
cost |
integer |
Engram points needed to learn engram
|
level |
integer |
Minimum level needed to learn engram
|
remove_prereq |
boolean |
If True , removes the need of prerequisite engrams to learn this engram.
|
Configures the status and requirements for learning an engram. For OverrideEngramEntries the EngramIndex
argument is always required, for OverrideNamedEngramEntries the EngramClassName
argument is always required; the rest are optional, but at least one must be provided in order for the option to have any effect. The option may be repeated in Game.ini once for each engram to be configured.
For the Engram Index and Engram Class Name see Engram classnames.
The examples provided here are split into multiple lines for space considerations. In the configuration file, an entry must be placed entirely on a single line and without spaces. Multiple OverrideEngramEntries
and OverrideNamedEngramEntries
entries can be specified in the file, but EngramIndex
and EngramClassName
values should not be repeated across multiple entries.
Examples:
OverrideEngramEntries=(EngramIndex=0,EngramHidden=False)
OverrideEngramEntries=(EngramIndex=1,EngramHidden=False,EngramPointsCost=3,EngramLevelRequirement=3,RemoveEngramPreReq=True)
OverrideNamedEngramEntries=(EngramClassName="EngramEntry_Campfire_C",EngramHidden=False)
OverrideNamedEngramEntries=(EngramClassName="EngramEntry_StoneHatchet_C",EngramHidden=False,EngramPointsCost=3,EngramLevelRequirement=3, RemoveEngramPreReq=True)
EngramEntryAutoUnlocks
EngramEntryAutoUnlocks=(EngramClassName="<string>",LevelToAutoUnlock=<integer>)
string |
Engram Classname
|
integer |
Level you need to gain to unlock the Engram automatically
|
Automatically unlocks the specified Engram when reaching the level specified.
This example unlocks the Tek Teleporter with level 0:
EngramEntryAutoUnlocks=(
EngramClassName="EngramEntry_TekTeleporter_C",
LevelToAutoUnlock=0
)
The example provided here is split into multiple lines for space considerations. In the configuration file, each entry must be placed entirely on a single line and without spaces.
Items related
Every Item Class String can be found in the Dev Kit. Currently doesn't change the repair cost and demolish refund of edited structures. This can result in potential exploit for lowered crafting costs and may make structures unrepairable.
Note: if using stack mods, refer to the mod new resources instead of vanilla ones (i.e.: PrimalItemResource_Electronics_Child_C instead of PrimalItemResource_Electronics_C).
ConfigOverrideItemCraftingCosts
This is an example of how to make the Hatchet require 1 thatch and 2 stone arrows to craft.
ConfigOverrideItemCraftingCosts=(
ItemClassString="PrimalItem_WeaponStoneHatchet_C",
BaseCraftingResourceRequirements=(
(ResourceItemTypeString="PrimalItemResource_Thatch_C",
BaseResourceRequirement=1.0,
bCraftingRequireExactResourceType=False),
(ResourceItemTypeString="PrimalItemAmmo_ArrowStone_C",
BaseResourceRequirement=2.0,
bCraftingRequireExactResourceType=False)
)
)
Here is an example to make the torch requiring 3 raw meat and 2 cooked meat to craft (because ya know, Meat Torches are the best torches!)
ConfigOverrideItemCraftingCosts=(
ItemClassString="PrimalItem_WeaponTorch_C",
BaseCraftingResourceRequirements=(
(ResourceItemTypeString="PrimalItemConsumable_RawMeat_C",
BaseResourceRequirement=3.0,
bCraftingRequireExactResourceType=False),
(ResourceItemTypeString="PrimalItemConsumable_CookedMeat_C",
BaseResourceRequirement=2.0,
bCraftingRequireExactResourceType=False)
)
)
The examples provided here are split into multiple lines for space considerations. In the configuration file, each entry must be placed entirely on a single line and without spaces.
ConfigOverrideItemMaxQuantity
ConfigOverrideItemMaxQuantity=(ItemClassString="<string>",Quantity=(MaxItemQuantity=<integer>, bIgnoreMultiplier=<boolean>))
Arguments:
string |
Class Name of the item that will be overridden to new stack size
|
integer |
New stack size of the specified item
|
boolean |
If False , that means that the real stack size is ItemStackSizeMultiplier * MaxItemQuantity for that item
if True , it uses MaxItemQuantity directly and ignores the multiplier
|
Allows manually overriding item stack size on a per-item basis.
Example to make the Tranq Arrows stack to 543 items per stack.
ConfigOverrideItemMaxQuantity=(
ItemClassString="PrimalItemAmmo_ArrowTranq_C",
Quantity=(MaxItemQuantity=543,bIgnoreMultiplier=True)
)
The example provided here is split into multiple lines for space considerations. In the configuration file, each entry must be placed entirely on a single line and without spaces.
ConfigOverrideSupplyCrateItems
Allows manually overriding items contained in loot crates. Each loot crate can have one or multiple item sets. Each set can have one or multiple items grouped in one or multiple entries.
ConfigOverrideSupplyCrateItems=(SupplyCrateClassString="<string>",MinItemSets=<integer>,MaxItemSets=<integer>,NumItemSetsPower=<float>,bSetsRandomWithoutReplacement=<boolean>[,bAppendItemSets=<boolean>][,bAppendPreventIncreasingMinMaxItemSets=<boolean>],ItemSets=([SetName="<string>",]MinNumItems=<integer>,MaxNumItems=<integer>,NumItemsPower=<float>,SetWeight=<float>,bItemsRandomWithoutReplacement=<boolean>,ItemEntries=([ItemEntryName="<string>",]EntryWeight=<float>,ItemClassStrings=("<string>"[,...n]),ItemsWeights=(<float>[,...n]),MinQuantity=<float>,MaxQuantity=<float>,MinQuality=<float>,MaxQuality=<float>,bForceBlueprint=<boolean>,ChanceToBeBlueprintOverride=<float>[,bForcePreventGrinding=<boolean>][,ItemStatClampsMultiplier=<float>]))[,...m])
Arguments:
Crate options
|
SupplyCrateClassString
|
string
|
Quoted Class Name of the loot crate that will be overridden.
|
MinItemSets
|
integer
|
The minimum number of item sets that will be in the loot crate.
|
MaxItemSets
|
integer
|
The maximum number of item sets that will be in the loot crate.
|
NumItemSetsPower
|
float
|
Item quality for all sets in the loot crate. Default: 1.0.
|
bSetsRandomWithoutReplacement
|
boolean
|
If True , ensures any item of any sets will never be added multiple times to the same loot crate.
|
bAppendItemSets
|
boolean
|
Optional, if True , the item sets will be added to the loot crate instead of totally replace its content. Default: False
|
bAppendPreventIncreasingMinMaxItemSets
|
boolean
|
Optional, if True , dynamically increases the amount of items dropped by however many additional item-sets added. If False , the MinItemSets and MaxItemSets original crate values will be increased by the provided values. Requires bAppendItemSets=True . Default: False
|
ItemSets
|
string
|
Defines one or multiple item sets.
|
Sets options
|
SetName
|
string
|
Optional, quoted name of the set.
|
MinNumItems
|
integer
|
The minimum number of items in this set that can be in the loot crate.
|
MaxNumItems
|
integer
|
The maximum number of items in this set that can be in the loot crate.
|
NumItemsPower
|
float
|
Item quality multiplier for this set.
|
SetWeight
|
float
|
Weight factor for this set to be in the crate. Higher the weight higher the chance. Default: 1.0.
|
bItemsRandomWithoutReplacement
|
boolean
|
If True , ensures each item of this set will never be added twice to the same loot crate.
|
ItemEntries
|
string
|
Defines one or multiple item entries in this set.
|
Entries options
|
ItemEntryName
|
string
|
Optional, quoted name of the item entry.
|
EntryWeight
|
float
|
Weight factor for this entry to be in its set. Higher the weight higher the chance. Default: 1.0.
|
ItemClassStrings
|
string
|
Comma separated Class Names list of items added in this entry. Each class name must be between quotes. Its elements number must match the ItemsWeights list. Despite its length, the list must be between parenthesis.
|
ItemsWeights
|
float
|
Comma separated weight factors list of items in this entry. Its elements number must match the ItemClassStrings list. Despite its length, the list must be between parenthesis.
|
MinQuantity
|
float
|
The minimum number of items if this entry that can be in the loot crate. Note: this value is still limited by its set MinNumItems and MaxNumItems values.
|
MaxQuantity
|
float
|
The maximum number of items if this entry that can be in the loot crate. Note: this value is still limited by its set MinNumItems and MaxNumItems values.
|
MinQuality
|
float
|
Items minimum quality in this entry. Default: 1.0.
|
MaxQuality
|
float
|
Items maximum quality in this entry. Default: 1.0.
|
bForceBlueprint
|
boolean
|
If True , the items of this entry will be always a blueprint. Default: false.
|
ChanceToBeBlueprintOverride
|
float
|
Normalized probability of items of this entry to be a blueprint. Note: 1.0 means 100%. Default: 0.0.
|
bForcePreventGrinding
|
boolean
|
Optional, if True , the items of this entry cannot be ground. Default: false.
|
ItemStatClampsMultiplier
|
float
|
Optional, normalized value about how much the items can differ from clamps values. Note: 1.0 means 100%. Default: 1.0.
|
Since patch 273.7 SupplyCrateClassString
also takes a part of the class name[3]. E.g.: "SupplyCrate" will override all supply crates.
All of the Item class strings and Supply Crate names can be found in the ARK Dev Kit and on page Beacon IDs.
This example completely overrides the items contained in the regular Level 3 supply crate, to contain just some stone and thatch:
ConfigOverrideSupplyCrateItems=(
SupplyCrateClassString="SupplyCrate_Level03_C",
MinItemSets=1,
MaxItemSets=1,
NumItemSetsPower=1.0,
bSetsRandomWithoutReplacement=True,
ItemSets=(
(MinNumItems=2,
MaxNumItems=2,
NumItemsPower=1.0,
SetWeight=1.0,
bItemsRandomWithoutReplacement=True,
ItemEntries=(
(EntryWeight=1.0,
ItemClassStrings=("PrimalItemResource_Stone_C"),
ItemsWeights=(1.0),
MinQuantity=10.0,
MaxQuantity=10.0,
MinQuality=1.0,
MaxQuality=1.0,
bForceBlueprint=False,
ChanceToBeBlueprintOverride=0.0),
(EntryWeight=1.0,
ItemClassStrings=("PrimalItemResource_Thatch_C"),
ItemsWeights=(1.0),
MinQuantity=10.0,
MaxQuantity=10.0,
MinQuality=1.0,
MaxQuality=1.0,
bForceBlueprint=False,
ChanceToBeBlueprintOverride=0.0)
)
)
)
)
The example provided here is split into multiple lines for space considerations. In the configuration file, each entry must be placed entirely on a single line and without spaces.
HarvestResourceItemAmountClassMultipliers
HarvestResourceItemAmountClassMultipliers=(ClassName="<string>",Multiplier=<float>)
string |
Class Name of resource, see Item IDs
|
float |
Default: 1.0
|
Scales on a per-resource type basis, the amount of resources harvested. Higher values increase the amount per swing/attack. Resource classnames can be found at Item IDs. It works in the same way as the global setting HarvestAmountMultiplier
but for only the type of resource named on this line. Additional lines can be added with other resource types, such as Wood, Stone etc.
Example that provides twice the amount harvested when harvesting thatch from a tree:
HarvestResourceItemAmountClassMultipliers=(
ClassName="PrimalItemResource_Thatch_C",
Multiplier=2.0
)
The example provided here is split into multiple lines for space considerations. In the configuration file, each entry must be placed entirely on a single line and without spaces.
ItemStatClamps
NOTE: The command line argument ClampItemStats
need to be set to True
for the clamping to be enabled on your server. See Command Line Syntax.
ItemStatClamps[<attribute>]=<value>
Arguments:
attribute |
integer |
0: Generic Quality
1: Armor
2: Max Durability
3: Weapon Damage Percent
4: Weapon Clip Ammo
5: Hypothermal Insulation
6: Weight
7: Hyperthermal Insulation
|
value |
integer |
The algorithm used appears to be the following:
<Initial Value Constant> + ((<ItemStatClamps[<attribute>]> * <State Modifier Scale>) * (<Randomizer Range Multiplier> * <Initial Value Constant>))
Each items have their own specific data which can be found in the Dev Kit.
|
For example, here are the values needed to have the same clamping as official servers for Armor
and Weapon Damage Percent
:
ItemStatClamps[1]=19800
ItemStatClamps[3]=19800
This would clamp Saddles to 124.0
armour (74.5
for the 'tank' creatures such as Doedicurus, Rock Elemental, etc.), Flak Armor pieces to 496.0
armour, Longneck Rifle to 298.0%
damage, etc.
WARNING: This will permanently change the stats of any existing items so make sure to backup your current save before modifying and playing with the clamping values.
Players and tames levels override related
LevelExperienceRampOverrides=(ExperiencePointsForLevel[<n>]=<points>,[ExperiencePointsForLevel[<n>]=<points>],...,[ExperiencePointsForLevel[<n>]=<points>])
Arguments:
n |
integer |
Level to configure
|
points |
integer |
Points needed to reach level
|
Configures the total number of levels available to players and creatures and the experience points required to reach each level.
This directive can be specified twice in the configuration file. The first time it appears, the values provided will configure player levels. The second time it appears, the values provided will configure tame creature levels.
Because of this, each time the directive is used, it must list all the levels players/tames can reach on the server. One ExperiencePointsForLevel
argument must appear for each desired level. Values for <n>
must be sequential, starting from zero. Keep in mind that the last 100 levels are used for ascension, chibi experience, explorer notes and rune rewards, meaning that you have to put 100 extra levels in your configuration file.
This first example specifies 50 player levels and 15 ascension levels.
LevelExperienceRampOverrides=(
ExperiencePointsForLevel[0]=1,
ExperiencePointsForLevel[1]=5,
...
ExperiencePointsForLevel[64]=1000)
The second example (when placed in the configuration file after the first) specifies 35 tame creature levels.
LevelExperienceRampOverrides=(
ExperiencePointsForLevel[0]=1,
ExperiencePointsForLevel[1]=5,
...
ExperiencePointsForLevel[34]=1000)
The examples provided here are split into multiple lines for space considerations. In the configuration file, each entry must be placed entirely on a single line and without spaces.
Stats related
Attribute index table
This table shows relationships between each stats attribute and its coded index
MutagenLevelBoost
MutagenLevelBoost[<Stat_ID>]=<integer>
Stat_ID |
Index of the attribute to override. See the Attribute index table.
|
integer |
Level points. Default values: 5, 5, 0, 0, 0, 0, 0, 5, 5, 0, 0, 0
|
Number of levels
Mutagen adds to tames with wild ancestry.
The example provided doubles the amounts of level points a mutagen adds on Health and Damage stats but removes the extra level gains into Stamina and Weight:
MutagenLevelBoost[0]=10
MutagenLevelBoost[1]=0
MutagenLevelBoost[7]=0
MutagenLevelBoost[8]=10
MutagenLevelBoost_Bred
MutagenLevelBoost_Bred[<Stat_ID>]=<integer>
Stat_ID |
Index of the attribute to override. See the Attribute index table.
|
integer |
Level points. Default values: 1, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0
|
Like MutagenLevelBoost
, but for bred tame creatures.
The example provided doubles the amounts of level points a mutagen adds on Health and Damage stats but removes the extra level gains into Stamina and Weight:
MutagenLevelBoost_Bred[0]=2
MutagenLevelBoost_Bred[1]=0
MutagenLevelBoost_Bred[7]=0
MutagenLevelBoost_Bred[8]=2
PlayerBaseStatMultipliers
PlayerBaseStatMultipliers[<attribute>]=<multiplier>
Arguments:
attribute |
integer |
See the Attribute index table.
|
multiplier |
float |
Default: 1.0, see table below for the default value
|
Changes the base stats of a player by multiplying with the default value. Meaning the start stats of a new spawned character.
Default values:
Attribute |
default |
output
|
0 Health |
1.0 |
100.0
|
1 Stamina |
1.0 |
100.0
|
2 Torpidity |
1.0 |
200.0 (you still become unconscious at 50 regardless of total amount)
|
3 Oxygen |
1.0 |
100.0
|
4 Food |
1.0 |
100.0
|
5 Water |
1.0 |
100.0
|
6 Temperature |
0.0 |
0.0 (Unused stat)
|
7 Weight |
1.0 |
100.0
|
8 MeleeDamageMultiplier |
0.0 |
100% (Base cannot be increased)
|
9 SpeedMultiplier |
0.0 |
100% (Base cannot be increased)
|
10 TemperatureFortitude |
0.0 |
0 (Base cannot be increased)
|
11 CraftingSpeedMultiplier |
0.0 |
100% (Base cannot be increased)
|
PerLevelStatsMultiplier
PerLevelStatsMultiplier_DinoTamed<type>[<attribute>]=<multiplier>
PerLevelStatsMultiplier_DinoWild[<attribute>]=<multiplier>
PerLevelStatsMultiplier_Player[<attribute>]=<multiplier>
Arguments:
type |
text |
no type given: Multiplier applied for each tamed level-up point.
_Add: Multiplier immediately added for tamed creature.
_Affinity: Multiplier applied dependant on affinity.
|
attribute |
integer |
See the Attribute index table.
|
multiplier |
float |
Default: 1.0 or see table below
|
Allows changing the amount of stats gained for each level:
PerLevelStatsMultiplier_Player
changes the amount for players.
PerLevelStatsMultiplier_DinoTamed
changes the amount for tamed creatures.
PerLevelStatsMultiplier_DinoWild
changes the amount for wild creatures.
To nearly disable gaining stats use 0.01 because setting the value to 0 makes it default to 1.0.
Default Values:
Attribute |
Wild |
Tamed |
Tamed_Add |
Tamed_Affinity
|
0 Health |
1 |
0.2 |
0.14 |
0.44
|
1 Stamina |
1 |
1 |
1 |
1
|
2 Torpidity |
1 |
1 |
1 |
1
|
3 Oxygen |
1 |
1 |
1 |
1
|
4 Food |
1 |
1 |
1 |
1
|
7 Weight |
1 |
1 |
1 |
1
|
8 Damage |
1 |
0.17 |
0.14 |
0.44
|
9 Speed |
1 |
1 |
1 |
1
|
Example how to double the weight-increase per level for players:
PerLevelStatsMultiplier_Player[7]=2.0
Example for different types effecting Health of a tamed creatures:
PerLevelStatsMultiplier_DinoTamed[0]=1.0
PerLevelStatsMultiplier_DinoTamed_Add[0]=1.0
PerLevelStatsMultiplier_DinoTamed_Affinity[0]=1.0
Single Player Settings
If bUseSingleplayerSettings=True
than the following options are applied additionally to the configured (or default) values:
Option |
Base value |
Additional multiplier
|
BabyCuddleIntervalMultiplier |
ini |
x 0.17
|
BabyMatureSpeedMultiplier |
ini |
x 35.0
|
AllowRaidDinoFeeding |
True |
N/A
|
bAllowUnlimitedRespecs |
True |
N/A
|
CropGrowthSpeedMultiplier |
ini |
x 4.0
|
EggHatchSpeedMultiplier |
ini |
x 9.0
|
HairGrowthSpeedMultiplier |
ini |
x 0.69999999
|
MatingIntervalMultiplier |
ini |
x 0.15000001
|
PerLevelStatsMultiplier_DinoTamed_Add[0] |
ini |
x 3.5714285
|
PerLevelStatsMultiplier_DinoTamed_Add[8] |
ini |
x 3.5714285
|
PerLevelStatsMultiplier_DinoTamed_Affinity[0] |
ini |
x 2.2727273
|
PerLevelStatsMultiplier_DinoTamed_Affinity[8] |
ini |
x 2.2727273
|
PerLevelStatsMultiplier_DinoTamed[0] |
ini |
x 2.125
|
PerLevelStatsMultiplier_DinoTamed[8] |
ini |
x 2.3529413
|
RaidDinoCharacterFoodDrainMultiplier |
ini |
x 0.40000001
|
TamingSpeedMultiplier |
ini |
x 2.5
|
UseCorpseLifeSpanMultiplier |
6.0 |
N/A
|
Where ini means the default or already set option is scaled by the value in the Additional multiplier column, e.g.:
- If
BabyMatureSpeedMultiplier
has not been set or left at default value of 1.0, with single player settings the final value would be 35.0.
- If
BabyMatureSpeedMultiplier
has been set at 2.0 instead, with single player settings the final value would be 70.0.
Finally, the Tek ATV engram will be available.
Ark IDs
An ID is necessary to identify any user conencting to a server whether it is for Administrator Whitelisting,Player Whitelisting, or some other purpose.
For
ARK: Survival Ascended, the game uses Epic Online Services (EOS). The following methods can be used to acquire the necessary Ark ID (a 32 character alphanumeric string, aka EOS ID):
- Start a Single Player map and after creating a survivor, open and expand the console (on PC double tap on Tab ↹), and type the command
whoami
. Record the OSS Id, the 32 character alphanumeric string.
- While connected to a Dedicated Server after creating a character, open and expand the console (on PC double tap on Tab ↹), and type in the command
whoami
. Record the OSS Id, the 32 character alphanumeric string. Also, after enabling cheats, it is also possible to use the command cheat ListPlayers
to display all currently connected players and their Ark IDs.
- In the log of the running server, when a connection attempt is made, the user Ark ID is listed as the
UniqueNetId
.
For
ARK: Survival Evolved, the game uses the Steam API. The following methods can be used to acquire the necessary Ark ID (a 17 digits string for Steam players, aka the Steam ID, and a 19 digits string for Epic Game Store players):
- Start a Local Host map and after creating a Survivor, open the console and expand it with two taps on Tab ↹, type the command
whoami
or ListPlayers
.
- While connected to a Dedicated Server after creating a character, open the console and expand it with two taps on Tab ↹, type the command
whoami
. After enabling cheats, it is also possible to use the command cheat ListPlayers
to display all currently connected players and their ARK IDs.
- Steam players only can also use SteamDB's Calculator to determine their Steam ID:
- Open Steam and click on your profile name in the upper bar, to display the the Steam account profile page.
- Click the address bar just below that to copy the profile URL.
- Open SteamDB's Calculator and paste the profile URL in into the field provided and hit enter. In the table below the currency amounts, it will list the
SteamID
.
Note: whoami
command will display two values, the Online SubSystem ID (OSS Id) and the ARK ID: Epic Game Store players need to take note of the ARK ID only (for Steam players it is literally the same value).
Administrator Whitelisting
First, start by getting necessary Ark IDs.
In
ARK: Survival Ascended players can be whitelisted as administrators on the server via their EOS Id (the 32 character alphanumeric string). These players can use cheat commands on the server automatically, as if they had authenticated themselves via the enablecheats
command.
- To whitelist administrators, create the file
ShooterGame/Saved/AllowedCheaterAccountIDs.txt
. In the file, list each player's Ark ID, one per line.
In
ARK: Survival Evolved players can be whitelisted as administrators on the server via their Steam Id (the 17 character numeric string). These players can use cheat commands on the server automatically, as if they had authenticated themselves via the enablecheats
command.
- To whitelist administrators, create the file
ShooterGame/Saved/AllowedCheaterSteamIDs.txt
. In the file, list each player's Ark IDs, one per line.
Note: When this method is used, it is not necessary to specify a server administrator password. A password can still be specified, and can be used by players not on the whitelist to gain administrator privileges, but the server will function without it and will still automatically grant privileges to whitelisted administrators.
Player Whitelisting
First, start by getting necessary Ark IDs.
A Player Whitelist can come in two forms:
- A Whitelist which allows players to connect to the server when
-exclusivejoin
is added to the command line (confirmed working in both
ARK: Survival Ascended and
ARK: Survival Evolved), or UseExclusiveList=true
is present in GameUserSettings.ini
under [ServerSettings]
, or attached to the command line parameters with the ?
syntax (note: not documented by WildCard and has not been confirmed to work in
ARK: Survival Ascended). Players that are not on this whitelist will not be able to join the server. The regular server password can be discarded if this whitelist is in use. If the server password is left in place, whitelisted players will still need to enter it. This whitelist uses the file /ShooterGame/Binaries/<PLATFORM>/PlayersExclusiveJoinList.txt
. To use the whitelist, insert the necessary Ark IDs into this file, one per line and use one of the three methods above to turn on the whitelist.
- A Whitelist which allows players to bypass the maximum number of players on the server. Players not on this whitelist are still subject to the maximum player count. This whitelist uses the file
/ShooterGame/Binaries/<PLATFORM>/PlayersJoinNoCheckList.txt
. To use the whitelist, insert the necessary Ark IDs into this file, one per line.
Note: In the file paths, <PLATFORM>
is either Linux
or Win64
, depending on host operating system.
For any ID addition or removal in the file, the server needs to restart. However, server admins can use the command Cheat AllowPlayerToJoinNoCheck <ARK_ID>
in the in-game console to add a new players to PlayersJoinNoCheckList.txt
without restarting the server.
Cross-ARK Data Transfer
In Officials, survivors can 'upload' or 'transfer' from any server at any Supply Crate, Terminal, Obelisk and
Tek Transmitter. Survivors can then be 'downloaded' onto any Official Server of that same game mode.
For Unofficial Servers, to allow dynamic Cross-ARK Travel it is needed to run at least two Servers having the same cluster ID and cluster directory, launched with similar command lines:
ShooterGameServer TheIsland?SessionName=MySession1 -clusterid=<CLUSTER_NAME> -ClusterDirOverride="<PATH>"
ShooterGameServer ScorchedEarth_P?SessionName=MySession2 -clusterid=<CLUSTER_NAME> -ClusterDirOverride="<PATH>"
Terminals will than list all the servers with the same clusterid
. The Survivor will then be automatically transferred onto the server selected.
The clusterid
must be the same between the servers, otherwise they would not be allowed to see each other.
It is also needed to specify the cross-server storage location with the -ClusterDirOverride=<PATH>
command line option, e.g.:
- On Linux:
-ClusterDirOverride="/MyARKClusterStorage"
- On Windows:
-ClusterDirOverride="C:\MyARKClusterStorage"
Otherwise, the server would default to ShooterGame\Saved\clusters
preventing each server running at the same time and from different path to see each other.[4]
ARK data settings
It is possible to control what uploads/downloads are allowed in tributes with the following options (command line or GameUserSettnigs.ini):
noTributeDownloads=<boolean>
PreventDownloadSurvivors=<boolean>
PreventDownloadItems=<boolean>
PreventDownloadDinos=<boolean>
PreventUploadSurvivors=<boolean>
PreventUploadItems=<boolean>
PreventUploadDinos=<boolean>
Tames re-upload timer can be controlled with the following option:
MinimumDinoReuploadInterval=<float>
It is also possible to change the expiration timer for uploaded tames, items (cryopod included) and survivors.
TributeCharacterExpirationSeconds=<integer>
TributeDinoExpirationSeconds=<integer>
TributeItemExpirationSeconds=<integer>
Every access to ARK Data will take in account each server settings, and will eventually delete the data if this has expired according to the server settings the data is accessed from. Therefore, it is suggested to keep the same expiration times on every server of the cluster.
Another care to take in consideration is to not use extremely high values for such settings, since these are summed to upload time in Unix Epoch time format and may results in an overflow.
Finally, if TributeCharacterExpirationSeconds
is not set, uploaded survivors will have no expiration timer (the same result is achieved using a value equal or less than 0). This is not true for items and creature expiration settings.
More About Cluster Files and Running Multiple Servers
The cluster files will always be saved under the <ClusterDirOverride>/<clusterid>
directory. This implies a few things:
- For a specific player, downloading (thus, also, transferring) a Survivor onto a server always overwrites whatever Survivor data was previously there. Inversely, there can only one Survivor 'Uploaded'.
- If two servers share the same
clusterid
but they do not share the same cluster directory (different <ClusterDirOverride>
), players will still see on transfer list such servers but they will not be able to download (and thus also transfer) anything uploaded from a server to another.
- If you select a
clusterid
that is common, there is a high chance that your server list eventually becomes "polluted" by other servers that are configured to use the same clusterid
which can confuse players since the data is not shared with those other servers. Given this issue, it's suggested to not use a common clusterid
name as other unconnected servers could be listed while the players are using the transfers.
Advanced cluster managements clarifications
The following considerations are left for experts administrators only and require proper testing before putting such setups in production:
It is possible to set a shared location between different physical or virtual machines to use a common -clusterid
. If over a network, it might slightly increase the chance of failing transfers given network issues, which typically ends with the player losing the entire data. For such more advanced setup, it is usually suggested to use a third-party applications to dynamically handle cluster and player data backups.
To spare some drive space, increase cache hits, allow better resource sharing and installation/update time, it is possible to use the same installation to run multiple servers. This can also be combined with ?AltSaveDirectoryName
.
- Note in this way they will also share the same
INI
settings because they load the same files unless using complicated file linking tricks. To still have them differ it is possible to set most of GameUserSettings.ini
options in the command line using the ?
syntax. You could also use a dynamically generated INI
file to change some of the Game.ini
settings. Manual editing of INI
files is usually not recommended. The server no longer loads any INI
data once the PID
of the process is displayed in the output console. It is thus needed to be careful to load the server with proper intervals as not to use the wrong INI options from a previous server launch. Also, it must be remembered that, when quitting the server normally, the process overwrites some content of the INI files with its current settings.
- The server deletes old save game files using the age of the file as long as they are named
.ark
. This means that regardless of the map you are using, the savegame files will eventually get deleted from the directory. If you stop a map, no more autosaves will be made so leaving any .ark
files there will get them eventually deleted. Note that if this happens, you can at least still use your .bak
backup files when the server was last started, which do not get deleted, given you don't have another backup solution running on the server.
-clusterid
/ -NoTransferFromFiltering
:
- If
-clusterid
is not set and -NoTransferFromFiltering
is not set: it is still possible for players to use the 'download'/'upload' buttons on terminals. Tribute data would then be stored in players' own machines, the same way as their single player data. This would also allow them to download it into another server with such setup.
- If
-clusterid
is not set and -NoTransferFromFiltering
is also set: player transfers from single player is disabled. Given the Tribute Data is saved in the SavedArks
directory, it is still possible to create a "fake cluster" by sharing the SavedArks
directory between servers, allowing players to use the 'download'/'upload' buttons on terminals. Finally, it's required by players to known what servers are linked.
It is not possible to mix and match these types of servers between one another, as the Tribute Data format will not be the same: with the -clusterid
, the Tribute Data is saved in -clusterid
directory and if -NoTransferFromFiltering
is not set, it will save on the players' own machines.
For
ASA, each map is now in it's own directory, even when using the ?AltSaveDirectoryName
. To reproduce this functionality, you will need to link/junction each of the individual map directories into a single one. Note a special consideration about Club ARK as it should not be linked/junctioned. The mod actually creates a new user specifically for Club ARK and is apparently only designed to update the shared cluster data instead. Thus if using a link/junction for the map, it will delete the existing user data.
DynamicConfig
The DynamicConfig allows to change some server settings without the need of restarting the server. The file must be hosted on a web server (e.g.: IIS on Windows, Apache etc...) using the HTTP protocol (HTTPS is not supported) and the .ini file extension must be exposed as mime type as text/plain. It cannot be directly linked using a system path.
The configuration is checked every time the world is (auto)saved, unless an admin force an immediate update using the ForceUpdateDynamicConfig
command.
Once -UseDynamicConfig
and CustomDynamicConfigUrl
options are set, the following settings are available to dynamically configure:
ASA
|
ASE
|
Variable
|
Description
|
Since patch
|
|
|
ActiveEventColors
|
Default value: N/A Value type: string This will activate the associated colours of an event:
| 356.11 |
|
|
BabyCuddleIntervalMultiplier
|
Default value: 1.0 Value type: float See same option in Game.ini. | 316.18 |
|
|
BabyFoodConsumptionSpeedMultiplier
|
Default value: 1.0 Value type: float See same option in Game.ini. |  |
|
|
BabyImprintAmountMultiplier
|
Default value: 1.0 Value type: float See same option in Game.ini. | 316.18 |
|
|
BabyMatureSpeedMultiplier
|
Default value: 1.0 Value type: float See same option in Game.ini. | 307.2 |
|
|
bDisableDinoDecayPvE
|
Default value: False Value type: boolean Same as DisableDinoDecayPvE in GameUserSettings.ini. |  |
|
|
bDisableStructureDecayPvE
|
Default value: False Value type: boolean Same as DisableStructureDecayPvE in GameUserSettings.ini. |  |
|
|
bPvPDinoDecay
|
Default value: False Value type: boolean Same as PvPDinoDecay in GameUserSettings.ini. |  |
|
|
bPvPStructureDecay
|
Default value: False Value type: boolean Same as PvPStructureDecay as in GameUserSettings.ini. |  |
|
|
bUseAlarmNotifications
|
Default value: N/A Value type: boolean Toggles web alarm notifications. See Web Notifications for more details. Undocumented by Wildcard. |  |
|
|
CropGrowthSpeedMultiplier
|
Default value: 1.0 Value type: float See same option in Game.ini. |  |
|
|
CustomRecipeEffectivenessMultiplier
|
Default value: 1.0 Value type: float See same option in Game.ini. |  |
|
|
DinoCharacterFoodDrainMultiplier
|
Default value: 1.0 Value type: float See same option in GameUserSettings.ini. |  |
|
|
DisableTimestampVerification
|
Default value: False Value type: boolean Undocumented. |  |
|
|
DisableWorldBuffs
|
Default value: N/A Value type: string Disabling specific world buffs on Genesis: Part 2 that would be increased beyond normal values on those Arks with other multiplier changes. Note: buffs must be specified in a single row comma separated list without spaces. Known buff identifiers: MATINGINTERVAL_DOWN_HARD , MATINGINTERVAL_DOWN_MEDIUM , MATINGINTERVAL_DOWN_EASY , BABYMATURE_BOON_EASY , BABYMATURE_BOON_MEDIUM , BABYMATURE_BOON_HARD . |  |
|
|
DynamicUndermeshRegions
|
Default value: 1.0 Value type: string Forces dynamic undermesh volume update. Undocumented. |  |
|
|
DynamicColorset
|
Default value: N/A Value type: string Comma-separated list of colour names, names must be **exact**, accounting for special characters and spaces. DynamicColorset will only be used if using ActiveEventColors=custom . | 356.11 |
|
|
EggHatchSpeedMultiplier
|
Default value: 1.0 Value type: float See same option in Game.ini. | 307.2 |
|
|
EnableFullDump
|
Default value: False Value type: boolean Forces full server memory dump on server crash. Undocumented by Wildcard. |  |
|
|
EnableWorldBuffScaling
|
Default value: False Value type: boolean Same as bEnableWorldBuffScaling in Game.ini. |  |
|
|
GMaxFlameThrowerServerTicksPerFrame
|
Default value: 5 Value type: integer Controls the tick rate of Flamethrower per server tick, i.e.: the shooting speed of Flamethrower per server tick instead of per fixed time. Higher values will make the Flamethrower using more ammos per server tick. Using too high values may result in server performance issues. Undocumented by Wildcard. |  |
|
|
GlobalSpoilingTimeMultiplier
|
Default value: 1.0 Value type: float See same option in Game.ini. |  |
|
|
GUseServerNetSpeedCheck
|
Default value: False Value type: boolean It should avoid players to accumulate too much movements data per server tick, discarding the last if those are too many. Can be turned on also with -UseServerNetSpeedCheck command line option. Enabled on official clusters. May be useful for servers having too many players and stressed on CPU side. Undocumented by Wildcard. |  |
|
|
HarvestAmountMultiplier
|
Default value: 1.0 Value type: float See same option in GameUserSettings.ini. | 307.2 |
|
|
HexagonRewardMultiplier
|
Default value: 1.0 Value type: float See same option in Game.ini. | 316.18 |
|
|
MatingIntervalMultiplier
|
Default value: 1.0 Value type: float See same option in Game.ini. | 307.2 |
|
|
MatingSpeedMultiplier
|
Default value: 1.0 Value type: float See same option in Game.ini. |  |
|
|
NPCReplacements
|
Default value: N/A Value type: string Globally replaces specific creatures with another using class names. See Creature Spawn related section. |  |
|
|
PvEDinoDecayPeriodMultiplier
|
Default value: 1.0 Value type: float See same option in GameUserSettings.ini. |  |
|
|
PvEStructureDecayPeriodMultiplier
|
Default value: 1.0 Value type: float See same option in GameUserSettings.ini. |  |
|
|
StructureDamageMultiplier
|
Default value: 1.0 Value type: float See same option in GameUserSettings.ini. |  |
|
|
TamingSpeedMultiplier
|
Default value: 1.0 Value type: float See same option in GameUserSettings.ini. | 307.2 |
|
|
TributeDinoExpirationSeconds
|
Default value: 86400 Value type: integer See same option in GameUserSettings.ini. |  |
|
|
TributeItemExpirationSeconds
|
Default value: 86400 Value type: integer See same option in GameUserSettings.ini. |  |
|
|
XPMultiplier
|
Default value: 1.0 Value type: float See same option in Game.ini. | 307.2 |
|
|
WorldBuffScalingEfficacy
|
Default value: 1.0 Value type: float See same option in Game.ini. |  |