Ark: Survival Ascended Easy INI File Management
Continuing our goal of running an ASA server on Linux, we’ll add Code Server to our Docker stack. This will let us manage the INI files without using the command line. Here is the accompanying video: https://youtu.be/WvS0LonnrOE
In the last post we setup a Docker server on Contabo, installed Dockge to manage containers, and started an Ark: Survival Ascended server. Now we need an easy way to manage our INI files.
Add Code Server as a service to our Compose.yaml file
Inside Dockge, click the [Edit] button so we can modify our ASA stack:
In the code box on the right, we can then add another service for code-server. Make a couple lines before networks: {}
and add in the new definition for our code server:
code-server:
image: lscr.io/linuxserver/code-server:latest
# container_name: code-server
environment:
- PUID=1001
- PGID=1001
- TZ=America\Chicago
- PASSWORD=5ecretpa55word #optional
- DEFAULT_WORKSPACE=/config/workspace/asa #optional
volumes:
- ./codeServer:/config
- .:/config/workspace/asa
ports:
- 8443:8443
restart: unless-stopped
That should look something like this:
And that easy, we’re ready to create the new container! The previous [Edit] button at the top has turned to [Deploy], so we’ll click that:
Within a few seconds, you should have a Code Server container created! To access that, we’ll browse to it just like we did with Dockge, but using port 8443 instead: http://123.123.123.123:8443
.
Managing INI files
Once we’ve browsed to our new Code Server, we should be able to modify all text-based files in the workspace:
We mounted the default workspace to the root of our Docker stack folder, so we should be able to see all files for our server. Game.ini
and GameUserSettings.ini
are the two files we care about the most, but we could also download backups from this new screen! Here are some of my preferred settings for these INI files and a few others you may be interested in changing.
Game.ini
[/script/shootergame.shootergamemode]
MatingIntervalMultiplier=0.002
MatingSpeedMultiplier=3
LayEggIntervalMultiplier=0.05
EggHatchSpeedMultiplier=40
BabyCuddleGracePeriodMultiplier=3
BabyCuddleIntervalMultiplier=0.03
BabyCuddleLoseImprintQualitySpeedMultiplier=3
BabyFoodConsumptionSpeedMultiplier=0.25
BabyImprintingStatScaleMultiplier=1.5
BabyImprintAmountMultiplier=40
BabyMatureSpeedMultiplier=40
PoopIntervalMultiplier=1
TamedDinoCharacterFoodDrainMultiplier=1
TamedDinoTorporDrainMultiplier=1
WildDinoCharacterFoodDrainMultiplier=8
WildDinoTorporDrainMultiplier=0.5
PassiveTameIntervalMultiplier=1
bAllowCustomRecipes=True
bAllowFlyerSpeedLeveling=True
bAllowSpeedLeveling=True
bAllowPlatformSaddleMultiFloors=true
bAllowUnclaimDinos=true
bAllowUnlimitedRespecs=True
bAutoUnlockAllEngrams=true
CraftXPMultiplier=1
HarvestXPMultiplier=1
GenericXPMultiplier=1
KillXPMultiplier=1
SpecialXPMultiplier=1
bDisableDinoBreeding=false
bDisableDinoRiding=False
bDisableDinoTaming=False
bDisableFriendlyFire=False
bDisableLootCrates=False
bDisableStructurePlacementCollision=False
bUseCorpseLocator=True
BUseDinoLevelUpAnimations=true
CropDecaySpeedMultiplier=0.25
CropGrowthSpeedMultiplier=10
CustomRecipeEffectivenessMultiplier=1
CustomRecipeSkillMultiplier=1
DestroyTamesOverLevelClamp=750
DinoTurretDamageMultiplier=1
FishingLootQualityMultiplier=3
FuelConsumptionIntervalMultiplier=1
CraftingSkillBonusMultiplier=1
GlobalCorpseDecompositionTimeMultiplier=1
GlobalItemDecompositionTimeMultiplier=1
GlobalPoweredBatteryDurabilityDecreasePerSecond=3
GlobalSpoilingTimeMultiplier=1
MaxFallSpeedMultiplier=1
MaxTribeLogs=400
PerLevelStatsMultiplier_DinoTamed[0]=2
PerLevelStatsMultiplier_DinoTamed[1]=1.2
PerLevelStatsMultiplier_Player[0]=2
PerLevelStatsMultiplier_Player[3]=10
PerLevelStatsMultiplier_Player[4]=10
PerLevelStatsMultiplier_Player[5]=10
PerLevelStatsMultiplier_Player[7]=1.5
PerLevelStatsMultiplier_Player[10]=5
GameUserSettings.ini
[ServerSettings]
OverrideOfficialDifficulty=6
DifficultyOffset=1.0
HarvestAmountMultiplier=50
HarvestHealthMultiplier=10
ServerPVE=False
RCONEnabled=True
RCONPort=27020
ServerPassword=lab123
ServerAdminPassword=5ecretpa55word
ShowMapPlayerLocation=True
AllowThirdPersonPlayer=True
ServerCrosshair=True
AllowHitMarkers=True
OxygenSwimSpeedStatMultiplier=3
StructurePreventResourceRadiusMultiplier=1
PlatformSaddleBuildAreaBoundsMultiplier=3
AlwaysAllowStructurePickup=True
StructurePickupHoldDuration=0.5
AllowHideDamageSourceFromLogs=True
RaidDinoCharacterFoodDrainMultiplier=1
PvEDinoDecayPeriodMultiplier=1
KickIdlePlayersPeriod=3600
PerPlatformMaxStructuresMultiplier=10
AutoSavePeriodMinutes=5
MaxTamedDinos=5000
MaxTamedDinos_SoftTameLimit=5000
MaxTamedDinos_SoftTameLimit_CountdownForDeletionDuration=604800
ItemStackSizeMultiplier=10
RCONServerGameLogBuffer=600
ImplantSuicideCD=28800
DayTimeSpeedScale=0.5
NightTimeSpeedScale=2
DinoCharacterFoodDrainMultiplier=0.5
DinoCharacterHealthRecoveryMultiplier=2
DinoCharacterStaminaDrainMultiplier=0.75
OverrideStructurePlatformPrevention=True
PersonalTamedDinosSaddleStructureCost=0
PlayerCharacterFoodDrainMultiplier=0.75
PlayerCharacterHealthRecoveryMultiplier=1.5
PlayerCharacterStaminaDrainMultiplier=0.75
PlayerCharacterWaterDrainMultiplier=0.75
AllowFlyerCarryPvE=True
AllowFlyingStaminaRecovery=True
AllowAnyoneBabyImprintCuddle=True
AllowCaveBuildingPvE=True
AllowCaveBuildingPvP=True
TamedDinoDamageMultiplier=1.5
TamedDinoResistanceMultiplier=1
TamingSpeedMultiplier=20
DisableCryopodEnemyCheck=True
AllowCryoFridgeOnSaddle=True
DisableCryopodFridgeRequirement=True
EnableCryoSicknessPVP=false
CryopodNerfDuration=0
XPMultiplier=1.5
[/Script/Engine.GameSession]
MaxPlayers=10
[SessionSettings]
SessionName=LifeAsBen
Some of these settings may be in the wrong locations. Some of options in my original GameUserSettings.ini were excluded here as I don’t think they matter. This should give a starting point though 😀