arkmanager / ark-server-tools

Set of server tools used to manage ARK: Survival Evolved servers on Linux
MIT License
680 stars 144 forks source link

Server Configuration - Validation Test #1136

Closed paytah232 closed 4 years ago

paytah232 commented 4 years ago

Hi All. I'm able to run my server using this and my friends and I are loving it. However, I'm finding that some of the settings we are trying to implement aren't working. I don't know if I've configured it wrong or something, but is there some way to show what valid configurations have been loaded or if some are incorrectly configured with ark_ or something like that.

I'll link a copy of my settings so far, if someone could have a look and tell me if the see an error that would be amazing (or show me a way to check myself). Noticed things that aren't working:

Hopefully someone can help us! Thanks in advance! Love this tool.

Here is a link to our settings file. Note we running the settings in the arkmanager.cfg because we want the same available for every map. Each instance only contains the name of the server and mods: https://pastebin.com/EpJazdJ5

klightspeed commented 4 years ago

Refer to https://ark.gamepedia.com/Server_Configuration for valid options.

Only options in the Command line arguments section can be specified in the arkmanager config.

paytah232 commented 4 years ago

Refer to https://ark.gamepedia.com/Server_Configuration for valid options.

Only options in the Command line arguments section can be specified in the arkmanager config.

  • Options of the form -option are specified using arkflag_option=true
  • Options of the form -option=value are specified using arkopt_option=value
  • Options of the form ?option are specified using ark_option=""
  • Options of the form ?option=value are specified using ark_option=value

So which section relates to which? I used that website to add my settings but I just saw everything in the GameUserSettings.ini section I did ark_, and the everything in the Game.ini section I did not use anything infront of it at all. Perhaps you could give me an example of what I am doing wrong from my linked settings file please?

klightspeed commented 4 years ago

By section:

If your instance config is theisland.cfg, then:

paytah232 commented 4 years ago

By section:

  • Command line arguments

    • Options of the form -option are specified using arkflag_option=true in the arkmanager instance config
    • Options of the form -option=value are specified using arkopt_option=value
    • Options of the form ?option are specified using ark_option=""
    • Options of the form ?option=value are specified using ark_option=value
  • GameUserSettings.ini

    • Any options that were not in Command line arguments can only be specified in the [ServerSettings] section of GameUserSettings.ini
  • Ragnarok

    • These options can only be specified in the [Ragnarok] section of GameUserSettings.ini
  • Game.ini

    • These options can only be specified in the [/script/shootergame.shootergamemode] section of Game.ini

If your instance config is theisland.cfg, then:

  • theisland.GameUserSettings.ini will be written to the GameUserSettings.ini file in the ShooterGame/Saved/Config/LinuxServer directory
  • theisland.Game.ini will be written to the Game.ini file in the ShooterGame/Saved/Config/LinuxServer directory

Wait so are you saying I can't do instance wide config by doing all my configs changes in arkmanager instance config?

I think you may have misunderstood my question. So I just want to know what I'm doing wrong. Like I see you have the arkflagopt stuff etc, but how do I know what to use. All the settings I use that on the wiki are under the gameusersettings.ini section i preappend with 'ark', for example ark_allowThirdPersonPlayer=True, and all the options that are under the game.ini section, I do not preappend like bAllowUnlimitedRespecs=True.

Is this the correct usage? Can i assume that all entries under gameusersettings.ini need to pre-appended with ark_. Is that true, or if not, what needs to be pre-appended? For game.ini, is there a generic pre-append (or no pre-append or do I need to do certain pre-appends per option).

klightspeed commented 4 years ago

The ark_ prefix is only required when putting the option into the instance.cfg. No prefix should be used if putting the option directly into GameUserSettings.ini

Options in the Game.ini cannot be specified in the instance.cfg

paytah232 commented 4 years ago

Okay so I am not using the instance.cfg files at all. I am only using arkmanager.cfg because I want all the settings to be the same for all instances. Does that change how I need to configure it? Can you please check the uploaded code for what I mean, it is my arkmanager.cfg file, and I separated it into sections based on the wiki page with #gameusersettings.ini and #game.ini. Each section that is either all pre-appended with ark_ or not at all.

klightspeed commented 4 years ago

The config does not contain arkserverroot, so arkmanager will not know where the game files should be.

steamcmd_workshoplog indicates where to find the workshop log - it has no control over where the workshop log will be put.

arkstChannel="master"                                               # change it to a different branch to get non-stable versions
install_bindir="/usr/local/bin"
install_libexecdir="/usr/local/libexec/arkmanager"
install_datadir="/usr/local/share/arkmanager"

# config SteamCMD
steamcmdroot="/home/steam/steamcmd"                                 # path of your steamcmd instance
steamcmdexec="steamcmd.sh"                                          # name of steamcmd executable
steamcmd_user="steam"                                               # name of the system user who own steamcmd folder
steamcmd_appinfocache="/home/steam/Steam/appcache/appinfo.vdf"      # cache of the appinfo command
steamcmd_workshoplog="/home/steam/Steam/logs/workshop_log.txt"      # Steam workshop log
#steamlogin="anonymous"                                             # Uncomment this to specify steam login instead of using anonymous login

# config environment
arkserverexec="ShooterGame/Binaries/Linux/ShooterGameServer"        # name of ARK server executable
arkbackupdir="/ark/ARK-Backups"                              # path to backup directory
arkwarnminutes="60"                                                 # number of minutes to warn players when using update --warn
arkautorestartfile="ShooterGame/Saved/.autorestart"                 # path to autorestart file
arkAutoUpdateOnStart="true"                                        # set this to true if you want to always update before startup
arkBackupPreUpdate="true"                                          # set this to true if you want to perform a backup before updating
arkStagingDir="/home/steam/ARK-Staging"                            # Uncomment to enable updates to be fully downloaded before restarting the server (reduces downtime while updating)

# Options to automatically remove old backups to keep backup size in check
# Each compressed backup is generally about 1-2MB in size.
#arkMaxBackupSizeMB="500"                                            # Set to automatically remove old backups when size exceeds this limit
arkMaxBackupSizeGB="2"                                             # Uncomment this and comment the above to specify the limit in whole GB

ark_bRawSockets="false"

# Update warning messages
# Modify as desired, putting the %d replacement operator where the number belongs
msgWarnUpdateMinutes="This ARK server will shutdown for an update in %d minutes"
msgWarnUpdateSeconds="This ARK server will shutdown for an update in %d seconds"
msgWarnRestartMinutes="This ARK server will shutdown for a restart in %d minutes"
msgWarnRestartSeconds="This ARK server will shutdown for a restart in %d seconds"
msgWarnShutdownMinutes="This ARK server will shutdown in %d minutes"
msgWarnShutdownSeconds="This ARK server will shutdown in %d seconds"
msgWarnCancelled="Restart cancelled by player request"

# Notifications
notifyMsgShuttingDown="Shutting down"
notifyMsgStarting="Starting"
notifyMsgServerUp="Server is up"
notifyMsgStoppedListening="Server has stopped listening - restarting"
notifyMsgServerTerminated="Server exited - restarting"
notifyTemplate="Message from instance {instance} on server {server}: {msg}"

# Restart cancel chat command
chatCommandRestartCancel="/cancelupdate"

# ARK server common options - use ark_<optionname>=<value>
# comment out these values if you want to define them
# inside your GameUserSettings.ini file
serverMap="TheIsland"                                               # server map (default TheIsland)
#serverMapModId="469987622"                                         # Uncomment this to specify the Map Mod Id (<fileid> in http://steamcommunity.com/sharedfiles/filedetails/?id=<fileid>)
#ark_TotalConversionMod="496735411"                                 # Uncomment this to specify a total-conversion mod
ark_RCONEnabled="True"                                              # Enable RCON Protocol
ark_MaxPlayers="10"
#ark_GameModIds="487516323,487516324,487516325"                     # Uncomment to specify additional mods by Mod Id separated by commas
#ark_AltSaveDirectoryName="SotF"                                    # Uncomment to specify a different save directory name

# ARK server flags - use arkflag_<optionname>=true
#arkflag_OnlyAdminRejoinAsSpectator=true                            # Uncomment to only allow admins to rejoin as spectator
#arkflag_DisableDeathSpectator=true                                 # Uncomment to disable players from becoming spectators when they die

# ARK server options - i.e. for -optname=val, use arkopt_optname=val
#arkopt_StructureDestructionTag=DestroySwampSnowStructures

# config Service
logdir="/ark/logs/arktools"                                          # Logs path (default /var/log/arktools)

# steamdb specific
appid=376030                                                        # Linux server App ID
mod_appid=346110                                                    # App ID for mods

# Mod OS Selection
mod_branch=Windows
# Add mod-specific OS selection below:
#mod_branch_496735411=Windows

# alternate configs
# example for config name "ark1":
configfile_theisland="${BASH_SOURCE[0]}"
configfile_primitive="${BASH_SOURCE[0]}"
configfile_thecenter="${BASH_SOURCE[0]}"

defaultinstance="theisland"

if [ -n "$instance" ]; then
arkserverroot="/ark/servers/${instance}"

cat >"${arkserverroot}/ShooterGame/Saved/Config/LinuxServer/GameUserSettings.ini" <<EOE
[ServerSettings]
MaxTributeDinos=273
MaxTributeItems=154
alwaysNotifyPlayerJoined=True
alwaysNotifyPlayerLeft=True
AllowThirdPersonPlayer=True
globalVoiceChat=False
ShowMapPlayerLocation=True
noTributeDownloads=True
proximityChat=False
serverPVE=True
serverHardcore=False
serverForceNoHud=False
DisableStructureDecayPvE=True
DisableDinoDecayPvE=True
AllowFlyerCarryPvE=True
NewMaxStructuresInRange=9000.0
bAllowPlatformSaddleMultiFloors=True
DifficultyOffset=0.000000
DayCycleSpeedScale=1.000000
NightTimeSpeedScale=1.4
DayTimeSpeedScale=0.6
DinoDamageMultiplier=1.0
PlayerDamageMultiplier=2.2
StructureDamageMultiplier=3.0
PlayerResistanceMultiplier=1.000000
DinoResistanceMultiplier=1.0
StructureResistanceMultiplier=0.7
XPMultiplier=2.000000
PvEDinoDecayPeriodMultiplier=1.0
TamingSpeedMultiplier=1.6
HarvestAmountMultiplier=5.5
HarvestHealthMultiplier=2.5
ResourcesRespawnPeriodMultiplier=50.0
PlayerCharacterWaterDrainMultiplier=0.55
PlayerCharacterFoodDrainMultiplier=0.55000
PlayerCharacterStaminaDrainMultiplier=0.4
PlayerCharacterHealthRecoveryMultiplier=2.00000
DinoCharacterFoodDrainMultiplier=1.0000
DinoCharacterStaminaDrainMultiplier=1.000000
DinoCharacterHealthRecoveryMultiplier=1.000000
DinoCountMultiplier=1.000000
AllowCaveBuildingPvE=True
DisablePvEGamma=False
ItemStackSizeMultiplier=2.000
OxygenSwimSpeedStatMultiplier=3
AllowHitMarkers=True
OverrideStructurePlatformPrevention=True
EnablePVPGamma=True
OverrideOfficialDifficulty=5.000000
NonPermanentDiseases=True
ListenServerTetherDistanceMultiplier=1.000000
AllowThirdPersonPlayer=True
ServerCrosshair=True
PreventDownloadSurvivors=True
PreventDownloadItems=True
PreventDownloadDinos=True
ServerPassword=keyboardcat
ServerAdminPassword=canihazcheeseburger

[StructuresPlus]
EnableQuickClimb=false
NoFoundationsRequired=True
AdditionalSupportDistanceInFoundations=0
ElevatorWeightMultiplier=2
ElevatorSpeed=200
DisablePickup=false
DisablePickupWhenDamaged=false
DisablePickupAfterTimeInSeconds=0
DisableResourcePulling=false
ResourcePullRangeInFoundations=30
DisableAbilityToHideStructures=false
EnableGeneratorDecay=false
DisableGeneratorDuringStorm=false
DisableElectronicsDuringStorm=false
RemoveScorchedEarthInsulationPenalty=false
MinWindForTurbine=20
TurbineMaxPowerDistanceInFoundations=30
GardenerRangeInFoundations=10
SheepHerderRangeInFoundations=10
DefaultDoorConfig=0
LargeWallHP=40000
XLWallHP=120000
FenceHP=10000
GrinderResourceReturnPercent=75
GrinderResourceReturnMax=10000
BeerBarrelCraftingSpeed=5
CampfireCraftingSpeed=25
ChemistryBenchCraftingSpeed=24
CompostBinCraftingSpeed=40
CookingPotCraftingSpeed=20
FabricatorCraftingSpeed=20
ForgeCraftingSpeed=50
FireplaceCraftingSpeed=20
FridgeCraftingSpeed=1
GrinderCraftingSpeed=10
IndustrialCookingPotCraftingSpeed=12
IndustrialForgeCraftingSpeed=10
IndustrialGrillCraftingSpeed=10
MortarAndPestleCraftingSpeed=25
PreservingBinCraftingSpeed=20
ReplicatorCraftingSpeed=12
SmithyCraftingSpeed=17
SPlusCraftingStationCraftingSpeed=17
RestrictDemoGunPickup=false
ItemCollectorRangeInFoundations=35
DisableItemCollectorPoopDistribution=false
FarmerRangeInFoundations=30
RaidTimerLimitMultiplier=1
GrinderReturnBlockedResources=false
CloningSpeedMultiplier=2
CloningCostMultiplier=0.5
DisableCloningCostMaximum=false
ShieldRespawnDelayInSeconds=3600
ShieldRegenDelayInSeconds=600
ShieldHealth=250000
MinShieldPlacementDistanceInFoundations=8
DisableShieldPlacementOnRaftsAndSaddles=false
MinTeleporterPlacementDistanceInFoundations=8
PersonalTeleporterBeaconLifespanInSeconds=300
DisablePersonalTeleporterBeacon=false
BeeHiveWateringRangeInFoundations=30
BeeHiveHoneyIntervalInSeconds=10
DisableAbilityToPlaceVacuumCompartmentsAboveWater=false
DisableAbilityToPlaceTekGeneratorOnSaddles=true
DisableAbilityToPlaceTeleporterOnSaddles=false
BedCooldownTimeInSeconds=1
BunkBedCooldownTimeInSeconds=1
HatcheryRangeInFoundations=25
HatcheryIncubationMultiplier=5
RemoveFloorRequirementFromStructurePlacement=false
AllowIntakeToPlaceWithoutWater=true

[UpgradeStation]
MaxUpgradeQualityIndex=3

[MessageOfTheDay]
Duration=10
Message="Welcome to the motherfucking JUNGLE gents!"

[/Script/ShooterGame.ShooterGameUserSettings]
Version=5
EOE

cat >"${arkserverroot}/ShooterGame/Saved/Config/LinuxServer/Game.ini" <<EOE
[/Script/ShooterGame.ShooterGameMode]
ResourceNoReplenishRadiusPlayers=0.40000
ResourceNoReplenishRadiusStructures=0.40000
GlobalSpoilingTimeMultiplier=2.0
GlobalCorpseDecompositionTimeMultiplier=4.0
bUseCorpseLocator=True
bPvEDisableFriendlyFire=True
bAllowUnlimitedRespecs=True
bDisableStructurePlacementCollision=True
SupplyCrateLootQualityMultiplier=4.0
FishingLootQualityMultiplier=4.0
PerLevelStatsMultiplier_Player[0]=2.5
PerLevelStatsMultiplier_Player[1]=2.25
PerLevelStatsMultiplier_Player[2]=1.0
PerLevelStatsMultiplier_Player[3]=11
PerLevelStatsMultiplier_Player[4]=5.0
PerLevelStatsMultiplier_Player[5]=5.0
PerLevelStatsMultiplier_Player[6]=1.0
PerLevelStatsMultiplier_Player[7]=10.0
PerLevelStatsMultiplier_Player[8]=2.2
PerLevelStatsMultiplier_Player[9]=4.25
PerLevelStatsMultiplier_Player[10]=10.0
PerLevelStatsMultiplier_Player[11]=10.0
PerLevelStatsMultiplier_DinoTamed[0]=1.3
PerLevelStatsMultiplier_DinoTamed[1]=1.5
PerLevelStatsMultiplier_DinoTamed[2]=1.0
PerLevelStatsMultiplier_DinoTamed[3]=1.5
PerLevelStatsMultiplier_DinoTamed[4]=1.0
PerLevelStatsMultiplier_DinoTamed[5]=1.0
PerLevelStatsMultiplier_DinoTamed[6]=1.0
PerLevelStatsMultiplier_DinoTamed[7]=1.5
PerLevelStatsMultiplier_DinoTamed[8]=1.4
PerLevelStatsMultiplier_DinoTamed[9]=2.0
PerLevelStatsMultiplier_DinoTamed[10]=1.0
PerLevelStatsMultiplier_DinoTamed[11]=1.0
PerLevelStatsMultiplier_DinoWild[0]=1.0
PerLevelStatsMultiplier_DinoWild[1]=1.0
PerLevelStatsMultiplier_DinoWild[2]=1.0
PerLevelStatsMultiplier_DinoWild[3]=1.0
PerLevelStatsMultiplier_DinoWild[4]=1.0
PerLevelStatsMultiplier_DinoWild[5]=1.0
PerLevelStatsMultiplier_DinoWild[6]=1.0
PerLevelStatsMultiplier_DinoWild[7]=1.0
PerLevelStatsMultiplier_DinoWild[8]=.9
PerLevelStatsMultiplier_DinoWild[9]=1.0
PerLevelStatsMultiplier_DinoWild[10]=1.0
PerLevelStatsMultiplier_DinoWild[11]=1.0
LayEggIntervalMultiplier=0.2
MatingIntervalMultiplier=0.7
EggHatchSpeedMultiplier=3.0
BabyMatureSpeedMultiplier=3.0
FuelConsumptionIntervalMultiplier=0.5
CropDecaySpeedMultiplier=0.0
OverrideNamedEngramEntries=(EngramClassName="EngramEntry_Saddle_Ptero_C",EngramLevelRequirement=101)
OverrideNamedEngramEntries=(EngramClassName="EngramEntry_Saddle_Pela_C",EngramLevelRequirement=101)
OverrideNamedEngramEntries=(EngramClassName="EngramEntry_Saddle_Tapejara_C",EngramLevelRequirement=101)
OverrideNamedEngramEntries=(EngramClassName="EngramEntry_Saddle_Argentavis_C",EngramLevelRequirement=101)
OverrideNamedEngramEntries=(EngramClassName="EngramEntry_Saddle_Quetz_C",EngramLevelRequirement=101)
#ConfigOverrideSupplyCrateItems=(SupplyCrateClassString="ArtifactCrate_3_C",MinItemSets=1,MaxItemSets=1,NumItemSetsPower=1,bSetsRandomWithoutReplacement=true,ItemSets=((SetName="Lava Massive (South East)",MinNumItems=4,MaxNumItems=4,NumItemsPower=1,SetWeight=1,bItemsRandomWithoutReplacement=true,ItemEntries=((EntryWeight=0.266129,ItemClassStrings=("PrimalItemArtifact_03_C"),ItemsWeights=(1),MinQuantity=3,MaxQuantity=3,MinQuality=0,MaxQuality=0,bForceBlueprint=false,ChanceToBeBlueprintOverride=0),(EntryWeight=0.266129,ItemClassStrings=("PrimalItemAmmo_ArrowFlame_C"),ItemsWeights=(1),MinQuantity=1,MaxQuantity=1,MinQuality=0,MaxQuality=0,bForceBlueprint=true,ChanceToBeBlueprintOverride=1),(EntryWeight=0.266129,ItemClassStrings=("PrimalItemArmor_ZiplineMotor_C"),ItemsWeights=(1),MinQuantity=1,MaxQuantity=1,MinQuality=0,MaxQuality=0,bForceBlueprint=true,ChanceToBeBlueprintOverride=1),(EntryWeight=0.201613,ItemClassStrings=("PrimalItemArmor_PteroSaddle_C"),ItemsWeights=(1),MinQuantity=1,MaxQuantity=1,MinQuality=0,MaxQuality=0,bForceBlueprint=true,ChanceToBeBlueprintOverride=1)))))
HarvestResourceItemAmountClassMultipliers=(ClassName = "PrimalItemResource_Obsidian_C",Multiplier=3)
HarvestResourceItemAmountClassMultipliers=(ClassName = "PrimalItemResource_Oil_C",Multiplier=5)
HarvestResourceItemAmountClassMultipliers=(ClassName = "PrimalItemResource_RareFlower_C",Multiplier=2)
HarvestResourceItemAmountClassMultipliers=(ClassName = "PrimalItemResource_Silicon_C",Multiplier=5)
HarvestResourceItemAmountClassMultipliers=(ClassName = "PrimalItemResource_Metal_C",Multiplier=2)
HarvestResourceItemAmountClassMultipliers=(ClassName = "PrimalItemResource_Stone_C",Multiplier=2)
HarvestResourceItemAmountClassMultipliers=(ClassName = "PrimalItemResource_Chitin_C",Multiplier=3)
HarvestResourceItemAmountClassMultipliers=(ClassName = "PrimalItemResource_Crystal_C",Multiplier=3)
HarvestResourceItemAmountClassMultipliers=(ClassName = "PrimalItemResource_Polymer_Organic_C",Multiplier=3)
HarvestResourceItemAmountClassMultipliers=(ClassName = "PrimalItemResource_Pelt_C",Multiplier=2)
HarvestResourceItemAmountClassMultipliers=(ClassName = "PrimalItemConsumable_Seed_Narcoberry_C",Multiplier=2)
HarvestResourceItemAmountClassMultipliers=(ClassName = "PrimalItemConsumable_Berry_Narcoberry_C",Multiplier=2)
OverrideNamedEngramEntries=(EngramClassName="EngramEntry_ReusableGrapplingHook_C",EngramHidden=True,EngramPointsCost=75,EngramLevelRequirement=150,RemoveEngramPreReq=False)
EngramEntryAutoUnlocks=(EngramClassName="EngramEntry_TekBoots_C",LevelToAutoUnlock=0)
EngramEntryAutoUnlocks=(EngramClassName="EngramEntry_TekShirt_C",LevelToAutoUnlock=0)
EngramEntryAutoUnlocks=(EngramClassName="EngramEntry_TekGloves_C",LevelToAutoUnlock=0)
EngramEntryAutoUnlocks=(EngramClassName="EngramEntry_TekHelmet_C",LevelToAutoUnlock=0)
EngramEntryAutoUnlocks=(EngramClassName="EngramEntry_TekPants_C",LevelToAutoUnlock=0)
EngramEntryAutoUnlocks=(EngramClassName="EngramEntry_TekRifle_C",LevelToAutoUnlock=0)
EngramEntryAutoUnlocks=(EngramClassName="EngramEntry_TekTeleporter_C",LevelToAutoUnlock=0)
EngramEntryAutoUnlocks=(EngramClassName="EngramEntry_TekGrenade_C",LevelToAutoUnlock=0)
EngramEntryAutoUnlocks=(EngramClassName="EngramEntry_TurretTek_C",LevelToAutoUnlock=0)
EngramEntryAutoUnlocks=(EngramClassName="EngramEntry_ShieldTek_C",LevelToAutoUnlock=0)
EngramEntryAutoUnlocks=(EngramClassName="EngramEntry_WeaponTekSword_C",LevelToAutoUnlock=0)
EngramEntryAutoUnlocks=(EngramClassName="EngramEntry_TekRexSaddle_C",LevelToAutoUnlock=0)
EngramEntryAutoUnlocks=(EngramClassName="EngramEntry_TekMosaSaddle_C",LevelToAutoUnlock=0)
EngramEntryAutoUnlocks=(EngramClassName="EngramEntry_TekMegalodonSaddle_C",LevelToAutoUnlock=0)
EngramEntryAutoUnlocks=(EngramClassName="EngramEntry_Tapejara_Tek_C",LevelToAutoUnlock=0)
EngramEntryAutoUnlocks=(EngramClassName="EngramEntry_TekReplicator_C",LevelToAutoUnlock=0)
EngramEntryAutoUnlocks=(EngramClassName="EngramEntry_TekShield_C",LevelToAutoUnlock=0)
EngramEntryAutoUnlocks=(EngramClassName="EngramEntry_TekTransmitter_C",LevelToAutoUnlock=0)
EngramEntryAutoUnlocks=(EngramClassName="EngramEntry_TekGenerator_C",LevelToAutoUnlock=0)
EngramEntryAutoUnlocks=(EngramClassName="EngramEntry_TekTrough_C",LevelToAutoUnlock=0)
EngramEntryAutoUnlocks=(EngramClassName="EngramEntry_TekCloningChamber_C",LevelToAutoUnlock=0)
EngramEntryAutoUnlocks=(EngramClassName="EngramEntry_TekLight_C",LevelToAutoUnlock=0)
EngramEntryAutoUnlocks=(EngramClassName="EngramEntry_TekFloor_C",LevelToAutoUnlock=0)
EngramEntryAutoUnlocks=(EngramClassName="EngramEntry_Tek_Gate_Large_C",LevelToAutoUnlock=0)
EngramEntryAutoUnlocks=(EngramClassName="EngramEntry_TekGateframe_Large_C",LevelToAutoUnlock=0)
EngramEntryAutoUnlocks=(EngramClassName="EngramEntry_TekWindow_C",LevelToAutoUnlock=0)
EngramEntryAutoUnlocks=(EngramClassName="EngramEntry_TekWallWithWindow_C",LevelToAutoUnlock=0)
EngramEntryAutoUnlocks=(EngramClassName="EngramEntry_TekTrapdoor_C",LevelToAutoUnlock=0)
EngramEntryAutoUnlocks=(EngramClassName="EngramEntry_TekCeilingWithTrapdoor_C",LevelToAutoUnlock=0)
EngramEntryAutoUnlocks=(EngramClassName="EngramEntry_UnderwaterBase_C",LevelToAutoUnlock=0)
EngramEntryAutoUnlocks=(EngramClassName="EngramEntry_Tek_Gate_C",LevelToAutoUnlock=0)
EngramEntryAutoUnlocks=(EngramClassName="EngramEntry_TekGateframe_C",LevelToAutoUnlock=0)
EngramEntryAutoUnlocks=(EngramClassName="EngramEntry_TekDoor_C",LevelToAutoUnlock=0)
EngramEntryAutoUnlocks=(EngramClassName="EngramEntry_TekWallwithdoor_C",LevelToAutoUnlock=0)
EngramEntryAutoUnlocks=(EngramClassName="EngramEntry_TekWall_C",LevelToAutoUnlock=0)
EngramEntryAutoUnlocks=(EngramClassName="EngramEntry_TekCeiling_C",LevelToAutoUnlock=0)
EngramEntryAutoUnlocks=(EngramClassName="EngramEntry_TekRailing_C",LevelToAutoUnlock=0)
EngramEntryAutoUnlocks=(EngramClassName="EngramEntry_Tekfencefoundation_C",LevelToAutoUnlock=0)
EngramEntryAutoUnlocks=(EngramClassName="EngramEntry_TekRoof_C",LevelToAutoUnlock=0)
EngramEntryAutoUnlocks=(EngramClassName="EngramEntry_TekSlopedWall_Left_C",LevelToAutoUnlock=0)
EngramEntryAutoUnlocks=(EngramClassName="EngramEntry_TekSlopedWall_Right_C",LevelToAutoUnlock=0)
EngramEntryAutoUnlocks=(EngramClassName="EngramEntry_TekStairs_C",LevelToAutoUnlock=0)
EngramEntryAutoUnlocks=(EngramClassName="EngramEntry_TekLadder_C",LevelToAutoUnlock=0)
EngramEntryAutoUnlocks=(EngramClassName="EngramEntry_TekPillar_C",LevelToAutoUnlock=0)
EngramEntryAutoUnlocks=(EngramClassName="EngramEntry_TekCatwalk_C",LevelToAutoUnlock=0)
EngramEntryAutoUnlocks=(EngramClassName="EngramEntry_TekUnderwaterBase_C",LevelToAutoUnlock=0)
EngramEntryAutoUnlocks=(EngramClassName="EngramEntry_TekUnderwaterBase_BottomEntry_C",LevelToAutoUnlock=0)
EngramEntryAutoUnlocks=(EngramClassName="EngramEntry_TekUnderwaterBase_moonpool_C",LevelToAutoUnlock=0)
EOE
fi
paytah232 commented 4 years ago
`Pugno-NAS_ARK_Server
date,stream,content
2020-08-16 12:13:18,stdout,Applying update from staging directory

2020-08-16 12:13:18,stdout, Created Backup:  theisland.2020-08-16_22.13.12.tar.bz2

2020-08-16 12:13:18,stdout, Compressing Backup [   OK   ]

2020-08-16 12:13:18,stdout,[ FAILED ]

2020-08-16 12:13:18,stdout,cp: cannot stat '/ark/servers/theisland/ShooterGame/Saved/SavedArks/*.arktributetribe': No such file or directory

2020-08-16 12:13:16,stdout, Copying Game.ini cp: cannot stat '/ark/servers/theisland/ShooterGame/Saved/Config/LinuxServer/Game.ini': No such file or directory

2020-08-16 12:13:16,stdout,[ FAILED ]

2020-08-16 12:13:16,stdout,cp: cannot stat '/ark/servers/theisland/ShooterGame/Saved/SavedArks/*.arktributetribe': No such file or directory

2020-08-16 12:13:14,stdout, Copying GameUserSettings.ini cp: cannot stat '/ark/servers/theisland/ShooterGame/Saved/Config/LinuxServer/GameUserSettings.ini': No such file or directory

2020-08-16 12:13:14,stdout, Copying ARK tribute tribe files 

2020-08-16 12:13:14,stdout, Copying ARK tribe files 

2020-08-16 12:13:14,stdout, Copying ARK profile files

2020-08-16 12:13:14,stdout,"Inconsistent casing in map name - TheIsland.ark does not exist, but  does
"
2020-08-16 12:13:14,stdout,\033[0;39m\e[68G[ \033[1;31mFAILED\033[0;39m ]

2020-08-16 12:13:14,stdout,cp: cannot stat '/ark/servers/theisland/ShooterGame/Saved/SavedArks/TheIsland.tmp': No such file or directory

2020-08-16 12:13:14,stdout,cp: cannot stat '/ark/servers/theisland/ShooterGame/Saved/SavedArks/TheIsland.ark': No such file or directory

2020-08-16 12:13:12,stdout, Copying ARK world file (TheIsland) cp: cannot stat '/ark/servers/theisland/ShooterGame/Saved/SavedArks/TheIsland.ark': No such file or directory

2020-08-16 12:13:12,stdout,\033[0;39m Saved arks directory is /ark/servers/theisland/ShooterGame/Saved/SavedArks

2020-08-16 12:13:12,stdout,Downloading ARK update ...  -/|\-/|\- The server is already stopped

2020-08-16 12:13:01,stdout,sed: can't read /ark/servers/theisland/steamapps/appmanifest_376030.acf: No such file or directory

2020-08-16 12:12:50,stdout,find: '/ark/servers/theisland/ShooterGame/Content/Mods': No such file or directory

2020-08-16 12:12:50,stdout,find: '/ark/servers/theisland/ShooterGame/Content/Mods': No such file or directory

2020-08-16 12:12:50,stdout,Checking for update; PID: 16

2020-08-16 12:12:50,stdout,Checking for updates before starting

2020-08-16 12:12:50,stdout,[  WARN  ]     Your ARK server exec could not be found.

2020-08-16 12:12:50,stdout,/etc/arkmanager/arkmanager.cfg: line 240: /ark/servers/theisland/ShooterGame/Saved/Config/LinuxServer/Game.ini: No such file or directory

2020-08-16 12:12:50,stdout,/etc/arkmanager/arkmanager.cfg: line 95: /ark/servers/theisland/ShooterGame/Saved/Config/LinuxServer/GameUserSettings.ini: No such file or directory

2020-08-16 12:12:50,stdout,Running command 'start' for instance 'theisland'

2020-08-16 12:12:50,stdout,Starting

2020-08-16 12:12:50,stdout,hit else

2020-08-16 12:12:50,stdout,Using configs from mapped /ark directory

2020-08-16 12:12:44,stdout,Running setup script

2020-08-16 12:12:28,stdout,The server is already stopped

2020-08-16 12:12:28,stdout,[  WARN  ]     Your ARK server exec could not be found.

2020-08-16 12:12:28,stdout,/etc/arkmanager/arkmanager.cfg: line 240: /ark/servers/theisland/ShooterGame/Saved/Config/LinuxServer/Game.ini: No such file or directory

2020-08-16 12:12:28,stdout,/etc/arkmanager/arkmanager.cfg: line 95: /ark/servers/theisland/ShooterGame/Saved/Config/LinuxServer/GameUserSettings.ini: No such file or directory

2020-08-16 12:12:28,stdout,Running command 'stop' for instance 'theisland'`

The output of my server after adding your configuration. This didn't happen before. What changed?

Everything normally runs fine. My docker filetree is like this: docker\ARK\servers\ARK\ShooterGame etc. \docker\ARK\servers\ARK\ARK-BACKUP-Primitive etc. \docker\ARK\ark-scripts \docker\ARK\configs \docker\ARK\logs \docker\ARK\servers

Seemed like it tried to reinstall the game files under \docker\ARK\servers\theisland ......

paytah232 commented 4 years ago
defaultinstance="theisland"

if [ -n "$instance" ]; then
arkserverroot="/ark/servers/${instance}"

I think this is the problem. I have it set so that the servers all use the same game files (because I only have one running at a time anyway). In my theisland.cfg I have set:

# config environment
arkserverroot="/ark/servers/ARK"                                     # path of your ARK server files (default ~/ARK)
arkbackupdir="/ark/servers/ARK-BACKUP-TheIsland"

How should I edit your arkmanager.cfg such that this configuration works for the separate instances.

klightspeed commented 4 years ago

First you say:

Okay so I am not using the instance.cfg files at all.

Then you say:

In my theisland.cfg I have set:

# config environment
arkserverroot="/ark/servers/ARK"                                     # path of your ARK server files (default ~/ARK)
arkbackupdir="/ark/servers/ARK-BACKUP-TheIsland"

Which is it?

Since you specify that you do have instance config files, what is preventing you from creating the following ini files: /ark/configs/instances/theisland.GameUserSettings.ini:

[ServerSettings]
MaxTributeDinos=273
MaxTributeItems=154
alwaysNotifyPlayerJoined=True
alwaysNotifyPlayerLeft=True
AllowThirdPersonPlayer=True
globalVoiceChat=False
ShowMapPlayerLocation=True
noTributeDownloads=True
proximityChat=False
serverPVE=True
serverHardcore=False
serverForceNoHud=False
DisableStructureDecayPvE=True
DisableDinoDecayPvE=True
AllowFlyerCarryPvE=True
NewMaxStructuresInRange=9000.0
bAllowPlatformSaddleMultiFloors=True
DifficultyOffset=0.000000
DayCycleSpeedScale=1.000000
NightTimeSpeedScale=1.4
DayTimeSpeedScale=0.6
DinoDamageMultiplier=1.0
PlayerDamageMultiplier=2.2
StructureDamageMultiplier=3.0
PlayerResistanceMultiplier=1.000000
DinoResistanceMultiplier=1.0
StructureResistanceMultiplier=0.7
XPMultiplier=2.000000
PvEDinoDecayPeriodMultiplier=1.0
TamingSpeedMultiplier=1.6
HarvestAmountMultiplier=5.5
HarvestHealthMultiplier=2.5
ResourcesRespawnPeriodMultiplier=50.0
PlayerCharacterWaterDrainMultiplier=0.55
PlayerCharacterFoodDrainMultiplier=0.55000
PlayerCharacterStaminaDrainMultiplier=0.4
PlayerCharacterHealthRecoveryMultiplier=2.00000
DinoCharacterFoodDrainMultiplier=1.0000
DinoCharacterStaminaDrainMultiplier=1.000000
DinoCharacterHealthRecoveryMultiplier=1.000000
DinoCountMultiplier=1.000000
AllowCaveBuildingPvE=True
DisablePvEGamma=False
ItemStackSizeMultiplier=2.000
OxygenSwimSpeedStatMultiplier=3
AllowHitMarkers=True
OverrideStructurePlatformPrevention=True
EnablePVPGamma=True
OverrideOfficialDifficulty=5.000000
NonPermanentDiseases=True
ListenServerTetherDistanceMultiplier=1.000000
AllowThirdPersonPlayer=True
ServerCrosshair=True
PreventDownloadSurvivors=True
PreventDownloadItems=True
PreventDownloadDinos=True
ServerPassword=keyboardcat
ServerAdminPassword=canihazcheeseburger

[StructuresPlus]
EnableQuickClimb=false
NoFoundationsRequired=True
AdditionalSupportDistanceInFoundations=0
ElevatorWeightMultiplier=2
ElevatorSpeed=200
DisablePickup=false
DisablePickupWhenDamaged=false
DisablePickupAfterTimeInSeconds=0
DisableResourcePulling=false
ResourcePullRangeInFoundations=30
DisableAbilityToHideStructures=false
EnableGeneratorDecay=false
DisableGeneratorDuringStorm=false
DisableElectronicsDuringStorm=false
RemoveScorchedEarthInsulationPenalty=false
MinWindForTurbine=20
TurbineMaxPowerDistanceInFoundations=30
GardenerRangeInFoundations=10
SheepHerderRangeInFoundations=10
DefaultDoorConfig=0
LargeWallHP=40000
XLWallHP=120000
FenceHP=10000
GrinderResourceReturnPercent=75
GrinderResourceReturnMax=10000
BeerBarrelCraftingSpeed=5
CampfireCraftingSpeed=25
ChemistryBenchCraftingSpeed=24
CompostBinCraftingSpeed=40
CookingPotCraftingSpeed=20
FabricatorCraftingSpeed=20
ForgeCraftingSpeed=50
FireplaceCraftingSpeed=20
FridgeCraftingSpeed=1
GrinderCraftingSpeed=10
IndustrialCookingPotCraftingSpeed=12
IndustrialForgeCraftingSpeed=10
IndustrialGrillCraftingSpeed=10
MortarAndPestleCraftingSpeed=25
PreservingBinCraftingSpeed=20
ReplicatorCraftingSpeed=12
SmithyCraftingSpeed=17
SPlusCraftingStationCraftingSpeed=17
RestrictDemoGunPickup=false
ItemCollectorRangeInFoundations=35
DisableItemCollectorPoopDistribution=false
FarmerRangeInFoundations=30
RaidTimerLimitMultiplier=1
GrinderReturnBlockedResources=false
CloningSpeedMultiplier=2
CloningCostMultiplier=0.5
DisableCloningCostMaximum=false
ShieldRespawnDelayInSeconds=3600
ShieldRegenDelayInSeconds=600
ShieldHealth=250000
MinShieldPlacementDistanceInFoundations=8
DisableShieldPlacementOnRaftsAndSaddles=false
MinTeleporterPlacementDistanceInFoundations=8
PersonalTeleporterBeaconLifespanInSeconds=300
DisablePersonalTeleporterBeacon=false
BeeHiveWateringRangeInFoundations=30
BeeHiveHoneyIntervalInSeconds=10
DisableAbilityToPlaceVacuumCompartmentsAboveWater=false
DisableAbilityToPlaceTekGeneratorOnSaddles=true
DisableAbilityToPlaceTeleporterOnSaddles=false
BedCooldownTimeInSeconds=1
BunkBedCooldownTimeInSeconds=1
HatcheryRangeInFoundations=25
HatcheryIncubationMultiplier=5
RemoveFloorRequirementFromStructurePlacement=false
AllowIntakeToPlaceWithoutWater=true

[UpgradeStation]
MaxUpgradeQualityIndex=3

[MessageOfTheDay]
Duration=10
Message="Welcome to the motherfucking JUNGLE gents!"

[/Script/ShooterGame.ShooterGameUserSettings]
Version=5

/ark/configs/instances/theisland.Game.ini:

[/Script/ShooterGame.ShooterGameMode]
ResourceNoReplenishRadiusPlayers=0.40000
ResourceNoReplenishRadiusStructures=0.40000
GlobalSpoilingTimeMultiplier=2.0
GlobalCorpseDecompositionTimeMultiplier=4.0
bUseCorpseLocator=True
bPvEDisableFriendlyFire=True
bAllowUnlimitedRespecs=True
bDisableStructurePlacementCollision=True
SupplyCrateLootQualityMultiplier=4.0
FishingLootQualityMultiplier=4.0
PerLevelStatsMultiplier_Player[0]=2.5
PerLevelStatsMultiplier_Player[1]=2.25
PerLevelStatsMultiplier_Player[2]=1.0
PerLevelStatsMultiplier_Player[3]=11
PerLevelStatsMultiplier_Player[4]=5.0
PerLevelStatsMultiplier_Player[5]=5.0
PerLevelStatsMultiplier_Player[6]=1.0
PerLevelStatsMultiplier_Player[7]=10.0
PerLevelStatsMultiplier_Player[8]=2.2
PerLevelStatsMultiplier_Player[9]=4.25
PerLevelStatsMultiplier_Player[10]=10.0
PerLevelStatsMultiplier_Player[11]=10.0
PerLevelStatsMultiplier_DinoTamed[0]=1.3
PerLevelStatsMultiplier_DinoTamed[1]=1.5
PerLevelStatsMultiplier_DinoTamed[2]=1.0
PerLevelStatsMultiplier_DinoTamed[3]=1.5
PerLevelStatsMultiplier_DinoTamed[4]=1.0
PerLevelStatsMultiplier_DinoTamed[5]=1.0
PerLevelStatsMultiplier_DinoTamed[6]=1.0
PerLevelStatsMultiplier_DinoTamed[7]=1.5
PerLevelStatsMultiplier_DinoTamed[8]=1.4
PerLevelStatsMultiplier_DinoTamed[9]=2.0
PerLevelStatsMultiplier_DinoTamed[10]=1.0
PerLevelStatsMultiplier_DinoTamed[11]=1.0
PerLevelStatsMultiplier_DinoWild[0]=1.0
PerLevelStatsMultiplier_DinoWild[1]=1.0
PerLevelStatsMultiplier_DinoWild[2]=1.0
PerLevelStatsMultiplier_DinoWild[3]=1.0
PerLevelStatsMultiplier_DinoWild[4]=1.0
PerLevelStatsMultiplier_DinoWild[5]=1.0
PerLevelStatsMultiplier_DinoWild[6]=1.0
PerLevelStatsMultiplier_DinoWild[7]=1.0
PerLevelStatsMultiplier_DinoWild[8]=.9
PerLevelStatsMultiplier_DinoWild[9]=1.0
PerLevelStatsMultiplier_DinoWild[10]=1.0
PerLevelStatsMultiplier_DinoWild[11]=1.0
LayEggIntervalMultiplier=0.2
MatingIntervalMultiplier=0.7
EggHatchSpeedMultiplier=3.0
BabyMatureSpeedMultiplier=3.0
FuelConsumptionIntervalMultiplier=0.5
CropDecaySpeedMultiplier=0.0
OverrideNamedEngramEntries=(EngramClassName="EngramEntry_Saddle_Ptero_C",EngramLevelRequirement=101)
OverrideNamedEngramEntries=(EngramClassName="EngramEntry_Saddle_Pela_C",EngramLevelRequirement=101)
OverrideNamedEngramEntries=(EngramClassName="EngramEntry_Saddle_Tapejara_C",EngramLevelRequirement=101)
OverrideNamedEngramEntries=(EngramClassName="EngramEntry_Saddle_Argentavis_C",EngramLevelRequirement=101)
OverrideNamedEngramEntries=(EngramClassName="EngramEntry_Saddle_Quetz_C",EngramLevelRequirement=101)
#ConfigOverrideSupplyCrateItems=(SupplyCrateClassString="ArtifactCrate_3_C",MinItemSets=1,MaxItemSets=1,NumItemSetsPower=1,bSetsRandomWithoutReplacement=true,ItemSets=((SetName="Lava Massive (South East)",MinNumItems=4,MaxNumItems=4,NumItemsPower=1,SetWeight=1,bItemsRandomWithoutReplacement=true,ItemEntries=((EntryWeight=0.266129,ItemClassStrings=("PrimalItemArtifact_03_C"),ItemsWeights=(1),MinQuantity=3,MaxQuantity=3,MinQuality=0,MaxQuality=0,bForceBlueprint=false,ChanceToBeBlueprintOverride=0),(EntryWeight=0.266129,ItemClassStrings=("PrimalItemAmmo_ArrowFlame_C"),ItemsWeights=(1),MinQuantity=1,MaxQuantity=1,MinQuality=0,MaxQuality=0,bForceBlueprint=true,ChanceToBeBlueprintOverride=1),(EntryWeight=0.266129,ItemClassStrings=("PrimalItemArmor_ZiplineMotor_C"),ItemsWeights=(1),MinQuantity=1,MaxQuantity=1,MinQuality=0,MaxQuality=0,bForceBlueprint=true,ChanceToBeBlueprintOverride=1),(EntryWeight=0.201613,ItemClassStrings=("PrimalItemArmor_PteroSaddle_C"),ItemsWeights=(1),MinQuantity=1,MaxQuantity=1,MinQuality=0,MaxQuality=0,bForceBlueprint=true,ChanceToBeBlueprintOverride=1)))))
HarvestResourceItemAmountClassMultipliers=(ClassName = "PrimalItemResource_Obsidian_C",Multiplier=3)
HarvestResourceItemAmountClassMultipliers=(ClassName = "PrimalItemResource_Oil_C",Multiplier=5)
HarvestResourceItemAmountClassMultipliers=(ClassName = "PrimalItemResource_RareFlower_C",Multiplier=2)
HarvestResourceItemAmountClassMultipliers=(ClassName = "PrimalItemResource_Silicon_C",Multiplier=5)
HarvestResourceItemAmountClassMultipliers=(ClassName = "PrimalItemResource_Metal_C",Multiplier=2)
HarvestResourceItemAmountClassMultipliers=(ClassName = "PrimalItemResource_Stone_C",Multiplier=2)
HarvestResourceItemAmountClassMultipliers=(ClassName = "PrimalItemResource_Chitin_C",Multiplier=3)
HarvestResourceItemAmountClassMultipliers=(ClassName = "PrimalItemResource_Crystal_C",Multiplier=3)
HarvestResourceItemAmountClassMultipliers=(ClassName = "PrimalItemResource_Polymer_Organic_C",Multiplier=3)
HarvestResourceItemAmountClassMultipliers=(ClassName = "PrimalItemResource_Pelt_C",Multiplier=2)
HarvestResourceItemAmountClassMultipliers=(ClassName = "PrimalItemConsumable_Seed_Narcoberry_C",Multiplier=2)
HarvestResourceItemAmountClassMultipliers=(ClassName = "PrimalItemConsumable_Berry_Narcoberry_C",Multiplier=2)
OverrideNamedEngramEntries=(EngramClassName="EngramEntry_ReusableGrapplingHook_C",EngramHidden=True,EngramPointsCost=75,EngramLevelRequirement=150,RemoveEngramPreReq=False)
EngramEntryAutoUnlocks=(EngramClassName="EngramEntry_TekBoots_C",LevelToAutoUnlock=0)
EngramEntryAutoUnlocks=(EngramClassName="EngramEntry_TekShirt_C",LevelToAutoUnlock=0)
EngramEntryAutoUnlocks=(EngramClassName="EngramEntry_TekGloves_C",LevelToAutoUnlock=0)
EngramEntryAutoUnlocks=(EngramClassName="EngramEntry_TekHelmet_C",LevelToAutoUnlock=0)
EngramEntryAutoUnlocks=(EngramClassName="EngramEntry_TekPants_C",LevelToAutoUnlock=0)
EngramEntryAutoUnlocks=(EngramClassName="EngramEntry_TekRifle_C",LevelToAutoUnlock=0)
EngramEntryAutoUnlocks=(EngramClassName="EngramEntry_TekTeleporter_C",LevelToAutoUnlock=0)
EngramEntryAutoUnlocks=(EngramClassName="EngramEntry_TekGrenade_C",LevelToAutoUnlock=0)
EngramEntryAutoUnlocks=(EngramClassName="EngramEntry_TurretTek_C",LevelToAutoUnlock=0)
EngramEntryAutoUnlocks=(EngramClassName="EngramEntry_ShieldTek_C",LevelToAutoUnlock=0)
EngramEntryAutoUnlocks=(EngramClassName="EngramEntry_WeaponTekSword_C",LevelToAutoUnlock=0)
EngramEntryAutoUnlocks=(EngramClassName="EngramEntry_TekRexSaddle_C",LevelToAutoUnlock=0)
EngramEntryAutoUnlocks=(EngramClassName="EngramEntry_TekMosaSaddle_C",LevelToAutoUnlock=0)
EngramEntryAutoUnlocks=(EngramClassName="EngramEntry_TekMegalodonSaddle_C",LevelToAutoUnlock=0)
EngramEntryAutoUnlocks=(EngramClassName="EngramEntry_Tapejara_Tek_C",LevelToAutoUnlock=0)
EngramEntryAutoUnlocks=(EngramClassName="EngramEntry_TekReplicator_C",LevelToAutoUnlock=0)
EngramEntryAutoUnlocks=(EngramClassName="EngramEntry_TekShield_C",LevelToAutoUnlock=0)
EngramEntryAutoUnlocks=(EngramClassName="EngramEntry_TekTransmitter_C",LevelToAutoUnlock=0)
EngramEntryAutoUnlocks=(EngramClassName="EngramEntry_TekGenerator_C",LevelToAutoUnlock=0)
EngramEntryAutoUnlocks=(EngramClassName="EngramEntry_TekTrough_C",LevelToAutoUnlock=0)
EngramEntryAutoUnlocks=(EngramClassName="EngramEntry_TekCloningChamber_C",LevelToAutoUnlock=0)
EngramEntryAutoUnlocks=(EngramClassName="EngramEntry_TekLight_C",LevelToAutoUnlock=0)
EngramEntryAutoUnlocks=(EngramClassName="EngramEntry_TekFloor_C",LevelToAutoUnlock=0)
EngramEntryAutoUnlocks=(EngramClassName="EngramEntry_Tek_Gate_Large_C",LevelToAutoUnlock=0)
EngramEntryAutoUnlocks=(EngramClassName="EngramEntry_TekGateframe_Large_C",LevelToAutoUnlock=0)
EngramEntryAutoUnlocks=(EngramClassName="EngramEntry_TekWindow_C",LevelToAutoUnlock=0)
EngramEntryAutoUnlocks=(EngramClassName="EngramEntry_TekWallWithWindow_C",LevelToAutoUnlock=0)
EngramEntryAutoUnlocks=(EngramClassName="EngramEntry_TekTrapdoor_C",LevelToAutoUnlock=0)
EngramEntryAutoUnlocks=(EngramClassName="EngramEntry_TekCeilingWithTrapdoor_C",LevelToAutoUnlock=0)
EngramEntryAutoUnlocks=(EngramClassName="EngramEntry_UnderwaterBase_C",LevelToAutoUnlock=0)
EngramEntryAutoUnlocks=(EngramClassName="EngramEntry_Tek_Gate_C",LevelToAutoUnlock=0)
EngramEntryAutoUnlocks=(EngramClassName="EngramEntry_TekGateframe_C",LevelToAutoUnlock=0)
EngramEntryAutoUnlocks=(EngramClassName="EngramEntry_TekDoor_C",LevelToAutoUnlock=0)
EngramEntryAutoUnlocks=(EngramClassName="EngramEntry_TekWallwithdoor_C",LevelToAutoUnlock=0)
EngramEntryAutoUnlocks=(EngramClassName="EngramEntry_TekWall_C",LevelToAutoUnlock=0)
EngramEntryAutoUnlocks=(EngramClassName="EngramEntry_TekCeiling_C",LevelToAutoUnlock=0)
EngramEntryAutoUnlocks=(EngramClassName="EngramEntry_TekRailing_C",LevelToAutoUnlock=0)
EngramEntryAutoUnlocks=(EngramClassName="EngramEntry_Tekfencefoundation_C",LevelToAutoUnlock=0)
EngramEntryAutoUnlocks=(EngramClassName="EngramEntry_TekRoof_C",LevelToAutoUnlock=0)
EngramEntryAutoUnlocks=(EngramClassName="EngramEntry_TekSlopedWall_Left_C",LevelToAutoUnlock=0)
EngramEntryAutoUnlocks=(EngramClassName="EngramEntry_TekSlopedWall_Right_C",LevelToAutoUnlock=0)
EngramEntryAutoUnlocks=(EngramClassName="EngramEntry_TekStairs_C",LevelToAutoUnlock=0)
EngramEntryAutoUnlocks=(EngramClassName="EngramEntry_TekLadder_C",LevelToAutoUnlock=0)
EngramEntryAutoUnlocks=(EngramClassName="EngramEntry_TekPillar_C",LevelToAutoUnlock=0)
EngramEntryAutoUnlocks=(EngramClassName="EngramEntry_TekCatwalk_C",LevelToAutoUnlock=0)
EngramEntryAutoUnlocks=(EngramClassName="EngramEntry_TekUnderwaterBase_C",LevelToAutoUnlock=0)
EngramEntryAutoUnlocks=(EngramClassName="EngramEntry_TekUnderwaterBase_BottomEntry_C",LevelToAutoUnlock=0)
EngramEntryAutoUnlocks=(EngramClassName="EngramEntry_TekUnderwaterBase_moonpool_C",LevelToAutoUnlock=0)
paytah232 commented 4 years ago

Hi, yes sorry I think I did say earlier that I was using the for server naming, but I meant I wasn't using them at all for game settings, I should have made that more clear.

There probably is nothing stopping me doing that except I don't want to have to manage 3 instance files separate ini's. I like what you set up in the arkmanager.cfg, but I just need it to be able to share the game files for each server instance, and ideally have each server with a backup in it's own directory. Could I specify the root directory without {instance} and make it permanent, and then specify the backup location for each instance within it's own instance file, that way there's no conflicting entries?


From: Ben Peddell notifications@github.com Sent: Sunday, August 16, 2020 10:42:39 PM To: arkmanager/ark-server-tools ark-server-tools@noreply.github.com Cc: Paytah232 peterpugno@hotmail.com; Author author@noreply.github.com Subject: Re: [arkmanager/ark-server-tools] Server Configuration - Validation Test (#1136)

First you say:

Okay so I am not using the instance.cfg files at all.

Then you say:

In my theisland.cfg I have set:

config environment

arkserverroot="/ark/servers/ARK" # path of your ARK server files (default ~/ARK) arkbackupdir="/ark/servers/ARK-BACKUP-TheIsland"

Which is it?

Since you specify that you do have instance config files, what is preventing you from creating the following ini files: /ark/configs/instances/theisland.GameUserSettings.ini:

[ServerSettings] MaxTributeDinos=273 MaxTributeItems=154 alwaysNotifyPlayerJoined=True alwaysNotifyPlayerLeft=True AllowThirdPersonPlayer=True globalVoiceChat=False ShowMapPlayerLocation=True noTributeDownloads=True proximityChat=False serverPVE=True serverHardcore=False serverForceNoHud=False DisableStructureDecayPvE=True DisableDinoDecayPvE=True AllowFlyerCarryPvE=True NewMaxStructuresInRange=9000.0 bAllowPlatformSaddleMultiFloors=True DifficultyOffset=0.000000 DayCycleSpeedScale=1.000000 NightTimeSpeedScale=1.4 DayTimeSpeedScale=0.6 DinoDamageMultiplier=1.0 PlayerDamageMultiplier=2.2 StructureDamageMultiplier=3.0 PlayerResistanceMultiplier=1.000000 DinoResistanceMultiplier=1.0 StructureResistanceMultiplier=0.7 XPMultiplier=2.000000 PvEDinoDecayPeriodMultiplier=1.0 TamingSpeedMultiplier=1.6 HarvestAmountMultiplier=5.5 HarvestHealthMultiplier=2.5 ResourcesRespawnPeriodMultiplier=50.0 PlayerCharacterWaterDrainMultiplier=0.55 PlayerCharacterFoodDrainMultiplier=0.55000 PlayerCharacterStaminaDrainMultiplier=0.4 PlayerCharacterHealthRecoveryMultiplier=2.00000 DinoCharacterFoodDrainMultiplier=1.0000 DinoCharacterStaminaDrainMultiplier=1.000000 DinoCharacterHealthRecoveryMultiplier=1.000000 DinoCountMultiplier=1.000000 AllowCaveBuildingPvE=True DisablePvEGamma=False ItemStackSizeMultiplier=2.000 OxygenSwimSpeedStatMultiplier=3 AllowHitMarkers=True OverrideStructurePlatformPrevention=True EnablePVPGamma=True OverrideOfficialDifficulty=5.000000 NonPermanentDiseases=True ListenServerTetherDistanceMultiplier=1.000000 AllowThirdPersonPlayer=True ServerCrosshair=True PreventDownloadSurvivors=True PreventDownloadItems=True PreventDownloadDinos=True ServerPassword=keyboardcat ServerAdminPassword=canihazcheeseburger

[StructuresPlus] EnableQuickClimb=false NoFoundationsRequired=True AdditionalSupportDistanceInFoundations=0 ElevatorWeightMultiplier=2 ElevatorSpeed=200 DisablePickup=false DisablePickupWhenDamaged=false DisablePickupAfterTimeInSeconds=0 DisableResourcePulling=false ResourcePullRangeInFoundations=30 DisableAbilityToHideStructures=false EnableGeneratorDecay=false DisableGeneratorDuringStorm=false DisableElectronicsDuringStorm=false RemoveScorchedEarthInsulationPenalty=false MinWindForTurbine=20 TurbineMaxPowerDistanceInFoundations=30 GardenerRangeInFoundations=10 SheepHerderRangeInFoundations=10 DefaultDoorConfig=0 LargeWallHP=40000 XLWallHP=120000 FenceHP=10000 GrinderResourceReturnPercent=75 GrinderResourceReturnMax=10000 BeerBarrelCraftingSpeed=5 CampfireCraftingSpeed=25 ChemistryBenchCraftingSpeed=24 CompostBinCraftingSpeed=40 CookingPotCraftingSpeed=20 FabricatorCraftingSpeed=20 ForgeCraftingSpeed=50 FireplaceCraftingSpeed=20 FridgeCraftingSpeed=1 GrinderCraftingSpeed=10 IndustrialCookingPotCraftingSpeed=12 IndustrialForgeCraftingSpeed=10 IndustrialGrillCraftingSpeed=10 MortarAndPestleCraftingSpeed=25 PreservingBinCraftingSpeed=20 ReplicatorCraftingSpeed=12 SmithyCraftingSpeed=17 SPlusCraftingStationCraftingSpeed=17 RestrictDemoGunPickup=false ItemCollectorRangeInFoundations=35 DisableItemCollectorPoopDistribution=false FarmerRangeInFoundations=30 RaidTimerLimitMultiplier=1 GrinderReturnBlockedResources=false CloningSpeedMultiplier=2 CloningCostMultiplier=0.5 DisableCloningCostMaximum=false ShieldRespawnDelayInSeconds=3600 ShieldRegenDelayInSeconds=600 ShieldHealth=250000 MinShieldPlacementDistanceInFoundations=8 DisableShieldPlacementOnRaftsAndSaddles=false MinTeleporterPlacementDistanceInFoundations=8 PersonalTeleporterBeaconLifespanInSeconds=300 DisablePersonalTeleporterBeacon=false BeeHiveWateringRangeInFoundations=30 BeeHiveHoneyIntervalInSeconds=10 DisableAbilityToPlaceVacuumCompartmentsAboveWater=false DisableAbilityToPlaceTekGeneratorOnSaddles=true DisableAbilityToPlaceTeleporterOnSaddles=false BedCooldownTimeInSeconds=1 BunkBedCooldownTimeInSeconds=1 HatcheryRangeInFoundations=25 HatcheryIncubationMultiplier=5 RemoveFloorRequirementFromStructurePlacement=false AllowIntakeToPlaceWithoutWater=true

[UpgradeStation] MaxUpgradeQualityIndex=3

[MessageOfTheDay] Duration=10 Message="Welcome to the motherfucking JUNGLE gents!"

[/Script/ShooterGame.ShooterGameUserSettings] Version=5

/ark/configs/instances/theisland.Game.ini:

[/Script/ShooterGame.ShooterGameMode] ResourceNoReplenishRadiusPlayers=0.40000 ResourceNoReplenishRadiusStructures=0.40000 GlobalSpoilingTimeMultiplier=2.0 GlobalCorpseDecompositionTimeMultiplier=4.0 bUseCorpseLocator=True bPvEDisableFriendlyFire=True bAllowUnlimitedRespecs=True bDisableStructurePlacementCollision=True SupplyCrateLootQualityMultiplier=4.0 FishingLootQualityMultiplier=4.0 PerLevelStatsMultiplier_Player[0]=2.5 PerLevelStatsMultiplier_Player[1]=2.25 PerLevelStatsMultiplier_Player[2]=1.0 PerLevelStatsMultiplier_Player[3]=11 PerLevelStatsMultiplier_Player[4]=5.0 PerLevelStatsMultiplier_Player[5]=5.0 PerLevelStatsMultiplier_Player[6]=1.0 PerLevelStatsMultiplier_Player[7]=10.0 PerLevelStatsMultiplier_Player[8]=2.2 PerLevelStatsMultiplier_Player[9]=4.25 PerLevelStatsMultiplier_Player[10]=10.0 PerLevelStatsMultiplier_Player[11]=10.0 PerLevelStatsMultiplier_DinoTamed[0]=1.3 PerLevelStatsMultiplier_DinoTamed[1]=1.5 PerLevelStatsMultiplier_DinoTamed[2]=1.0 PerLevelStatsMultiplier_DinoTamed[3]=1.5 PerLevelStatsMultiplier_DinoTamed[4]=1.0 PerLevelStatsMultiplier_DinoTamed[5]=1.0 PerLevelStatsMultiplier_DinoTamed[6]=1.0 PerLevelStatsMultiplier_DinoTamed[7]=1.5 PerLevelStatsMultiplier_DinoTamed[8]=1.4 PerLevelStatsMultiplier_DinoTamed[9]=2.0 PerLevelStatsMultiplier_DinoTamed[10]=1.0 PerLevelStatsMultiplier_DinoTamed[11]=1.0 PerLevelStatsMultiplier_DinoWild[0]=1.0 PerLevelStatsMultiplier_DinoWild[1]=1.0 PerLevelStatsMultiplier_DinoWild[2]=1.0 PerLevelStatsMultiplier_DinoWild[3]=1.0 PerLevelStatsMultiplier_DinoWild[4]=1.0 PerLevelStatsMultiplier_DinoWild[5]=1.0 PerLevelStatsMultiplier_DinoWild[6]=1.0 PerLevelStatsMultiplier_DinoWild[7]=1.0 PerLevelStatsMultiplier_DinoWild[8]=.9 PerLevelStatsMultiplier_DinoWild[9]=1.0 PerLevelStatsMultiplier_DinoWild[10]=1.0 PerLevelStatsMultiplier_DinoWild[11]=1.0 LayEggIntervalMultiplier=0.2 MatingIntervalMultiplier=0.7 EggHatchSpeedMultiplier=3.0 BabyMatureSpeedMultiplier=3.0 FuelConsumptionIntervalMultiplier=0.5 CropDecaySpeedMultiplier=0.0 OverrideNamedEngramEntries=(EngramClassName="EngramEntry_Saddle_Ptero_C",EngramLevelRequirement=101) OverrideNamedEngramEntries=(EngramClassName="EngramEntry_Saddle_Pela_C",EngramLevelRequirement=101) OverrideNamedEngramEntries=(EngramClassName="EngramEntry_Saddle_Tapejara_C",EngramLevelRequirement=101) OverrideNamedEngramEntries=(EngramClassName="EngramEntry_Saddle_Argentavis_C",EngramLevelRequirement=101) OverrideNamedEngramEntries=(EngramClassName="EngramEntry_Saddle_Quetz_C",EngramLevelRequirement=101)

ConfigOverrideSupplyCrateItems=(SupplyCrateClassString="ArtifactCrate_3_C",MinItemSets=1,MaxItemSets=1,NumItemSetsPower=1,bSetsRandomWithoutReplacement=true,ItemSets=((SetName="Lava Massive (South East)",MinNumItems=4,MaxNumItems=4,NumItemsPower=1,SetWeight=1,bItemsRandomWithoutReplacement=true,ItemEntries=((EntryWeight=0.266129,ItemClassStrings=("PrimalItemArtifact_03_C"),ItemsWeights=(1),MinQuantity=3,MaxQuantity=3,MinQuality=0,MaxQuality=0,bForceBlueprint=false,ChanceToBeBlueprintOverride=0),(EntryWeight=0.266129,ItemClassStrings=("PrimalItemAmmo_ArrowFlame_C"),ItemsWeights=(1),MinQuantity=1,MaxQuantity=1,MinQuality=0,MaxQuality=0,bForceBlueprint=true,ChanceToBeBlueprintOverride=1),(EntryWeight=0.266129,ItemClassStrings=("PrimalItemArmor_ZiplineMotor_C"),ItemsWeights=(1),MinQuantity=1,MaxQuantity=1,MinQuality=0,MaxQuality=0,bForceBlueprint=true,ChanceToBeBlueprintOverride=1),(EntryWeight=0.201613,ItemClassStrings=("PrimalItemArmor_PteroSaddle_C"),ItemsWeights=(1),MinQuantity=1,MaxQuantity=1,MinQuality=0,MaxQuality=0,bForceBlueprint=true,ChanceToBeBlueprintOverride=1)))))

HarvestResourceItemAmountClassMultipliers=(ClassName = "PrimalItemResource_Obsidian_C",Multiplier=3) HarvestResourceItemAmountClassMultipliers=(ClassName = "PrimalItemResource_Oil_C",Multiplier=5) HarvestResourceItemAmountClassMultipliers=(ClassName = "PrimalItemResource_RareFlower_C",Multiplier=2) HarvestResourceItemAmountClassMultipliers=(ClassName = "PrimalItemResource_Silicon_C",Multiplier=5) HarvestResourceItemAmountClassMultipliers=(ClassName = "PrimalItemResource_Metal_C",Multiplier=2) HarvestResourceItemAmountClassMultipliers=(ClassName = "PrimalItemResource_Stone_C",Multiplier=2) HarvestResourceItemAmountClassMultipliers=(ClassName = "PrimalItemResource_Chitin_C",Multiplier=3) HarvestResourceItemAmountClassMultipliers=(ClassName = "PrimalItemResource_Crystal_C",Multiplier=3) HarvestResourceItemAmountClassMultipliers=(ClassName = "PrimalItemResource_Polymer_Organic_C",Multiplier=3) HarvestResourceItemAmountClassMultipliers=(ClassName = "PrimalItemResource_Pelt_C",Multiplier=2) HarvestResourceItemAmountClassMultipliers=(ClassName = "PrimalItemConsumable_Seed_Narcoberry_C",Multiplier=2) HarvestResourceItemAmountClassMultipliers=(ClassName = "PrimalItemConsumable_Berry_Narcoberry_C",Multiplier=2) OverrideNamedEngramEntries=(EngramClassName="EngramEntry_ReusableGrapplingHook_C",EngramHidden=True,EngramPointsCost=75,EngramLevelRequirement=150,RemoveEngramPreReq=False) EngramEntryAutoUnlocks=(EngramClassName="EngramEntry_TekBoots_C",LevelToAutoUnlock=0) EngramEntryAutoUnlocks=(EngramClassName="EngramEntry_TekShirt_C",LevelToAutoUnlock=0) EngramEntryAutoUnlocks=(EngramClassName="EngramEntry_TekGloves_C",LevelToAutoUnlock=0) EngramEntryAutoUnlocks=(EngramClassName="EngramEntry_TekHelmet_C",LevelToAutoUnlock=0) EngramEntryAutoUnlocks=(EngramClassName="EngramEntry_TekPants_C",LevelToAutoUnlock=0) EngramEntryAutoUnlocks=(EngramClassName="EngramEntry_TekRifle_C",LevelToAutoUnlock=0) EngramEntryAutoUnlocks=(EngramClassName="EngramEntry_TekTeleporter_C",LevelToAutoUnlock=0) EngramEntryAutoUnlocks=(EngramClassName="EngramEntry_TekGrenade_C",LevelToAutoUnlock=0) EngramEntryAutoUnlocks=(EngramClassName="EngramEntry_TurretTek_C",LevelToAutoUnlock=0) EngramEntryAutoUnlocks=(EngramClassName="EngramEntry_ShieldTek_C",LevelToAutoUnlock=0) EngramEntryAutoUnlocks=(EngramClassName="EngramEntry_WeaponTekSword_C",LevelToAutoUnlock=0) EngramEntryAutoUnlocks=(EngramClassName="EngramEntry_TekRexSaddle_C",LevelToAutoUnlock=0) EngramEntryAutoUnlocks=(EngramClassName="EngramEntry_TekMosaSaddle_C",LevelToAutoUnlock=0) EngramEntryAutoUnlocks=(EngramClassName="EngramEntry_TekMegalodonSaddle_C",LevelToAutoUnlock=0) EngramEntryAutoUnlocks=(EngramClassName="EngramEntry_Tapejara_Tek_C",LevelToAutoUnlock=0) EngramEntryAutoUnlocks=(EngramClassName="EngramEntry_TekReplicator_C",LevelToAutoUnlock=0) EngramEntryAutoUnlocks=(EngramClassName="EngramEntry_TekShield_C",LevelToAutoUnlock=0) EngramEntryAutoUnlocks=(EngramClassName="EngramEntry_TekTransmitter_C",LevelToAutoUnlock=0) EngramEntryAutoUnlocks=(EngramClassName="EngramEntry_TekGenerator_C",LevelToAutoUnlock=0) EngramEntryAutoUnlocks=(EngramClassName="EngramEntry_TekTrough_C",LevelToAutoUnlock=0) EngramEntryAutoUnlocks=(EngramClassName="EngramEntry_TekCloningChamber_C",LevelToAutoUnlock=0) EngramEntryAutoUnlocks=(EngramClassName="EngramEntry_TekLight_C",LevelToAutoUnlock=0) EngramEntryAutoUnlocks=(EngramClassName="EngramEntry_TekFloor_C",LevelToAutoUnlock=0) EngramEntryAutoUnlocks=(EngramClassName="EngramEntry_Tek_Gate_Large_C",LevelToAutoUnlock=0) EngramEntryAutoUnlocks=(EngramClassName="EngramEntry_TekGateframe_Large_C",LevelToAutoUnlock=0) EngramEntryAutoUnlocks=(EngramClassName="EngramEntry_TekWindow_C",LevelToAutoUnlock=0) EngramEntryAutoUnlocks=(EngramClassName="EngramEntry_TekWallWithWindow_C",LevelToAutoUnlock=0) EngramEntryAutoUnlocks=(EngramClassName="EngramEntry_TekTrapdoor_C",LevelToAutoUnlock=0) EngramEntryAutoUnlocks=(EngramClassName="EngramEntry_TekCeilingWithTrapdoor_C",LevelToAutoUnlock=0) EngramEntryAutoUnlocks=(EngramClassName="EngramEntry_UnderwaterBase_C",LevelToAutoUnlock=0) EngramEntryAutoUnlocks=(EngramClassName="EngramEntry_Tek_Gate_C",LevelToAutoUnlock=0) EngramEntryAutoUnlocks=(EngramClassName="EngramEntry_TekGateframe_C",LevelToAutoUnlock=0) EngramEntryAutoUnlocks=(EngramClassName="EngramEntry_TekDoor_C",LevelToAutoUnlock=0) EngramEntryAutoUnlocks=(EngramClassName="EngramEntry_TekWallwithdoor_C",LevelToAutoUnlock=0) EngramEntryAutoUnlocks=(EngramClassName="EngramEntry_TekWall_C",LevelToAutoUnlock=0) EngramEntryAutoUnlocks=(EngramClassName="EngramEntry_TekCeiling_C",LevelToAutoUnlock=0) EngramEntryAutoUnlocks=(EngramClassName="EngramEntry_TekRailing_C",LevelToAutoUnlock=0) EngramEntryAutoUnlocks=(EngramClassName="EngramEntry_Tekfencefoundation_C",LevelToAutoUnlock=0) EngramEntryAutoUnlocks=(EngramClassName="EngramEntry_TekRoof_C",LevelToAutoUnlock=0) EngramEntryAutoUnlocks=(EngramClassName="EngramEntry_TekSlopedWall_Left_C",LevelToAutoUnlock=0) EngramEntryAutoUnlocks=(EngramClassName="EngramEntry_TekSlopedWall_Right_C",LevelToAutoUnlock=0) EngramEntryAutoUnlocks=(EngramClassName="EngramEntry_TekStairs_C",LevelToAutoUnlock=0) EngramEntryAutoUnlocks=(EngramClassName="EngramEntry_TekLadder_C",LevelToAutoUnlock=0) EngramEntryAutoUnlocks=(EngramClassName="EngramEntry_TekPillar_C",LevelToAutoUnlock=0) EngramEntryAutoUnlocks=(EngramClassName="EngramEntry_TekCatwalk_C",LevelToAutoUnlock=0) EngramEntryAutoUnlocks=(EngramClassName="EngramEntry_TekUnderwaterBase_C",LevelToAutoUnlock=0) EngramEntryAutoUnlocks=(EngramClassName="EngramEntry_TekUnderwaterBase_BottomEntry_C",LevelToAutoUnlock=0) EngramEntryAutoUnlocks=(EngramClassName="EngramEntry_TekUnderwaterBase_moonpool_C",LevelToAutoUnlock=0)

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHubhttps://github.com/arkmanager/ark-server-tools/issues/1136#issuecomment-674522007, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AKQIURAGJEIEKABTCK4LMFTSA7H37ANCNFSM4QAYGAZA.

klightspeed commented 4 years ago

If it's running under docker, you should be able to have the docker setup script copy a GameUserSettings.ini and Game.ini from /ark/configs to /ark/servers/ARK/ShooterGame/Saved/Config/LinuxServer, then have the following in arkmanager.cfg

arkstChannel="master"                                               # change it to a different branch to get non-stable versions
install_bindir="/usr/local/bin"
install_libexecdir="/usr/local/libexec/arkmanager"
install_datadir="/usr/local/share/arkmanager"

# config SteamCMD
steamcmdroot="/home/steam/steamcmd"                                 # path of your steamcmd instance
steamcmdexec="steamcmd.sh"                                          # name of steamcmd executable
steamcmd_user="steam"                                               # name of the system user who own steamcmd folder
steamcmd_appinfocache="/home/steam/Steam/appcache/appinfo.vdf"      # cache of the appinfo command
steamcmd_workshoplog="/home/steam/Steam/logs/workshop_log.txt"      # Steam workshop log
#steamlogin="anonymous"                                             # Uncomment this to specify steam login instead of using anonymous login

# config environment
arkserverexec="ShooterGame/Binaries/Linux/ShooterGameServer"        # name of ARK server executable
arkbackupdir="/ark/ARK-Backups"                              # path to backup directory
arkwarnminutes="60"                                                 # number of minutes to warn players when using update --warn
arkautorestartfile="ShooterGame/Saved/.autorestart"                 # path to autorestart file
arkAutoUpdateOnStart="true"                                        # set this to true if you want to always update before startup
arkBackupPreUpdate="true"                                          # set this to true if you want to perform a backup before updating
arkStagingDir="/home/steam/ARK-Staging"                            # Uncomment to enable updates to be fully downloaded before restarting the server (reduces downtime while updating)

# Options to automatically remove old backups to keep backup size in check
# Each compressed backup is generally about 1-2MB in size.
#arkMaxBackupSizeMB="500"                                            # Set to automatically remove old backups when size exceeds this limit
arkMaxBackupSizeGB="2"                                             # Uncomment this and comment the above to specify the limit in whole GB

ark_bRawSockets="false"

# Update warning messages
# Modify as desired, putting the %d replacement operator where the number belongs
msgWarnUpdateMinutes="This ARK server will shutdown for an update in %d minutes"
msgWarnUpdateSeconds="This ARK server will shutdown for an update in %d seconds"
msgWarnRestartMinutes="This ARK server will shutdown for a restart in %d minutes"
msgWarnRestartSeconds="This ARK server will shutdown for a restart in %d seconds"
msgWarnShutdownMinutes="This ARK server will shutdown in %d minutes"
msgWarnShutdownSeconds="This ARK server will shutdown in %d seconds"
msgWarnCancelled="Restart cancelled by player request"

# Notifications
notifyMsgShuttingDown="Shutting down"
notifyMsgStarting="Starting"
notifyMsgServerUp="Server is up"
notifyMsgStoppedListening="Server has stopped listening - restarting"
notifyMsgServerTerminated="Server exited - restarting"
notifyTemplate="Message from instance {instance} on server {server}: {msg}"

# Restart cancel chat command
chatCommandRestartCancel="/cancelupdate"

# ARK server common options - use ark_<optionname>=<value>
# comment out these values if you want to define them
# inside your GameUserSettings.ini file
serverMap="TheIsland"                                               # server map (default TheIsland)
#serverMapModId="469987622"                                         # Uncomment this to specify the Map Mod Id (<fileid> in http://steamcommunity.com/sharedfiles/filedetails/?id=<fileid>)
#ark_TotalConversionMod="496735411"                                 # Uncomment this to specify a total-conversion mod
ark_RCONEnabled="True"                                              # Enable RCON Protocol
ark_MaxPlayers="10"
#ark_GameModIds="487516323,487516324,487516325"                     # Uncomment to specify additional mods by Mod Id separated by commas
#ark_AltSaveDirectoryName="SotF"                                    # Uncomment to specify a different save directory name

# ARK server flags - use arkflag_<optionname>=true
#arkflag_OnlyAdminRejoinAsSpectator=true                            # Uncomment to only allow admins to rejoin as spectator
#arkflag_DisableDeathSpectator=true                                 # Uncomment to disable players from becoming spectators when they die

# ARK server options - i.e. for -optname=val, use arkopt_optname=val
#arkopt_StructureDestructionTag=DestroySwampSnowStructures

# config Service
logdir="/ark/logs/arktools"                                          # Logs path (default /var/log/arktools)

# steamdb specific
appid=376030                                                        # Linux server App ID
mod_appid=346110                                                    # App ID for mods

# Mod OS Selection
mod_branch=Windows
# Add mod-specific OS selection below:
#mod_branch_496735411=Windows

# alternate configs
# example for config name "ark1":
configfile_theisland="/ark/configs/instances/theisland.cfg"
configfile_primitive="/ark/configs/instances/primitive.cfg"
configfile_thecenter="/ark/configs/instances/thecenter.cfg"

defaultinstance="theisland"

Note that the ark_Port, ark_QueryPort, and ark_RconPort must be different for each instance, so those options must be specified in the instance configs.

Also, if you want each instance to have a different map, then serverMap must also be specified in the instance configs.

paytah232 commented 4 years ago

Okay that would also work. In my theisland.cfg I have:

# config environment
arkserverroot="/ark/servers/ARK"                                     # path of your ARK server files (default ~/ARK)
arkbackupdir="/ark/servers/ARK-BACKUP-TheIsland"

# ARK server options - use ark_<optionname>=<value>
# comment out these values if you want to define them
# inside your GameUserSettings.ini file
serverMap="TheIsland"                                               # server map (default TheIsland)
ark_RCONPort="32331"                                                # RCON Port
ark_SessionName="Bangers - TheIsland"                                  # if your session name needs special characters please use the .ini instead
ark_Port="8889"                                                     # ARK server port (default 7778)
ark_QueryPort="27016"                                               # ARK query port (default 27015)

ark_GameModIds="751991809,754885087,630601751,569786012,622608522,821530042,731604991,793605978,554678442,566887000"                     # Uncomment to specify additional mods by Mod Id separated by commas
#Mods=Death Recovery, More Narcotics, Resource Stacks, Meat Spoiler, Charcoal Baker, Upgrade Station, Structures Plus, Super Spyglass, Egg N Poop Collector, Pet Finder
ark_AltSaveDirectoryName="TheIsland"
arkopt_clusterid=Server1                                    # Uncomment to specify a different save directory name

So that should cover that. If I remove arkserverroot from each instance and have it only in the arkmanager.cfg, this should make each instance use the same server files yes? But I can still leave arkbackupdir in each instance file so I can control the backup location independantly.

Also, how can I setup the docker script as you say? Do I have to run a custom script to do so, or would I be able to add some lines to run.sh under ark-scripts? If so, what lines and where would I store my global ini files.

paytah232 commented 4 years ago

Added the following function and called it during main():

doCopyGameConfig() {
        echo "Updating Game Config Files..."
        yes | cp -rf /ark/configs/GameUserSettings.ini /ark/servers/ARK/ShooterGame/Saved/Config/LinuxServer/
        yes | cp -rf /ark/configs/Game.ini /ark/servers/ARK/ShooterGame/Saved/Config/LinuxServer/
}

The server now works correctly and all settings are working. I do notice there are some differences between the GameUserSettings.ini files after the server starts (a few lines disappear), but perhaps they are invalid. Maybe you have some more insight: https://www.diffchecker.com/XBHKG2NT

klightspeed commented 4 years ago

The clues you have given me suggest that you're using https://github.com/jacobped/docker-ark-server-tools

If you haven't overridden the pinned GIT_TAG in that, then it is using a version of arkmanager that is 2 years old, and does not include support for instance.GameUserSettings.ini etc.

Among the many options, here are a few:

klightspeed commented 4 years ago

I do notice there are some differences between the GameUserSettings.ini files after the server starts (a few lines disappear), but perhaps they are invalid.

It looks like it moved the duplicate AllowThirdPersonPlayer option.

Any options that have the same value as in the default config (ShooterGame/Config/DefaultGameUserSettings.ini) are removed from GameUserSettings.ini by the game server.

paytah232 commented 4 years ago

You're correct, that is the docker image that I am using. I'm running it in a synology NAS, do you know how I can check the version of ark manager I am running (while it is running) through terminal and also how to override the pinned git_tag; is it an environment variable in the docker?


From: Ben Peddell notifications@github.com Sent: Sunday, August 16, 2020 11:49:10 PM To: arkmanager/ark-server-tools ark-server-tools@noreply.github.com Cc: Paytah232 peterpugno@hotmail.com; Author author@noreply.github.com Subject: Re: [arkmanager/ark-server-tools] Server Configuration - Validation Test (#1136)

The clues you have given me suggest that you're using https://github.com/jacobped/docker-ark-server-tools

If you haven't overridden the pinned GIT_TAG in that, then it is using a version of arkmanager that is 2 years old, and does not include support for instance.GameUserSettings.ini etc.

Among the many options, here are a few:

arkGameUserSettingsIniFile=/ark/configs/GameUserSettings.ini arkGameIniFile=/ark/config/Game.ini

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHubhttps://github.com/arkmanager/ark-server-tools/issues/1136#issuecomment-674528857, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AKQIURBHIZQPEZ7ZEZLMXMLSA7PVNANCNFSM4QAYGAZA.

klightspeed commented 4 years ago

GIT_TAG is specified in https://github.com/jacobped/docker-ark-server-tools/blob/master/Dockerfile#L18, though if you want any features or fixes added since jacobped forked the repo you will also want to set REPOSITORY to arkmanager/ark-server-tools.

You can check the running version of arkmanager either by runningarkmanager --version, or looking at thearkstTagline in thearkmanager` script.

paytah232 commented 4 years ago

[Image]

Okay to me it looks as simple as adding to ENV variables in the docker configuration. Do you know if adding the Environment variable in the docker config synology nas will auto update it to the newest version of the repo? Also what's the latest git_tag?

Like in the image attached?


From: Ben Peddell notifications@github.com Sent: Monday, August 17, 2020 12:01:25 AM To: arkmanager/ark-server-tools ark-server-tools@noreply.github.com Cc: Paytah232 peterpugno@hotmail.com; Author author@noreply.github.com Subject: Re: [arkmanager/ark-server-tools] Server Configuration - Validation Test (#1136)

GIT_TAG is specified in https://github.com/jacobped/docker-ark-server-tools/blob/master/Dockerfile#L18, though if you want any features or fixes added since jacobped forked the repo you will also want to set REPOSITORY to arkmanager/ark-server-tools.

You can check the running version of arkmanager either by running arkmanager --version, or looking at the arkstTagline in thearkmanager` script.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHubhttps://github.com/arkmanager/ark-server-tools/issues/1136#issuecomment-674530230, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AKQIURA7KBTFRDQVM6HUCQDSA7RDLANCNFSM4QAYGAZA.

klightspeed commented 4 years ago

[Image]

WTB one image.

It looks like the Dockerfile installs arkmanager afresh every time it is started, so setting REPOSITORY and GIT_TAG should install the given version.

The latest version is currently v1.6.54

paytah232 commented 4 years ago

Okay great. Well I'll set that up. Thanks so much for you're help. It's been invaluable. I think we can close this issue now. Hopefully anyone having settings issues in the future can get a lot of help from this.


From: Ben Peddell notifications@github.com Sent: Monday, August 17, 2020 12:17:43 AM To: arkmanager/ark-server-tools ark-server-tools@noreply.github.com Cc: Paytah232 peterpugno@hotmail.com; Author author@noreply.github.com Subject: Re: [arkmanager/ark-server-tools] Server Configuration - Validation Test (#1136)

[Image]

WTB one image.

It looks like the Dockerfile installs arkmanager afresh every time it is started, so setting REPOSITORY and GIT_TAG should install the given version.

The latest version is currently v1.6.54

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHubhttps://github.com/arkmanager/ark-server-tools/issues/1136#issuecomment-674532119, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AKQIURCHMUQRDUCZ5RT5TZLSA7TAPANCNFSM4QAYGAZA.

paytah232 commented 4 years ago

I know we closed this, but I think I'm having an issue with the server not updating to the latest version. I am trying to use the discord notifications (server up in particular) and only the server start and stop webhook are working, so I'm thinking it's because my arkmanager version is 1.6, not 1.6.54. Thoughts? I have the webhooks set up in arkmanager.cfg, nothing in the instance.cfg's.

image image

klightspeed commented 4 years ago

What are the Release Tag and Blob SHA in that arkmanager --version output? Unless notifyMsgServerUp=-, the server up message should be sent to the webhook at the same time as server is up is logged to the server log.

paytah232 commented 4 years ago

I don't see a release tag, here is the full output I receive:

image

klightspeed commented 4 years ago

It looks like it's still using 1.6.41

$ git log --all --pretty=format:%H -- tools/arkmanager | while read h; do git ls-tree "$h" -- tools/arkmanager | grep -q '2a3764b889a16cde09e31cf768b80a67f7ba19db' && echo "$h"; done
6c320bc56f4cec224130d1eaacc6992fd3ab6208
$ git describe --tags 2a3764b889a16cde09e31cf768b80a67f7ba19db
v1.6.41:tools/arkmanager

Looking at the Dockerfile reference, it looks like RUN commands are only executed on an image if they have not previously been run on that image.

To upgrade arkmanager inside the docker container, you should be able to perform the following commands in a shell inside the docker container:

git clone --no-checkout https://github.com/arkmanager/ark-server-tools.git /home/steam/ark-server-tools-install
cd /home/steam/ark-server-tools-install
git reset --hard v1.6.54
cd tools
chmod +x install.sh
sudo ./install.sh steam
cd /home/steam
rm -rf /home/steam/ark-server-tools-install
paytah232 commented 4 years ago

Copy and paste of your instructions above into docker shell. After I rebooted the container I ran arkmanager --version:;here is the output: image Should I expect my discord webhooks to function as expected now? This is clipped from arkmanager.cfg (I didn't show my webhook url for obvious reasons, but start and stop still function): image

klightspeed commented 4 years ago
$ git describe --tags a1a9fd014d087230b7597debaaa5f2af5b9e0c07
v1.6.54:tools/arkmanager

The notifications should work. Server is up should be sent at the same time as server is up is logged to the server log.

paytah232 commented 4 years ago

Yes can confirm the notifications now work. Thanks so much for your fast support @klightspeed!