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 😀