Dedicated Server Settings
Ark Dedicated Server Setup For Windows & Linux
There are several settings for controlling and configuring you Ark Survival Evolved Dedicated Server. This is a list of the currently available settings.
To make things easier we have created a set of configuration tools that allow quick and easy generation of the code you need to modify your server. A complete list of these tools can be found here: Game & Server Customization
This tool can also be used for Single Player & Non-Dedicated Sessions. For information on customization in these situations and for information on what customization can do for you in general please see this page: Balancing Ark For Your Play Style
Two Methods Of Changing The Settings
To change these settings you have two primary methods available. The first is to add to the command line for launching the server. For temporary changes and testing settings this is not a bad solution.
An example of using the command line method would be:
ShooterGameServer TheIsland?listen?ServerPVE=True?ServerPassword=YourServerPassword
For the most part, a server setting can be changed in this way simply by adding ?SettingName=SettingValue to the command line.
For more permanent changes, your best bet is to edit the server configuration file. You can find it in one of the following two locations, depending on which type of server you are running:
/pathto/yourarkserver/ShooterGame/Saved/Config/LinuxServer/GameUserSettings.ini
C:\pathto\yourarkserver\ShooterGame\Saved\Config\WindowsServer\GameUserSettings.ini
The Server Settings
You should not touch the first part of the settings file unless you know what these settings do. Settings that are of importance to administrators are broken into groups at the bottom of the file.
[ServerSettings]
ShowMapPlayerLocation=False
ServerHardcore=False
GlobalVoiceChat=False
ProximityChat=False
NoTributeDownloads=False
AllowThirdPersonPlayer=False
DontAlwaysNotifyPlayerJoined=False
ServerPVE=True
ServerCrosshair=False
ServerForceNoHUD=False
ServerPassword=ServerPassword
ServerAdminPassword=ServerAdminPassword
DifficultyOffset=0
MaxStructuresInRange=1300.000000
EnablePvPGamma=False
bDisableStructureDecayPvE=False
bAllowFlyerCarryPvE=False
AlwaysNotifyPlayerLeft=True
[SessionSettings]
SessionName=You rArk Server's Name
[/Script/Engine.GameSession]
MaxPlayers=70
[MessageOfTheDay]
Message=Your Server's Welcome Message
GameUserSettings.ini Setting Descriptions
Below is a list of the settings in GameUserSettings.ini, along with their default values and a description of what they mean. Please be aware that we have also created a few tools that allow easy configuration and code generation for these settings. You can find a complete listing of these tools at the bottom of this page.
Setting & Description |
---|
alwaysNotifyPlayerJoined Boolean Value & Default is False |
alwaysNotifyPlayerLeft Boolean Value & Default Value is False |
allowThirdPersonPlayer Boolean Value & Default is False |
globalVoiceChat Boolean & Default Value is False |
ShowMapPlayerLocation Value is Boolean & Default is False |
noTributeDownloads Value is Boolean & Default is True |
proximityChat Value is Boolean & Default is False |
serverHardcore Value is Boolean & Default is False |
serverForceNoHud Value is Boolean & Default is False |
AllowFlyerCarryPvE Value is Boolean & Default is False |
MaxStructuresInRange Value is an Integer & Default is 1300 |
DifficultyOffset Value is a Float & Default is 4 |
bUseSingleplayerSettings Value is a boolean and default is false |
ServerPassword Value is a String and by default there is no value entered. |
ServerAdminPassword Value is a String & by Default there is no value entered |
SpectatorPassword Value is a String and by default no value is entered. |
DayCycleSpeedScale Value is a Float and default is 1. Specifies the scaling factor for the passage of time in the ARK controlling how often day changes to night and night changes to day. 1 is the default. Values lower than 1 slow down the cycle; higher values accelerate it. Base time when value is 1 appears to be 1 minute real time equals approx. 28 minutes game time. Thus for an approximate 24 hour day/night cycle in game use .035 for the value. |
NightTimeSpeedScale Value is a Float and Default is 1 |
DayTimeSpeedScale Value is a Float & Default is 1 |
DinoDamageMultiplier Value is a Float & Default is 1 I have created a custom tool to help you quickly generate the code to adjust these settings here: |
PlayerDamageMultiplier Value is a Float and Default is 1 I have created a custom tool to help you quickly generate the code to adjust these settings here: |
StructureDamageMultiplier Value is a Float and Default is 1 I have created a custom tool to help you quickly generate the code to adjust these settings here: |
PlayerResistanceMultiplier Value is a Float and Default is 1 I have created a custom tool to help you quickly generate the code to adjust these settings here: |
DinoResistanceMultiplier Value is a Float and Default is 1 I have created a custom tool to help you quickly generate the code to adjust these settings here: |
StructureResistanceMultiplier Value is a Float and Default is 1 I have created a custom tool to help you quickly generate the code to adjust these settings here: |
XPMultiplier Value is a Float & Default is 1 I have created a custom tool to help you quickly generate the code to adjust these settings here: |
PvEStructureDecayPeriodMultiplier Value is a Float & Default is 1 |
PvEStructureDecayDestructionPeriod Value is a Float and Default is 1 Setting this to 0 prevents structures from decaying. |
TamingSpeedMultiplier Value is a Float & Default is 1 I have created a tool to quickly create the code you need to adjust Taming. You can find it here: |
HarvestAmountMultiplier Value is a Float and Default is 1. I have created a tool that allows you to quickly and easily generate the code to adjust resource harvesting and spawning. You can find it here: |
HarvestHealthMultiplier Value is a Float and Default is 1 I have created a tool that allows you to quickly and easily generate the code to adjust resource harvesting and spawning. You can find it here: |
ResourcesRespawnPeriodMultiplier Value is a Float & Default is 1 I have created a tool that allows you to quickly and easily generate the code to adjust resource harvesting and spawning. You can find it here: |
PlayerCharacterHealthRecoveryMultiplier Value is a Float and Default is 1 I have created a custom tool to help you quickly generate the code to adjust these settings here: |
DinoCharacterFoodDrainMultiplier Value is a Float and Default is 1 I have created a custom tool to help you quickly generate the code to adjust these settings here: |
DinoCharacterHealthRecoveryMultiplier Value is a Float and Default is 1 I have created a custom tool to help you quickly generate the code to adjust these settings here: |
DinoCountMultiplier Value is a Float and Default is 1 I have created a tool that allows you to quickly and easily adjust Dino Spawning. You can find it here: |
AllowCaveBuildingPvE Value is a Boolean & Default is False |
BanListURL String in double quotes. Eg "http://mysite.com/mybanlist.txt" Use the official global ban list or point to any online ban list that you want. Must be enclosed in double quotes. While using the offical ban list or another url, you can still ban people and generate a custom ban list which will also be used. It is highly recommended to use the official ban list in addition to your own. |
bPvEAllowTribeWar=true Capability for Tribes to officially declare war on each other for mutually-agreed-upon period of time. Default is true. |
bPvEAllowTribeWarCancel=false Allow Tribes to canel an agreed-upon war before it starts. Default is False. |
Game.ini Setting Descriptions
Ok, here is where it gets ugly. I've put this into a table below. And below that you'll find the more complex settings listed one by one with detailed information. Some of these settings are mammoth and may result in hundreds of lines of code. As a result, in addition to a simple description, I have created tools to help you configure these ones. These tools allow you to simply enter the values you want into handy labeled boxes and then generate the code you need. You will also find the information you need, or links to the information you need, to create the code by hand, if you prefer.
Setting & Description |
---|
OverrideEngramEntries=(EngramIndex=Integer,EngramHidden=TrueFalse,EngramPointsCost=Integer,EngramLevelRequirement=Integer,RemoveEngramPreReq=TrueFalse) This one is tricky. Please see notes below this table. |
DinoSpawnWeightMultipliers=(DinoNameTag=<tag>,SpawnWeightMultiplier=Integer,OverrideSpawnLimitPercentage=TrueFalse,SpawnLimitPercentage=Integer) Customizes the spawning rate for a given dinosaur type (at all dinosaur spawn points). Types with a larger SpawnWeightMultiplier are selected more often when spawning new dinosaurs 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. Please see notes below table. |
OverridePlayerLevelEngramPoints=<points> Used withLevelExperienceRampOverrides. Please see notes below this table. |
GlobalSpoilingTimeMultiplier=<value> Value is Float & Default is 1 I have created a tool that allows you to quickly and easily adjust Spoiling, & Harvesting. You can find it here: |
GlobalItemDecompositionTimeMultiplier=<value> Value is Float and Default is 1 I have created a tool that allows you to quickly and easily adjust Spoiling, & Harvesting. You can find it here: |
GlobalCorpseDecompositionTimeMultiplier=<value> Value is a Float & Default is 1 I have created a tool that allows you to quickly and easily adjust Spoiling, & Harvesting. You can find it here: |
HarvestResourceItemAmountClassMultipliers=(ClassName="<classname>",Multiplier=<value>) You can use this to adjust the amount of resources harvested per strike. For example instead of 1 Metal you could set it to 3, and get 3 Metal. I have a complete list of harvestable resource classes here: I also have a tool that allows you to quickly edit the settings for all harvestable resources classes here: |
OverrideMaxExperiencePointsPlayer=<value> OverrideMaxExperiencePointsDino=<value> Used with LevelExperienceRampOverrides |
LevelExperienceRampOverrides=(ExperiencePointsForLevel[<n>]=<points> [,ExperiencePointsForLevel[<n>]=<points>][,ExperiencePointsForLevel[<n>]=<points>]) Used to create custom Level, Xp, & Engram Point system for players. Please see notes below this table. |
NPCReplacements=(FromClassName="<classname>",ToClassName="<classname>") You can for example have the game spawn Dodo instead of T-Rex. Or simply have it spawn nothing by leaving the second classname entry blank. Easy configuration tool here: |
ResourceNoReplenishRadiusPlayers=<value> ResourceNoReplenishRadiusStructures=<value> Value is Float & Default is 1 I have created a tool that allows you to quickly and easily adjust These settings as well as other resource spawn and harvesting settings. You can find it here: |
bIncreasePvPRespawnInterval=<Boolean>; Value is Boolean & Default is True |
IncreasePvPRespawnIntervalCheckPeriod=<value1>; Value is Float & Default is 300 |
IncreasePvPRespawnIntervalMultiplier=<value2>; Value is Float & Default is 2 |
IncreasePvPRespawnIntervalBaseAmount=<value3>; Value is Float & Default is 60 |
bAutoPvETimer=<Boolean1> Including this and the 3 commands that follows allows you to set your server to automatically switch between PVP and PVE. |
bAutoPvEUseSystemTime=<Boolean2> If true then the following two value lines run off the server clock. If false then the following two values will run off in game time. |
AutoPvEStartTimeSeconds=<value1> Time in seconds when PvE mode starts. Value is 0-86400. Yes, there are 86400 seconds in a day. Count starts at midnight. |
AutoPvEStopTimeSeconds=<value2> Time in seconds when PvE mode Ends. Value is 0-86400. Yes, there are 86400 seconds in a day, count starts at midnight. |
bPvEDisableFriendlyFire=true Value is Boolean & Default is True |
PerLevelStatsMultiplier_Player[<attribute>]=<multiplier> PerLevelStatsMultiplier_DinoTamed[<attribute>]=<multiplier> PerLevelStatsMultiplier_DinoWild[<attribute>]=<multiplier> Attribues: 0 = Health, 1 = Stamina, 2 = Torpidity, 3 = Oxygen, 4 = Food, 5 = Water, 6 = Temperature, 7 = Weight, 8 = Melee Damage Multiplier, 9 = Speed Multiplier, 10 = Temperature Fortitude, 11 = Crafting Speed Affects the amount of stats gained each level. 0.01 nearly disables stat gain. I have created a tool that allows you to easy adjust all of these settings. You can find it here: |
MatingIntervalMultiplier=1.0 Higher numbers make Dinos mate more frequently, while lower numbers make them mate less frequently. |
EggHatchSpeedMultiplier=1.0 Eggs will hatch faster with higher numbers, and slower with lower numbers. |
BabyMatureSpeedMultiplier=1.0 Babies grow up faster with higher numbers, and slower with lower numbers. |
MatingIntervalMultiplier=1.0 Controls the time between allowed mating interactions. (only affects females) |
EggHatchSpeedMultiplier=1.0 Controls the speed at which fertilized eggs hatch. Higher values make them hatch faster while lower values make them hatch slower. |
BabyMatureSpeedMultiplier=1.0 Controls the speed at which babies mature. Higher values increase the speed while lower values decrease it. |
bAllowCustomRecipes=false Set to false to disable custom recipes. Seems somewhat pointless since the custom recipes cannot affect game balance just creativity. |
bPassiveDefensesDamageRiderlessDinos=true allow or disallow spike walls to damage wild/riderless Dinos |
Notes for Game.ini Settings
As previously mentioned, it got ugly. Some of these settings are simply enormous to implement. Below you'll find some examples for some of these ones. For others, you'll also find links to simple tools I have built to take the sting out of doing the code by hand.
OverrideEngramEntries
To calculate the index of an Engram, you have to be in game and have the engrams view open. Then from left to right, row after row, count the engrams. 1, 2, 3, etc. Yeah, I know; it's a big job, but that is the way it is. Also note that when the developers added an engram in an update, you just had to start counting all over again! The same is true when you add a mod with custom engrams. Once you know the index of the engram you want to modify, the values work like this: Hidden is true or false. If true, then players cannot select this engram because they won't even see it. Point cost is the number of Engram Points required to purchase it. Engram Level Requirement is the level a player must be to unlock the engram. Remove engram prereq is an odd one. I've seen it misrepresented in several places. Here's an example: to make a pistol you need to have learned to make a flare gun. If you remove the prerequisite, then all the engrams required to learn the engram would be removed. Like a wood foundation would no longer require you to learn a thatch foundation. Here is an example of overriding an Engram's default settings:
OverrideEngramEntries=(EngramIndex=1,EngramHidden=False,EngramPointsCost=10,EngramLevelRequirement=3,RemoveEngramPreReq=True)
I have created a simple tool that will generate the code you need. You can find it here: Engram Configuration Tool
I also have an up-to-date list of the Engrams and their Indexes here: Engram Index
LevelExperienceRampOverrides
LevelExperienceRampOverrides=(ExperiencePointsForLevel[<n>]=<points>[,ExperiencePointsForLevel[<n>]=<points>]
This is one very complex setting. First off, the line above must be used twice in a row, once for player progression and once for dino progression. You need to specify every level for each on the single line. Don't panic, I've put together a simple tool that will allow you to generate all the code you need. And if you'd rather do it yourself, that's fine too. You can easily enter simple data into the tool and see how the code comes out to manually do the code yourself.
Once you have constructed the above mentioned two lines, you then need to add a line for each level of the player to set the engram points. So if you have 500 levels, you've gotta do 500 lines, one after another. The base code is:
OverridePlayerLevelEngramPoints=<points>
After that you then need to specify a new max xp level for both players and dinos. You do that using:
OverrideMaxExperiencePointsPlayer=<value>
OverrideMaxExperiencePointsDino=<value>
Please note, I have created a tool here that allows you to enter the level,xp, and engram data for player progression, as well as level and xp data for dino progression, here: Custom Levels Tool. This tool will also automatically generate the code required for the max xp values, in addition to all the other code you will need. It's an all-in-one solution for custom levels, xp, and engram rewards.
PerLevelStatsMultiplier_?
I have created 2 tools that quickly generate the code that you require to modify these settings quickly and easily.
The first is the PerLevelStatsMultiplier Tool, which only generates the code required to adjust the PerLevelStatsMultipliers.
The second is the Custom Levels Tool, which allows configuration of these settings, plus levels, engram points, xp progression, and xp cap.
Current Configuration Code Generation Tools
This is a list of simple web-based tools that will quickly and easily generate the code required to customize the various settings of your Ark Survival Evolved Server:
Engram Configuration Tool
Dino Spawn Configuration Tool
Taming Configuration Tool
Character & Dino Stats Customization Tool
Harvest Amounts & Spoiling Time Tool
Custom Levels Tool
PerLevelStatsMultiplier Tool