Server configuration

The ARK: Survival Evolved dedicated server has a wide variety of configuration options that control its behavior and adjust many aspects of the game. These are options that can only be set at server startup.

Most options can be specified on the command line when launching the server or in the server's configuration files. Options that must be specified on the command line are noted below.

Syntax
The server is currently launched via the command line using the following syntax to specify runtime options:

  ?listen[? = ][? = ]...[? = ] -UseBattleye []''

Following the  name, options are specified as a single string with each option separated by a question mark. Most options require a value argument. Refer to the option reference below for more details.

When an option is not specified, its default value is used automatically.

Example
To launch a server that:
 * 1) shows each player a crosshair
 * 2) shows each player their position on the map
 * 3) allows players to view themselves in third person
 * 4) enforces a minimum distance between player structures built by different players and tribes
 * 5) enables BattlEye

On a Linux host: ./ShooterGameServer TheIsland?listen?ServerCrosshair=True?MapPlayerLocation=True?AllowThirdPersonPlayer=True?TheMaxStructuresInRange=100 -UseBattlEye

On a Windows host: start ShooterGameServer.exe "TheIsland?listen?ServerCrosshair=True?AllowThirdPersonPlayer=True?MapPlayerLocation=True?TheMaxStructuresInRange=100" -UseBattlEye

On Windows, quotation marks (") are used to ensure the command shell does not attempt to interpret any options itself.

Map names
For modded maps check their Workshop pages or contact the author for the exact name.

Command line arguments
These options may be only specified on the command line. For the syntax see above. Options starting with a ? (question mark) are appended directly one after another, options starting with a - (dash) have to be noted separately.

For Single Player: Right click in your Steam client on the game's name in the Library, choose Properties, tab General, button "Set Launch Options...", enter the options. But some options won't work this way, especially these starting with a ? (question mark). Try to put them into the section [ServerSettings] of the GameUserSettings.ini (for the location of this file see Configuration Files).

Configuration Files
Most options can also be specified in the games configuration files. The location of the configuration files varies by platform

The GameUserSettings.ini file contains options for both the game client and the game server. Options for the game client are not used by the server. Server options are specified in the section labeled, which is usually located at the bottom of the file.

The Game.ini file is used for more advanced modifications, such as changing engram points or XP rewarded per level, disabling specific content, or rebalancing depending on player tastes.

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.

To configure a game server with the same configuration as shown in Command Line Syntax above:

ServerCrosshair=True AllowThirdPersonPlayer=True MapPlayerLocation=True TheMaxStructuresInRange=100

With these options in the configuration file, the server can be launched with a much shorter command line. For Linux:

./ShooterGameServer TheIsland?listen

For Windows:

start ShooterGameServer.exe "TheIsland?listen"

GameUserSettings.ini
To easily create this file, you can use this ini-Generator.

Ragnarok
The following options are only available when playing the DLC Ragnarok.

They need to be set in the  section (if you dont have one you can create it at the bottom) of the    file.

'''NOTE: You don't need to use these settings. The game will use the default values if these settings aren't specified.'''

Game.ini
The following options can only be set in the  section of , located in the same folder as   (see above for the location for each platform). Specifying them on the command line will have no effect.

Turret Limit related
bLimitTurretsInRange=  LimitTurretsRange=  LimitTurretsNum= 

Arguments:

Limits the maximum allowed automated turrets (including Plant Species X) in a certain range. Introduced in patch 274.0

Engram Entries
OverrideEngramEntries=(EngramIndex= [,EngramHidden= ] [,EngramPointsCost= ] [,EngramLevelRequirement= ] [,RemoveEngramPreReq=])

OverrideNamedEngramEntries=(EngramClassName="" [,EngramHidden= ] [,EngramPointsCost= ] [,EngramLevelRequirement= ] [,RemoveEngramPreReq=])

Arguments:

Description:

Configure the status and requirements for learning an engram. For OverrideEngramEntries the  argument is always required, for OverrideNamedEngramEntries the   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  once for each engram to be configured.

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. Multiple  and   entries can be specified in the file, but   and   values should not be repeated across multiple entries.

For the Engram Index and Engram Class Name see Engram classnames.

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)

Creature Spawn related
ConfigAddNPCSpawnEntriesContainer ConfigAddNPCSpawnEntriesContainer=( [NPCSpawnEntriesContainerClassString=], [NPCSpawnEntries=((AnEntryName=], [EntryWeight= ], [NPCsToSpawnStrings=()))], [NPCSpawnLimits=((NPCClassString=], [MaxPercentageOfDesiredNumToAllow= )))]

Arguments:

Allows specified dinosaurs/creatures to spawn in specified locations directly through the spawners limited to what is specified.

Examples:

''Line breaks and spaces are here for better readability of the example. Keep it as one line in your configuration file.''

Adding 1 Giganotosaurus to the beach spawn area: ConfigAddNPCSpawnEntriesContainer=( NPCSpawnEntriesContainerClassString="DinoSpawnEntriesBeach_C",  NPCSpawnEntries=((AnEntryName="GigaSpawner", EntryWeight=1000.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) ) )

Introduced in Patch 248.0

ConfigSubtractNPCSpawnEntriesContainer ConfigSubtractNPCSpawnEntriesContainer=( [NPCSpawnEntriesContainerClassString=], [NPCSpawnEntries=((NPCsToSpawnStrings=()))], [NPCSpawnLimits=((NPCClassString=)))]

Arguments:

Completely removes specified dinosaurs/creatures from specified locations. More than one dinosaur/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 dinosaurs/creatures from the same Spawn Entry, use one line to do so.

Example: Removing Trike and Pteros 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") ) ) Line breaks and spaces are here for better readability of the example. Keep it as one line in your configuration file.

Introduced in Patch 248.0

ConfigOverrideNPCSpawnEntriesContainer ConfigOverrideNPCSpawnEntriesContainer=( [NPCSpawnEntriesContainerClassString=], [NPCSpawnEntries=((AnEntryName=], [EntryWeight= ], [NPCsToSpawnStrings=()))], [NPCSpawnLimits=((NPCClassString=<entity_id>], [MaxPercentageOfDesiredNumToAllow= )))]

Arguments:

Overrides all dinosaurs/creatures within a specified area with specified dinos, allows for areas to be dedicated for the spawning of specific dinosaurs/creatures. Does not prevent wanderers from entering said location.

For example: If you want only Rexes and Carnos to spawn 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) ) ) Line breaks and spaces are here for better readability of the example. Keep it as one line in your configuration file.

Introduced in Patch 248.0

DinoSpawnWeightMultipliers DinoSpawnWeightMultipliers=( DinoNameTag=<tag> [,SpawnWeightMultiplier= ] [,OverrideSpawnLimitPercentage= ] [,SpawnLimitPercentage= ])

Arguments:

Customizes the spawning rate for a given dinosaur type (at all dinosaur spawn points). Types with a larger  are selected more often when spawning new dinosaurs than types with lower multipliers. When  is specified (and  ), the type will never be spawned more than   percent of the time, regardless of multiplier. For example, a  of   specifies that the type will be selected for spawning no more than 25% of the time.

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. Multiple  entries can be specified in the file, but   values should not be repeated across multiple entries.

DinoSpawnWeightMultipliers=( DinoNameTag=Bronto,  SpawnWeightMultiplier=10.0,  OverrideSpawnLimitPercentage=true,  SpawnLimitPercentage=0.5 ) Line breaks and spaces are here for better readability of the example. Keep it as one line in your configuration file.

NPCReplacements NPCReplacements=(FromClassName=" ", ToClassName=" ")

Arguments:

This can be used to disable specific Alpha Creatures, replace the spawns of a particular NPC (NPC=Non-player character, i.e. a dino) 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"))

Introduced in patch 196.0

PlayerBaseStatMultipliers
PlayerBaseStatMultipliers[ ]= 

Arguments:

Changes the base stats of a player by multipling with the default value. Meaning the start stats of a new spawned character.

Introduced in patch 254.6

Default values:

PerLevelStatsMultiplier
PerLevelStatsMultiplier_Player[ ]=  PerLevelStatsMultiplier_DinoTamed [ ]=  PerLevelStatsMultiplier_DinoWild[ ]= 

Arguments:

Allows changing the amount of stats gained for each level.

E.g.:  would mean that weight-increase per level is 2x as much as default for players.

PerLevelStatsMultiplier_Player changes the amount for players.

PerLevelStatsMultiplier_DinoTamed changes the amount for tamed dinos.

PerLevelStatsMultiplier_DinoWild changes the amount for wild dinos.

To nearly disable gaining stats use 0.01 because setting the value to 0 makes it default to 1.0

Examples for different types effecting Health of a tamed dino: PerLevelStatsMultiplier_DinoTamed[0]=1.0 PerLevelStatsMultiplier_DinoTamed_Add[0]=1.0 PerLevelStatsMultiplier_DinoTamed_Affinity[0]=1.0

Introduced in patch 202.0

Default Values:

If  then the following multipliers are applied additionally to the configured (or default) values.

ConfigOverrideItemCraftingCosts
ConfigOverrideItemCraftingCosts=(ItemClassString="PrimalItem_WeaponStoneHatchet_C",BaseCraftingResourceRequirements=((ResourceItemTypeString="PrimalItemResource_Thatch_C",BaseResourceRequirement=1.0,bCraftingRequireExactResourceType=false),(ResourceItemTypeString="PrimalItemAmmo_ArrowStone_C",BaseResourceRequirement=2.0,bCraftingRequireExactResourceType=false)))

ConfigOverrideItemCraftingCosts=(ItemClassString="PrimalItem_WeaponTorch_C",BaseCraftingResourceRequirements=((ResourceItemTypeString="PrimalItemConsumable_RawMeat_C",BaseResourceRequirement=3.0,bCraftingRequireExactResourceType=false),(ResourceItemTypeString="PrimalItemConsumable_CookedMeat_C",BaseResourceRequirement=2.0,bCraftingRequireExactResourceType=false)))

That's an example of how to make the Hatchet require 1 thatch and 2 stone arrows to craft. And to make the torch require 3 raw meat and 2 cooked meat to craft (because ya know, Meat Torches are the best torches!)

Every Item Class String can be found in the Dev Kit.

ConfigOverrideSupplyCrateItems
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)))))

That's an example of how to completely override the items contained in the regular Level 3 supply crate, to contain just some stone and thatch for example.

Since v273.7 the SupplyCrateClassString also takes a part of the class name. E.g. "SupplyCrate" will override all supply crates. You can also set  to add item sets to supply crates, rather than totally overriding all their items. And you can set  to dynamically increase the amount of items dropped by however many additional itemsets you add (only applies when bAppendItemSets=true).

All of the Item class strings and Supply Crate names can, of course, be found in the ARK Dev Kit and on page Beacon IDs!

Tutorial: Modify loot crate contents (v242)

ItemStatClamps
NOTE: The command line argument  need to be set to   for the clamping to be enabled on your server. See Command Line Syntax. ItemStatClamps[ ]= 

Arguments:

For example, here are the values needed to have the same clamping as official servers for  and  : ItemStatClamps[1]=19800 ItemStatClamps[3]=19800

This would clamp Saddles to  armor (  for the 'tank' creatures such as Doedicurus, Rock Elemental, etc.), Flak Armor pieces to   armor, Longneck Rifle to   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.

Administrator Whitelisting
Players can be whitelisted as administrators on the server via their SteamID. These players can use cheat commands on the server automatically, as if they had authenticated themselves via the  command (described below).

To whitelist administrators, create the file. In the file, list each player's SteamID, one per line.

SteamIDs for all connected players can be listed in-game via the  command. Players can be kicked from the server (using their SteamIDs) via the  command. Refer to the following section for details.

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.

Cross-ARK Data Transfer
How Cross-ARK Data Transfer works

1. For Officials, you can 'upload' Survivors from TheIsland or TheCenter via the "ARK Tribute" option available at any Supply Crate or Tribute Terminal. You can then 'download' these Survivors onto an Official ScorchedEarth Server of that same game mode. Currently only Survivors are allowed to travel TO ScorchedEarth (they can not have any items on them), in order to keep it balanced for the time being. However, FROM ScorchedEarth you can transfer Survivors, Items, and Dinos, which you can then download (via the ARK Tribute) onto TheIsland or TheCenter. So indeed you can bring all ScorchedEarth Items, Dinos, and Survivors (and thus Scorched Earth Engrams) onto TheIsland or TheCenter to extend your capabilities there. When transferring a Survivor between ARKs using this method, Tribes should be retained. However Alliances will not be retained, and will need to be re-setup on the other side.

2. For Unofficial Servers, if they wish to allow dynamic Cross-ARK Travel, they will need to run two Servers on the same box from the same directory, and then you can launch with the following commandlines: ShooterGameServer.exe ScorchedEarth_P?SessionName=MySession1?AltSaveDirectoryName=Save1 -NoTransferFromFiltering -clusterid=mycluster123 ShooterGameServer.exe TheIsland?SessionName=MySession2?AltSaveDirectoryName=Save2 -NoTransferFromFiltering  -clusterid=mycluster123

(the clusterid must be the same between the servers!)

(to avoid saves from clashing each server should use distinct values for: )

you also have options like: ?PreventDownloadSurvivors=False ?PreventDownloadItems=False ?PreventDownloadDinos=False ?PreventUploadSurvivors=False ?PreventUploadItems=False ?PreventUploadDinos=False ?noTributeDownloads=False

247.85 added the ability to specify a common cross-server storage location that functions between multiple servers running on the same machine by adding the following launch parameter to each server: -ClusterDirOverride=C:/TestStorage/

3. Meanwhile, in singleplayer, you can just use the "ARK Tribute" option and then go back to the main menu and host on the other map, and download your data accordingly.