commit 8efe43c15e78a5a4fab6b53a12657965b042685f Author: Viyurz Date: Sun Apr 28 15:27:24 2024 +0000 first commit diff --git a/.env.example b/.env.example new file mode 100644 index 0000000..baffb6e --- /dev/null +++ b/.env.example @@ -0,0 +1,9 @@ +# Directory where "lgsm" and "serverfiles" are located. +LGSM_ROOT="$HOME" + +# ARK server passwords. +SERVER_ADMIN_PASSWORD= +SERVER_PASSWORD= + +# Paths of borg repositories for backing up maps. +BORG_REPOS=("$HOME/arkbackup") diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..4c49bd7 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.env diff --git a/Game.ini b/Game.ini new file mode 100644 index 0000000..8e87ad4 --- /dev/null +++ b/Game.ini @@ -0,0 +1,34 @@ +[ModInstaller] +# Primal Fear +ModIDS=839162288 +# Auto Engrams! +ModIDS=1428596566 +# Awesome SpyGlass! +ModIDS=1404697612 +# Dino Storage v2 +ModIDS=1609138312 +# Structure Plus +ModIDS=731604991 +# Ultra Stacks +ModIDS=761535755 +# AlphaEverything +#ModIDS=2205699189 +# Ascended 2 Evolved loot drops +#ModIDS=3108122319 + +[/script/shootergame.shootergamemode] +BabyCuddleGracePeriodMultiplier=2.0 +BabyCuddleIntervalMultiplier=0.0625 +BabyCuddleLoseImprintQualitySpeedMultiplier=0.5 +BabyImprintAmountMultiplier=15 +BabyMatureSpeedMultiplier=5.0 +bAllowFlyerSpeedLeveling=True +bDisableFriendlyFire=True +bDisableStructurePlacementCollision=True +bIncreasePvPRespawnInterval=False +bPvEDisableFriendlyFire=True +EggHatchSpeedMultiplier=5.0 +MatingIntervalMultiplier=0.5 +ConfigOverrideNPCSpawnEntriesContainer=(NPCSpawnEntriesContainerClassString="DinoSpawnEntries_CW_WhiteShoals_C",NPCSpawnEntries=((AnEntryName="ChaosWyvernWhiteShoals",EntryWeight=0.00875,NPCsToSpawnStrings=("WyvernGuardian_Character_BP_Base_Child_Chaos_Tamed_C")),(AnEntryName="SpiritWyvernWhiteShoals",EntryWeight=0.00875,NPCsToSpawnStrings=("WyvernGuardian_Character_BP_Base_Child_Spirit_Tamed_C")),(AnEntryName="CelestialFireWyvernWhiteShoals",EntryWeight=0.01125,NPCsToSpawnStrings=("CelestialWyvern_Character_BP_Fire_C")),(AnEntryName="CelestialIceWyvernWhiteShoals",EntryWeight=0.01125,NPCsToSpawnStrings=("CelestialWyvern_Character_BP_Ice_C")),(AnEntryName="OmegaFireWyvernWhiteShoals",EntryWeight=0.00625,NPCsToSpawnStrings=("OmegaWyvern_Character_BP_Fire_C")),(AnEntryName="OmegaIceWyvernWhiteShoals",EntryWeight=0.00625,NPCsToSpawnStrings=("OmegaWyvern_Character_BP_Ice_C")),(AnEntryName="OmegaLightingWyvernWhiteShoals",EntryWeight=0.00625,NPCsToSpawnStrings=("OmegaWyvern_Character_BP_Lighting_C")),(AnEntryName="OmegaPoisonWyvernWhiteShoals",EntryWeight=0.00625,NPCsToSpawnStrings=("OmegaWyvern_Character_BP_Poison_C")),(AnEntryName="NecroticFireWyvernWhiteShoals",EntryWeight=0.0075,NPCsToSpawnStrings=("NecroticWyvern_Character_BP_ZombieFire_C")),(AnEntryName="NecroticIceWyvernWhiteShoals",EntryWeight=0.0075,NPCsToSpawnStrings=("NecroticWyvern_Character_BP_ZombieIce_C")),(AnEntryName="NecroticLightingWyvernWhiteShoals",EntryWeight=0.0075,NPCsToSpawnStrings=("NecroticWyvern_Character_BP_ZombieLighting_C")),(AnEntryName="NecroticPoisonWyvernWhiteShoals",EntryWeight=0.0075,NPCsToSpawnStrings=("NecroticWyvern_Character_BP_ZombiePoison_C")),(AnEntryName="ApexFireWyvernWhiteShoals",EntryWeight=0.00833,NPCsToSpawnStrings=("ApexWyvern_Character_BP_Fire_C")),(AnEntryName="ApexLightingWyvernWhiteShoals",EntryWeight=0.00833,NPCsToSpawnStrings=("ApexWyvern_Character_BP_Lighting_C")),(AnEntryName="ApexPoisonWyvernWhiteShoals",EntryWeight=0.00833,NPCsToSpawnStrings=("ApexWyvern_Character_BP_Poison_C")),(AnEntryName="AlphaFireWyvernWhiteShoals",EntryWeight=0.0166,NPCsToSpawnStrings=("AlphaFireWyvern_Character_BP_Fire_C")),(AnEntryName="AlphaLightingWyvernWhiteShoals",EntryWeight=0.0166,NPCsToSpawnStrings=("AlphaWyvern_Character_BP_Lightning_C")),(AnEntryName="AlphaPoisonWyvernWhiteShoals",EntryWeight=0.0166,NPCsToSpawnStrings=("AlphaWyvern_Character_BP_Poison_C")),(AnEntryName="TropicalCrystalWyvernWhiteShoals",EntryWeight=0.36,NPCsToSpawnStrings=("CrystalWyvern_Character_BP_WS_C")))NPCSpawnLimits=((NPCClassString="WyvernGuardian_Character_BP_Base_Child_Chaos_Tamed_C",MaxPercentageOfDesiredNumToAllow=0.1),(NPCClassString="WyvernGuardian_Character_BP_Child_Spirit_Tamed_C",MaxPercentageOfDesiredNumToAllow=0.1),(NPCClassString="CelestialWyvern_Character_BP_Fire_C",MaxPercentageOfDesiredNumToAllow=0.1),(NPCClassString="CelestialWyvern_Character_BP_Ice_C",MaxPercentageOfDesiredNumToAllow=0.1),(NPCClassString="OmegaWyvern_Character_BP_Fire_C",MaxPercentageOfDesiredNumToAllow=0.1),(NPCClassString="OmegaWyvern_Character_BP_Ice_C",MaxPercentageOfDesiredNumToAllow=0.1),(NPCClassString="OmegaWyvern_Character_BP_Lightning_C",MaxPercentageOfDesiredNumToAllow=0.1),(NPCClassString="OmegaWyvern_Character_BP_Poison_C",MaxPercentageOfDesiredNumToAllow=0.1),(NPCClassString="NecroticWyvern_Character_BP_ZombieFire_C",MaxPercentageOfDesiredNumToAllow=0.1),(NPCClassString="NecroticWyvern_Character_BP_ZombieIce_CC",MaxPercentageOfDesiredNumToAllow=0.1),(NPCClassString="NecroticWyvern_Character_BP_ZombieLighting_C",MaxPercentageOfDesiredNumToAllow=0.1),(NPCClassString="NecroticWyvern_Character_BP_ZombiePoison_C",MaxPercentageOfDesiredNumToAllow=0.1),(NPCClassString="ApexWyvern_Character_BP_Fire_C",MaxPercentageOfDesiredNumToAllow=0.1),(NPCClassString="ApexWyvern_Character_BP_Lighting_C",MaxPercentageOfDesiredNumToAllow=0.1),(NPCClassString="ApexWyvern_Character_BP_Poison_C",MaxPercentageOfDesiredNumToAllow=0.1),(NPCClassString="AlphaFireWyvern_Character_BP_Fire_C",MaxPercentageOfDesiredNumToAllow=0.1),(NPCClassString="AlphaWyvern_Character_BP_Lightning_C",MaxPercentageOfDesiredNumToAllow=0.1),(NPCClassString="AlphaWyvern_Character_BP_Poison_C",MaxPercentageOfDesiredNumToAllow=0.1),(NPCClassString="CrystalWyvern_Character_BP_WS_C",MaxPercentageOfDesiredNumToAllow=0.5))) +ConfigOverrideNPCSpawnEntriesContainer=(NPCSpawnEntriesContainerClassString="DinoSpawnEntries_CW_Bloodfall_C",NPCSpawnEntries=((AnEntryName="ChaosWyvernBloodfall",EntryWeight=0.00875,NPCsToSpawnStrings=("WyvernGuardian_Character_BP_Base_Child_Chaos_Tamed_C")),(AnEntryName="SpiritWyvernBloodfall",EntryWeight=0.00875,NPCsToSpawnStrings=("WyvernGuardian_Character_BP_Base_Child_Spirit_Tamed_C")),(AnEntryName="CelestialFireWyvernBloodfall",EntryWeight=0.01125,NPCsToSpawnStrings=("CelestialWyvern_Character_BP_Fire_C")),(AnEntryName="CelestialIceWyvernBloodfall",EntryWeight=0.01125,NPCsToSpawnStrings=("CelestialWyvern_Character_BP_Ice_C")),(AnEntryName="OmegaFireWyvernBloodfall",EntryWeight=0.00625,NPCsToSpawnStrings=("OmegaWyvern_Character_BP_Fire_C")),(AnEntryName="OmegaIceWyvernBloodfall",EntryWeight=0.00625,NPCsToSpawnStrings=("OmegaWyvern_Character_BP_Ice_C")),(AnEntryName="OmegaLightingWyvernBloodfall",EntryWeight=0.00625,NPCsToSpawnStrings=("OmegaWyvern_Character_BP_Lighting_C")),(AnEntryName="OmegaPoisonWyvernBloodfall",EntryWeight=0.00625,NPCsToSpawnStrings=("OmegaWyvern_Character_BP_Poison_C")),(AnEntryName="NecroticFireWyvernBloodfall",EntryWeight=0.0075,NPCsToSpawnStrings=("NecroticWyvern_Character_BP_ZombieFire_C")),(AnEntryName="NecroticIceWyvernBloodfall",EntryWeight=0.0075,NPCsToSpawnStrings=("NecroticWyvern_Character_BP_ZombieIce_C")),(AnEntryName="NecroticLightingWyvernBloodfall",EntryWeight=0.0075,NPCsToSpawnStrings=("NecroticWyvern_Character_BP_ZombieLighting_C")),(AnEntryName="NecroticPoisonWyvernBloodfall",EntryWeight=0.0075,NPCsToSpawnStrings=("NecroticWyvern_Character_BP_ZombiePoison_C")),(AnEntryName="ApexFireWyvernBloodfall",EntryWeight=0.00833,NPCsToSpawnStrings=("ApexWyvern_Character_BP_Fire_C")),(AnEntryName="ApexLightingWyvernBloodfall",EntryWeight=0.00833,NPCsToSpawnStrings=("ApexWyvern_Character_BP_Lighting_C")),(AnEntryName="ApexPoisonWyvernBloodfall",EntryWeight=0.00833,NPCsToSpawnStrings=("ApexWyvern_Character_BP_Poison_C")),(AnEntryName="AlphaFireWyvernBloodfall",EntryWeight=0.0166,NPCsToSpawnStrings=("AlphaFireWyvern_Character_BP_Fire_C")),(AnEntryName="AlphaLightingWyvernBloodfall",EntryWeight=0.0166,NPCsToSpawnStrings=("AlphaWyvern_Character_BP_Lightning_C")),(AnEntryName="AlphaPoisonWyvernBloodfall",EntryWeight=0.0166,NPCsToSpawnStrings=("AlphaWyvern_Character_BP_Poison_C")),(AnEntryName="BloodCrystalWyvernBloodfall",EntryWeight=0.36,NPCsToSpawnStrings=("CrystalWyvern_Character_BP_Blood_C")))NPCSpawnLimits=((NPCClassString="WyvernGuardian_Character_BP_Base_Child_Chaos_Tamed_C",MaxPercentageOfDesiredNumToAllow=0.1),(NPCClassString="WyvernGuardian_Character_BP_Child_Spirit_Tamed_C",MaxPercentageOfDesiredNumToAllow=0.1),(NPCClassString="CelestialWyvern_Character_BP_Fire_C",MaxPercentageOfDesiredNumToAllow=0.1),(NPCClassString="CelestialWyvern_Character_BP_Ice_C",MaxPercentageOfDesiredNumToAllow=0.1),(NPCClassString="OmegaWyvern_Character_BP_Fire_C",MaxPercentageOfDesiredNumToAllow=0.1),(NPCClassString="OmegaWyvern_Character_BP_Ice_C",MaxPercentageOfDesiredNumToAllow=0.1),(NPCClassString="OmegaWyvern_Character_BP_Lightning_C",MaxPercentageOfDesiredNumToAllow=0.1),(NPCClassString="OmegaWyvern_Character_BP_Poison_C",MaxPercentageOfDesiredNumToAllow=0.1),(NPCClassString="NecroticWyvern_Character_BP_ZombieFire_C",MaxPercentageOfDesiredNumToAllow=0.1),(NPCClassString="NecroticWyvern_Character_BP_ZombieIce_CC",MaxPercentageOfDesiredNumToAllow=0.1),(NPCClassString="NecroticWyvern_Character_BP_ZombieLighting_C",MaxPercentageOfDesiredNumToAllow=0.1),(NPCClassString="NecroticWyvern_Character_BP_ZombiePoison_C",MaxPercentageOfDesiredNumToAllow=0.1),(NPCClassString="ApexWyvern_Character_BP_Fire_C",MaxPercentageOfDesiredNumToAllow=0.1),(NPCClassString="ApexWyvern_Character_BP_Lighting_C",MaxPercentageOfDesiredNumToAllow=0.1),(NPCClassString="ApexWyvern_Character_BP_Poison_C",MaxPercentageOfDesiredNumToAllow=0.1),(NPCClassString="AlphaFireWyvern_Character_BP_Fire_C",MaxPercentageOfDesiredNumToAllow=0.1),(NPCClassString="AlphaWyvern_Character_BP_Lightning_C",MaxPercentageOfDesiredNumToAllow=0.1),(NPCClassString="AlphaWyvern_Character_BP_Poison_C",MaxPercentageOfDesiredNumToAllow=0.1),(NPCClassString="CrystalWyvern_Character_BP_Blood_C",MaxPercentageOfDesiredNumToAllow=0.5))) +ConfigOverrideNPCSpawnEntriesContainer=(NPCSpawnEntriesContainerClassString="CI_DinoSpawnEntries_EmberWyverns_C",NPCSpawnEntries=((AnEntryName="ChaosWyvernVolcano",EntryWeight=0.00875,NPCsToSpawnStrings=("WyvernGuardian_Character_BP_Base_Child_Chaos_Tamed_C")),(AnEntryName="SpiritWyvernVolcano",EntryWeight=0.00875,NPCsToSpawnStrings=("WyvernGuardian_Character_BP_Base_Child_Spirit_Tamed_C")),(AnEntryName="CelestialFireWyvernVolcano",EntryWeight=0.01125,NPCsToSpawnStrings=("CelestialWyvern_Character_BP_Fire_C")),(AnEntryName="CelestialIceWyvernVolcano",EntryWeight=0.01125,NPCsToSpawnStrings=("CelestialWyvern_Character_BP_Ice_C")),(AnEntryName="OmegaFireWyvernVolcano",EntryWeight=0.00625,NPCsToSpawnStrings=("OmegaWyvern_Character_BP_Fire_C")),(AnEntryName="OmegaIceWyvernVolcano",EntryWeight=0.00625,NPCsToSpawnStrings=("OmegaWyvern_Character_BP_Ice_C")),(AnEntryName="OmegaLightingWyvernVolcano",EntryWeight=0.00625,NPCsToSpawnStrings=("OmegaWyvern_Character_BP_Lighting_C")),(AnEntryName="OmegaPoisonWyvernVolcano",EntryWeight=0.00625,NPCsToSpawnStrings=("OmegaWyvern_Character_BP_Poison_C")),(AnEntryName="NecroticFireWyvernVolcano",EntryWeight=0.0075,NPCsToSpawnStrings=("NecroticWyvern_Character_BP_ZombieFire_C")),(AnEntryName="NecroticIceWyvernVolcano",EntryWeight=0.0075,NPCsToSpawnStrings=("NecroticWyvern_Character_BP_ZombieIce_C")),(AnEntryName="NecroticLightingWyvernVolcano",EntryWeight=0.0075,NPCsToSpawnStrings=("NecroticWyvern_Character_BP_ZombieLighting_C")),(AnEntryName="NecroticPoisonWyvernVolcano",EntryWeight=0.0075,NPCsToSpawnStrings=("NecroticWyvern_Character_BP_ZombiePoison_C")),(AnEntryName="ApexFireWyvernVolcano",EntryWeight=0.00833,NPCsToSpawnStrings=("ApexWyvern_Character_BP_Fire_C")),(AnEntryName="ApexLightingWyvernVolcano",EntryWeight=0.00833,NPCsToSpawnStrings=("ApexWyvern_Character_BP_Lighting_C")),(AnEntryName="ApexPoisonWyvernVolcano",EntryWeight=0.00833,NPCsToSpawnStrings=("ApexWyvern_Character_BP_Poison_C")),(AnEntryName="AlphaFireWyvernVolcano",EntryWeight=0.0166,NPCsToSpawnStrings=("AlphaFireWyvern_Character_BP_Fire_C")),(AnEntryName="AlphaLightingWyvernVolcano",EntryWeight=0.0166,NPCsToSpawnStrings=("AlphaWyvern_Character_BP_Lightning_C")),(AnEntryName="AlphaPoisonWyvernVolcano",EntryWeight=0.0166,NPCsToSpawnStrings=("AlphaWyvern_Character_BP_Poison_C")),(AnEntryName="EmberCrystalWyvernVolcano",EntryWeight=0.36,NPCsToSpawnStrings=("CrystalWyvern_Character_BP_Ember_C")))NPCSpawnLimits=((NPCClassString="WyvernGuardian_Character_BP_Base_Child_Chaos_Tamed_C",MaxPercentageOfDesiredNumToAllow=0.1),(NPCClassString="WyvernGuardian_Character_BP_Child_Spirit_Tamed_C",MaxPercentageOfDesiredNumToAllow=0.1),(NPCClassString="CelestialWyvern_Character_BP_Fire_C",MaxPercentageOfDesiredNumToAllow=0.1),(NPCClassString="CelestialWyvern_Character_BP_Ice_C",MaxPercentageOfDesiredNumToAllow=0.1),(NPCClassString="OmegaWyvern_Character_BP_Fire_C",MaxPercentageOfDesiredNumToAllow=0.1),(NPCClassString="OmegaWyvern_Character_BP_Ice_C",MaxPercentageOfDesiredNumToAllow=0.1),(NPCClassString="OmegaWyvern_Character_BP_Lightning_C",MaxPercentageOfDesiredNumToAllow=0.1),(NPCClassString="OmegaWyvern_Character_BP_Poison_C",MaxPercentageOfDesiredNumToAllow=0.1),(NPCClassString="NecroticWyvern_Character_BP_ZombieFire_C",MaxPercentageOfDesiredNumToAllow=0.1),(NPCClassString="NecroticWyvern_Character_BP_ZombieIce_CC",MaxPercentageOfDesiredNumToAllow=0.1),(NPCClassString="NecroticWyvern_Character_BP_ZombieLighting_C",MaxPercentageOfDesiredNumToAllow=0.1),(NPCClassString="NecroticWyvern_Character_BP_ZombiePoison_C",MaxPercentageOfDesiredNumToAllow=0.1),(NPCClassString="ApexWyvern_Character_BP_Fire_C",MaxPercentageOfDesiredNumToAllow=0.1),(NPCClassString="ApexWyvern_Character_BP_Lighting_C",MaxPercentageOfDesiredNumToAllow=0.1),(NPCClassString="ApexWyvern_Character_BP_Poison_C",MaxPercentageOfDesiredNumToAllow=0.1),(NPCClassString="AlphaFireWyvern_Character_BP_Fire_C",MaxPercentageOfDesiredNumToAllow=0.1),(NPCClassString="AlphaWyvern_Character_BP_Lightning_C",MaxPercentageOfDesiredNumToAllow=0.1),(NPCClassString="AlphaWyvern_Character_BP_Poison_C",MaxPercentageOfDesiredNumToAllow=0.1),(NPCClassString="CrystalWyvern_Character_BP_Ember_C",MaxPercentageOfDesiredNumToAllow=0.5))) diff --git a/GameUserSettings.ini b/GameUserSettings.ini new file mode 100644 index 0000000..057a772 --- /dev/null +++ b/GameUserSettings.ini @@ -0,0 +1,230 @@ +[ServerSettings] +ActiveMods=839162288,1428596566,1404697612,731604991,761535755,1609138312 +AllowCaveBuildingPvE=True +AllowFlyerCarryPvE=True +AllowIntegratedSPlusStructures=False +AlwaysAllowStructurePickup=True +AlwaysNotifyPlayerLeft=True +AutoSavePeriodMinutes=15.0 +DifficultyOffset=1 +DinoCharacterFoodDrainMultiplier=2.0 +DisableDinoDecayPvE=True +DisableStructureDecayPvE=True +DontAlwaysNotifyPlayerJoined=False +EnablePvPGamma=True +HarvestAmountMultiplier=2.0 +HarvestHealthMultiplier=2.0 +OverrideOfficialDifficulty=10 +PreventSpawnAnimations=True +RCONEnabled=True +RCONPort=27020 +ServerAdminPassword= +ServerPassword= +ServerPVE=False +TamingSpeedMultiplier=2.0 +XPMultiplier=2.0 + +[SessionSettings] +SessionName=[TEST] Viyurz ARK Server + +[/Script/Engine.GameSession] +MaxPlayers=70 + +[/Script/ShooterGame.ShooterGameUserSettings] +MasterAudioVolume=1.000000 +MusicAudioVolume=1.000000 +SFXAudioVolume=1.000000 +VoiceAudioVolume=2.000000 +CharacterAudioVolume=1.000000 +UIScaling=1.000000 +UIQuickbarScaling=0.650000 +CameraShakeScale=0.650000 +bFirstPersonRiding=False +bThirdPersonPlayer=False +bInventoryHideUnlearnedEngrams=False +bShowStatusNotificationMessages=True +TrueSkyQuality=0.000000 +FOVMultiplier=1.000000 +GroundClutterDensity=0.000000 +bFilmGrain=False +bMotionBlur=False +bUseDistanceFieldAmbientOcclusion=False +bUseSSAO=False +bShowChatBox=True +bCameraViewBob=True +bInvertLookY=False +bFloatingNames=True +bChatBubbles=True +bHideServerInfo=False +bJoinNotifications=False +bCraftablesShowAllItems=False +bLocalInventoryItemsShowAllItems=False +bLocalInventoryCraftingShowAllItems=True +bRemoteInventoryItemsShowAllItems=False +bRemoteInventoryCraftingShowAllItems=False +bRemoteInventoryShowEngrams=True +bForceDisableSuperDetailMode=True +LookLeftRightSensitivity=1.000000 +LookUpDownSensitivity=1.000000 +GraphicsQuality=1 +ActiveLingeringWorldTiles=1 +ClientNetQuality=3 +LastServerSearchType=0 +LastServerSort=2 +LastPVESearchType=-1 +LastDLCTypeSearchType=-1 +LastServerSortAsc=True +LastAutoFavorite=True +LastServerSearchHideFull=False +LastServerSearchProtected=False +LastServerSearchIncludeServersWithActiveMods=True +HideItemTextOverlay=True +bQuickToggleItemNames=True +bDistanceFieldShadowing=False +LODScalar=0.780000 +bToggleToTalk=False +HighQualityMaterials=True +HighQualitySurfaces=True +bTemperatureF=False +bDisableTorporEffect=False +bChatShowSteamName=False +bChatShowTribeName=True +bReverseTribeLogOrder=False +EmoteKeyBind1=0 +EmoteKeyBind2=0 +bNoBloodEffects=False +bLowQualityVFX=False +bSpectatorManualFloatingNames=False +bSuppressAdminIcon=False +bUseSimpleDistanceMovement=False +bDisableMeleeCameraSwingAnims=False +bHighQualityAnisotropicFiltering=False +bUseLowQualityLevelStreaming=True +bPreventInventoryOpeningSounds=False +bPreventItemCraftingSounds=False +bPreventHitMarkers=False +bPreventCrosshair=False +bPreventColorizedItemNames=False +bHighQualityLODs=False +bExtraLevelStreamingDistance=False +bEnableColorGrading=True +DOFSettingInterpTime=0.000000 +bDisableBloom=False +bDisableLightShafts=False +LastJoinedSessionPerCategory=" " +LastJoinedSessionPerCategory=" " +LastJoinedSessionPerCategory=" " +LastJoinedSessionPerCategory=" " +LastJoinedSessionPerCategory=" " +LastJoinedSessionPerCategory=" " +LastJoinedSessionPerCategory=" " +LastJoinedSessionPerCategory=" " +LastJoinedSessionPerCategory=" " +bDisableMenuTransitions=False +bEnableInventoryItemTooltips=True +bRemoteInventoryShowCraftables=False +bNoTooltipDelay=False +LocalItemSortType=0 +LocalCraftingSortType=0 +RemoteItemSortType=0 +RemoteCraftingSortType=0 +VersionMetaTag=1 +ShowExplorerNoteSubtitles=False +DisableMenuMusic=False +DisableDefaultCharacterItems=False +bRequestDefaultCharacterItemsOnce=False +bHasSeenGen2Intro=False +bHideFloatingPlayerNames=False +bHideGamepadItemSelectionModifier=False +bToggleExtendedHUDInfo=False +PlayActionWheelClickSound=True +CompanionReactionVerbosity=3 +EnableEnvironmentalReactions=True +EnableRespawnReactions=True +EnableDeathReactions=True +EnableSayHelloReactions=True +EnableEmoteReactions=True +EnableMovementSounds=True +DisableSubtitles=False +CompanionSubtitleVerbosityLevel=3 +CompanionIsHiddenState=False +MaxAscensionLevel=0 +bHostSessionHasBeenOpened=False +bForceTPVCameraOffset=False +bDisableTPVCameraInterpolation=False +bFPVClimbingGear=False +bFPVGlidingGear=False +Gamma1=2.200000 +Gamma2=3.000000 +AmbientSoundVolume=1.000000 +bAllowAnimationStaggering=True +bUseOldThirdPersonCameraTrace=False +bUseOldThirdPersonCameraOffset=False +bLowQualityAnimations=True +bShowedGenesisDLCBackground=False +bShowedGenesis2DLCBackground=False +bViewedAnimatedSeriesTrailer=False +bViewedARK2Trailer=False +bShowRTSKeyBinds=True +bHasCompletedGen2=False +StopExplorerNoteAudioOnClose=False +bUseVSync=False +MacroCtrl0= +MacroCtrl1= +MacroCtrl2= +MacroCtrl3= +MacroCtrl4= +MacroCtrl5= +MacroCtrl6= +MacroCtrl7= +MacroCtrl8= +MacroCtrl9= +ResolutionSizeX=1280 +ResolutionSizeY=720 +LastUserConfirmedResolutionSizeX=1280 +LastUserConfirmedResolutionSizeY=720 +WindowPosX=-1 +WindowPosY=-1 +bUseDesktopResolutionForFullscreen=False +FullscreenMode=2 +LastConfirmedFullscreenMode=2 +Version=5 + +[AlphaEverything] +AlphaChance=2 +AlphaAlpha=True +PreventBoss=False +StatMultiplier=5 +ScaleSize=1.25 +WildAura=True +TamedAura=False +AllowFish=True +TameAlphas=False +AlphaAggro=False +AggroRange=1000 +Blacklist= +GiveItems= +UpgradeMultiplier=2.0 +DisableEssence=False + +[DinoStorage2] +DistributeFertilizerRange=50.0 +DistributePelletRange=50.0 +EnableAllGeneration=True +EnableFertEggCollection=True +EnableFruitSeeding=True +EnableIncubation=True +EnablePoopConversion=True + +[StructuresPlus] +ResourcePullRangeInFoundations=50 +ResourceTransferCooldown=0.1 +FeedingTroughRangeInFoundations=50 +ItemAggregatorRangeInFoundations=50 +ItemCollectorRangeInFoundations=50 +FarmerRangeInFoundations=50 +GardenerRangeInFoundations=50 +HatcheryRangeInFoundations=50 +NannyRangeInFoundations=50 +EnableEngramOverride=true +PullResourceAdditions=/Game/Mods/Primal_Fear/Dinos/Elemental/Griffin/Feathers/PrimalItemResource_ElectricFeather.PrimalItemResource_ElectricFeather,/Game/Mods/Primal_Fear/Dinos/Elemental/Griffin/Feathers/PrimalItemResource_FireFeather.PrimalItemResource_FireFeather,/Game/Mods/Primal_Fear/Dinos/Elemental/Griffin/Feathers/PrimalItemResource_IceFeather.PrimalItemResource_IceFeather,/Game/Mods/Primal_Fear/Dinos/Elemental/Griffin/Feathers/PrimalItemResource_PoisonFeather.PrimalItemResource_PoisonFeather,/Game/Mods/Primal_Fear/Resources/Blood/ToxicBlood/PrimalItemConsumable_ToxicBlood.PrimalItemConsumable_ToxicBlood,/Game/Mods/Primal_Fear/Resources/Blood/AlphaBlood/PrimalItemConsumable_AlphaBlood.PrimalItemConsumable_AlphaBlood,/Game/Mods/Primal_Fear/Resources/Blood/ApexBlood/PrimalItemConsumable_ApexBlood.PrimalItemConsumable_ApexBlood,/Game/Mods/Primal_Fear/Resources/Blood/FabledBlood/PrimalItemConsumable_FabledBlood.PrimalItemConsumable_FabledBlood,/Game/Mods/Primal_Fear/Resources/Blood/PrimalBlood/PrimalItemConsumable_PrimalBlood.PrimalItemConsumable_PrimalBlood,/Game/Mods/Primal_Fear/Resources/Blood/OriginBlood/PrimalItemConsumable_OriginBlood.PrimalItemConsumable_OriginBlood,/Game/Mods/Primal_Fear/Weapons/Tranqs/Narcs/Enhanced/PrimalItemConsumable_PotentNarcotic.PrimalItemConsumable_PotentNarcotic,/Game/Mods/Primal_Fear/Weapons/Tranqs/Narcs/Toxic/PrimalItemConsumable_ToxicNarcotic.PrimalItemConsumable_ToxicNarcotic,/Game/Mods/Primal_Fear/Weapons/Tranqs/Narcs/AlphaNarc/PrimalItemConsumable_AlphaNarcotic.PrimalItemConsumable_AlphaNarcotic,/Game/Mods/Primal_Fear/Weapons/Tranqs/Narcs/ApexNarc/PrimalItemConsumable_ApexNarcotic.PrimalItemConsumable_ApexNarcotic,/Game/Mods/Primal_Fear/Weapons/Tranqs/Narcs/PrimalNarc/PrimalItemConsumable_PrimalNarcotic.PrimalItemConsumable_PrimalNarcotic,/Game/Mods/Primal_Fear/Weapons/Tranqs/Narcs/OriginNarc/PrimalItemConsumable_OriginNarcotic.PrimalItemConsumable_OriginNarcotic,/Game/Mods/Primal_Fear/Weapons/Taming_Helper/PrimalItemConsumable_TameHelperx5.PrimalItemConsumable_TameHelperx5,/Game/Mods/Primal_Fear/Weapons/Taming_Helper/PrimalItemConsumable_TameHelperx10.PrimalItemConsumable_TameHelperx10,/Game/Mods/Primal_Fear/Weapons/Taming_Helper/PrimalItemConsumable_TameHelperx20.PrimalItemConsumable_TameHelperx20,/Game/Mods/Primal_Fear/Weapons/Taming_Helper/PrimalItemConsumable_TameHelperx50.PrimalItemConsumable_TameHelperx50,/Game/Mods/Primal_Fear/Weapons/Potions/XP/Small/PrimalItemConsumable_smallXP.PrimalItemConsumable_smallXP,/Game/Mods/Primal_Fear/Weapons/Potions/XP/Medium/PrimalItemConsumable_mediumXP.PrimalItemConsumable_mediumXP,/Game/Mods/Primal_Fear/Weapons/Potions/XP/Large/PrimalItemConsumable_largeXP.PrimalItemConsumable_largeXP,/Game/Mods/Primal_Fear/Weapons/Potions/XP/Max/PrimalItemConsumable_maxXP.PrimalItemConsumable_maxXP,/Game/Mods/Primal_Fear/Weapons/Potions/Health/Alpha/PrimalItemConsumable_AlphaHealth.PrimalItemConsumable_AlphaHealth,/Game/Mods/Primal_Fear/Weapons/Potions/Health/Apex/PrimalItemConsumable_ApexHealth.PrimalItemConsumable_ApexHealth,/Game/Mods/Primal_Fear/Weapons/Potions/Health/Fabled/PrimalItemConsumable_FabledHealth.PrimalItemConsumable_FabledHealth,/Game/Mods/Primal_Fear/Weapons/Potions/Health/Primal/PrimalItemConsumable_PrimalHealth.PrimalItemConsumable_PrimalHealth,/Game/Mods/Primal_Fear/Weapons/Potions/Health/Stew/PrimalItemConsumable_StewHealth.PrimalItemConsumable_StewHealth,/Game/Mods/Primal_Fear/Resources/Souls/Celestial/PrimalItemResource_CelestialSoul.PrimalItemResource_CelestialSoul,/Game/Mods/Primal_Fear/Resources/Souls/Creator/PrimalItemResource_CreatorSoul.PrimalItemResource_CreatorSoul,/Game/Mods/Primal_Fear/Resources/Souls/Demonic/PrimalItemResource_DemonicSoul.PrimalItemResource_DemonicSoul,/Game/Mods/Primal_Fear/Resources/Souls/Origin/PrimalItemResource_OriginSoul.PrimalItemResource_OriginSoul,/Game/Mods/Primal_Fear/Resources/Pheromones/PrimalItemConsumable_ReaperKingPheromones.PrimalItemConsumable_ReaperKingPheromones,/Game/Mods/Primal_Fear/Resources/Food/ReaperQueenFood/PrimalItemConsumable_ReaperQueenCrystal.PrimalItemConsumable_ReaperQueenCrystal,/Game/Mods/Primal_Fear/Resources/Food/ReakerKingFood/PrimalItemConsumable_ReaperKingFood.PrimalItemConsumable_ReaperKingFood,/Game/Mods/Primal_Fear/Weapons/Tranqs/Narcs/PrimalStim/PrimalItemConsumable_PrimalStimulant.PrimalItemConsumable_PrimalStimulant,/Game/Mods/Primal_Fear/Weapons/Primal_Sniper/Bullet/PrimalSniperAmmo/PrimalItemAmmo_PrimalRifleBullet.PrimalItemAmmo_PrimalRifleBullet,/Game/Mods/Primal_Fear/Weapons/Primal_Sniper/Bullet/PrimalSniperAmmo/PrimalItemAmmo_PrimalPotentTranqBullet.PrimalItemAmmo_PrimalPotentTranqBullet,/Game/Mods/Primal_Fear/Weapons/Primal_Sniper/Bullet/PrimalSniperAmmo/PrimalItemAmmo_PrimalToxicTranqBullet.PrimalItemAmmo_PrimalToxicTranqBullet,/Game/Mods/Primal_Fear/Weapons/Primal_Sniper/Bullet/PrimalSniperAmmo/PrimalItemAmmo_PrimalAlphaTranqBullet.PrimalItemAmmo_PrimalAlphaTranqBullet,/Game/Mods/Primal_Fear/Weapons/Primal_Sniper/Bullet/PrimalSniperAmmo/PrimalItemAmmo_PrimalApexTranqBullet.PrimalItemAmmo_PrimalApexTranqBullet,/Game/Mods/Primal_Fear/Weapons/Primal_Sniper/Bullet/PrimalSniperAmmo/PrimalItemAmmo_PrimalPrimalTranqBullet.PrimalItemAmmo_PrimalPrimalTranqBullet,/Game/Mods/Primal_Fear/Weapons/Primal_Sniper/Bullet/PrimalSniperAmmo/PrimalItemAmmo_PrimalOriginTranqBullet.PrimalItemAmmo_PrimalOriginTranqBullet,/Game/Mods/Primal_Fear/Weapons/Tranqs/Arrows/ToxicArrow/PrimalItemAmmo_ToxicArrowTranq.PrimalItemAmmo_ToxicArrowTranq,/Game/Mods/Primal_Fear/Weapons/Tranqs/Arrows/PotentArrow/PrimalItemAmmo_PotentArrowTranq.PrimalItemAmmo_PotentArrowTranq,/Game/Mods/Primal_Fear/Weapons/TranqDarts/Casing/PrimalItemResource_AdvancedDartCasing.PrimalItemResource_AdvancedDartCasing,/Game/Mods/Primal_Fear/Weapons/TranqDarts/Potent/PrimalItemAmmo_PotentTranqDart.PrimalItemAmmo_PotentTranqDart,/Game/Mods/Primal_Fear/Weapons/TranqDarts/Toxic/PrimalItemAmmo_ToxicTranqDart.PrimalItemAmmo_ToxicTranqDart,/Game/Mods/Primal_Fear/Weapons/TranqDarts/Alpha/PrimalItemAmmo_AlphaTranqDart.PrimalItemAmmo_AlphaTranqDart,/Game/Mods/Primal_Fear/Weapons/TranqDarts/Apex/PrimalItemAmmo_ApexTranqDart.PrimalItemAmmo_ApexTranqDart,/Game/Mods/Primal_Fear/Weapons/TranqDarts/Primal/PrimalItemAmmo_PrimalTranqDart.PrimalItemAmmo_PrimalTranqDart,/Game/Mods/Primal_Fear/Weapons/TranqDarts/SpecialDarts/Health/PrimalItemAmmo_HealthDart.PrimalItemAmmo_HealthDart,/Game/Mods/Primal_Fear/Weapons/TranqDarts/SpecialDarts/Stim/PrimalItemAmmo_StimDart.PrimalItemAmmo_StimDart,/Game/Mods/Primal_Fear/Weapons/Primal_CompBow/Ammo/PrimalMetalArrow/PrimalItemAmmo_PrimalCompoundBowArrow.PrimalItemAmmo_PrimalCompoundBowArrow,/Game/Mods/Primal_Fear/Weapons/Primal_CompBow/Ammo/FlameMetalArrow/PrimalItemAmmo_PrimalFlameCompoundBowArrow.PrimalItemAmmo_PrimalFlameCompoundBowArrow,/Game/Mods/Primal_Fear/Weapons/Primal_CompBow/Ammo/ExplosivePrimalArrow/PrimalItemAmmo_EPrimalCompoundBowArrow.PrimalItemAmmo_EPrimalCompoundBowArrow,/Game/Mods/Primal_Fear/Weapons/Primal_CompBow/Ammo/Tranq/Potent/PrimalItemAmmo_PotentPrimalCompoundBowArrow.PrimalItemAmmo_PotentPrimalCompoundBowArrow,/Game/Mods/Primal_Fear/Weapons/Primal_CompBow/Ammo/Tranq/Toxic/PrimalItemAmmo_ToxicPrimalCompoundBowArrow.PrimalItemAmmo_ToxicPrimalCompoundBowArrow,/Game/Mods/Primal_Fear/Weapons/Primal_CompBow/Ammo/Tranq/Alpha/PrimalItemAmmo_AlphaPrimalCompoundBowArrow.PrimalItemAmmo_AlphaPrimalCompoundBowArrow,/Game/Mods/Primal_Fear/Weapons/Primal_CompBow/Ammo/Tranq/Apex/PrimalItemAmmo_ApexPrimalCompoundBowArrow.PrimalItemAmmo_ApexPrimalCompoundBowArrow,/Game/Mods/Primal_Fear/Weapons/Primal_CompBow/Ammo/Tranq/Primal/PrimalItemAmmo_PrimalPrimalCompoundBowArrow.PrimalItemAmmo_PrimalPrimalCompoundBowArrow,/Game/Mods/Primal_Fear/Dinos/Tek/Crafting_Items/Blueprints/PrimalItemResource_Hydraulics.PrimalItemResource_Hydraulics,/Game/Mods/Primal_Fear/Dinos/Tek/Crafting_Items/Blueprints/PrimalItemResource_Lubricant.PrimalItemResource_Lubricant,/Game/Mods/Primal_Fear/Dinos/Tek/Crafting_Items/Blueprints/PrimalItemResource_MetalHeart.PrimalItemResource_MetalHeart,/Game/Mods/Primal_Fear/Dinos/Tek/Crafting_Items/Blueprints/PrimalItemResource_Rubber.PrimalItemResource_Rubber,/Game/Mods/Primal_Fear/Dinos/Tek/Crafting_Items/Blueprints/PrimalItemResource_Servo.PrimalItemResource_Servo,/Game/Mods/Primal_Fear/Resources/Souls/Primal/PrimalItemResource_PrimalSoul.PrimalItemResource_PrimalSoul,/Game/Mods/Primal_Fear/Weapons/Primal_Shotgun/PrimalItemAmmo_PrimalShotgunBullet.PrimalItemAmmo_PrimalShotgunBullet,/Game/Mods/Primal_Fear/Resources/Souls/Celestial/PrimalItemResource_Emp_CelestialSoul.PrimalItemResource_Emp_CelestialSoul,/Game/Mods/Primal_Fear/Resources/Souls/Demonic/PrimalItemResource_Emp_DemonicSoul.PrimalItemResource_Emp_DemonicSoul,/Game/Mods/Primal_Fear/Weapons/Primal_RocketLauncher/Ammo/PrimalItemAmmo_PrimalRocket.PrimalItemAmmo_PrimalRocket,/Game/Mods/Primal_Fear/Weapons/Primal_RocketLauncher/Ammo/PrimalItemAmmo_PrimalRocket_Caustic.PrimalItemAmmo_PrimalRocket_Caustic,/Game/Mods/Primal_Fear/Weapons/Primal_RocketLauncher/Ammo/PrimalItemAmmo_PrimalRocket_Electric.PrimalItemAmmo_PrimalRocket_Electric,/Game/Mods/Primal_Fear/Weapons/Primal_RocketLauncher/Ammo/PrimalItemAmmo_PrimalRocket_Fire.PrimalItemAmmo_PrimalRocket_Fire,/Game/Mods/Primal_Fear/Weapons/Primal_RocketLauncher/Ammo/PrimalItemAmmo_PrimalRocket_Ice.PrimalItemAmmo_PrimalRocket_Ice,/Game/Mods/Primal_Fear/Resources/Food/Kibbles/PrimalItemConsumable_Kibble_Toxic.PrimalItemConsumable_Kibble_Toxic,/Game/Mods/Primal_Fear/Resources/Food/Kibbles/PrimalItemConsumable_Kibble_Alpha.PrimalItemConsumable_Kibble_Alpha,/Game/Mods/Primal_Fear/Resources/Food/Kibbles/PrimalItemConsumable_Kibble_Apex.PrimalItemConsumable_Kibble_Apex,/Game/Mods/Primal_Fear/Resources/Food/Kibbles/PrimalItemConsumable_Kibble_Elemental.PrimalItemConsumable_Kibble_Elemental,/Game/Mods/Primal_Fear/Resources/Food/Kibbles/PrimalItemConsumable_Kibble_Elemental_Advanced.PrimalItemConsumable_Kibble_Elemental_Advanced,/Game/Mods/Primal_Fear/Resources/Food/Kibbles/PrimalItemConsumable_Kibble_Fabled.PrimalItemConsumable_Kibble_Fabled,/Game/Mods/Primal_Fear/Resources/Food/Kibbles/PrimalItemConsumable_Kibble_Special.PrimalItemConsumable_Kibble_Special,/Game/Mods/Primal_Fear/Resources/Food/Kibbles/PrimalItemConsumable_Kibble_Omega.PrimalItemConsumable_Kibble_Omega,/Game/Mods/Primal_Fear/Resources/Hide/PrimalItemResource_Hide_Toxic.PrimalItemResource_Hide_Toxic,/Game/Mods/Primal_Fear/Resources/Hide/PrimalItemResource_Hide_Alpha.PrimalItemResource_Hide_Alpha,/Game/Mods/Primal_Fear/Resources/Hide/PrimalItemResource_Hide_Apex.PrimalItemResource_Hide_Apex,/Game/Mods/Primal_Fear/Resources/Hide/PrimalItemResource_Hide_Elemental.PrimalItemResource_Hide_Elemental,/Game/Mods/Primal_Fear/Resources/Hide/PrimalItemResource_Hide_Fabled.PrimalItemResource_Hide_Fabled,/Game/Mods/Primal_Fear/Resources/Hide/PrimalItemResource_Hide_Demonic.PrimalItemResource_Hide_Demonic,/Game/Mods/Primal_Fear/Resources/Hide/PrimalItemResource_Hide_Celestial.PrimalItemResource_Hide_Celestial,/Game/Mods/Primal_Fear/Resources/Hide/PrimalItemResource_Hide_Primal.PrimalItemResource_Hide_Primal,/Game/Mods/Primal_Fear/Resources/Hide/PrimalItemResource_Hide_Origin.PrimalItemResource_Hide_Origin,/Game/Mods/Primal_Fear/Resources/Food/Kibbles/PrimalItemConsumable_Kibble_Celestial.PrimalItemConsumable_Kibble_Celestial,/Game/Mods/Primal_Fear/Resources/Food/Kibbles/PrimalItemConsumable_Kibble_Demonic.PrimalItemConsumable_Kibble_Demonic,/Game/Mods/Primal_Fear/Resources/Eggs/PrimalItemConsumable_Egg_Toxic.PrimalItemConsumable_Egg_Toxic,/Game/Mods/Primal_Fear/Resources/Eggs/PrimalItemConsumable_Egg_Alpha.PrimalItemConsumable_Egg_Alpha,/Game/Mods/Primal_Fear/Resources/Eggs/PrimalItemConsumable_Egg_Apex.PrimalItemConsumable_Egg_Apex,/Game/Mods/Primal_Fear/Resources/Eggs/PrimalItemConsumable_Egg_Elemental.PrimalItemConsumable_Egg_Elemental,/Game/Mods/Primal_Fear/Resources/Eggs/PrimalItemConsumable_Egg_Fabled.PrimalItemConsumable_Egg_Fabled,/Game/Mods/Primal_Fear/Resources/Eggs/PrimalItemConsumable_Egg_Demonic.PrimalItemConsumable_Egg_Demonic,/Game/Mods/Primal_Fear/Resources/Eggs/PrimalItemConsumable_Egg_Celestial.PrimalItemConsumable_Egg_Celestial,/Game/Mods/Primal_Fear/Resources/Food/Chaos/PrimalItemConsumable_ChaosOrb.PrimalItemConsumable_ChaosOrb,/Game/Mods/Primal_Fear/Resources/Food/Spirit/PrimalItemConsumable_SpiritOrb.PrimalItemConsumable_SpiritOrb,/Game/Mods/Primal_Fear/Resources/AscensionItem/PrimalItemResource_CelestialAscensionItem.PrimalItemResource_CelestialAscensionItem,/Game/Mods/Primal_Fear/Resources/CorruptedSpore/PrimalItemResource_CorruptedSporeCluster.PrimalItemResource_CorruptedSporeCluster,/Game/Mods/Primal_Fear/Dinos/Origin/Origin_Argent/Items/PrimalItemResource_OArgent_Tribute.PrimalItemResource_OArgent_Tribute,/Game/Mods/Primal_Fear/Dinos/Origin/Origin_Carno/Items/PrimalItemResource_OCarno_Tribute.PrimalItemResource_OCarno_Tribute,/Game/Mods/Primal_Fear/Dinos/Origin/Origin_Direbear/Items/PrimalItemResource_ODirebear_Tribute.PrimalItemResource_ODirebear_Tribute,/Game/Mods/Primal_Fear/Dinos/Origin/Origin_Kairuku/Items/PrimalItemResource_OKairuku_Tribute.PrimalItemResource_OKairuku_Tribute,/Game/Mods/Primal_Fear/Dinos/Origin/Origin_Raptor/Items/PrimalItemResource_ORaptor_Tribute.PrimalItemResource_ORaptor_Tribute,/Game/Mods/Primal_Fear/Dinos/Origin/Origin_Rex/Items/PrimalItemResource_ORex_Tribute.PrimalItemResource_ORex_Tribute,/Game/Mods/Primal_Fear/Dinos/Origin/Origin_Spino/Items/PrimalItemResource_OSpino_Tribute.PrimalItemResource_OSpino_Tribute,/Game/Mods/Primal_Fear/Dinos/Origin/Origin_Wyvern/Items/PrimalItemResource_Owyvern_Tribute.PrimalItemResource_OWyvern_Tribute,/Game/Mods/Primal_Fear/Resources/DescensionItem/PrimalItemResource_DemonicDescensionItem.PrimalItemResource_DemonicDescensionItem,/Game/Mods/Primal_Fear/Resources/Souls/Destroyer/PrimalItemResource_DestroyerSoul.PrimalItemResource_DestroyerSoul,/Game/Mods/Primal_Fear/Resources/Blood/OmegaBlood/PrimalItemConsumable_OmegaBlood.PrimalItemConsumable_OmegaBlood,/Game/Mods/Primal_Fear/Resources/Hide/PrimalItemResource_Hide_Omega.PrimalItemResource_Hide_Omega,/Game/Mods/Primal_Fear/Resources/Eggs/PrimalItemConsumable_Egg_Omega.PrimalItemConsumable_Egg_Omega diff --git a/README.md b/README.md new file mode 100644 index 0000000..46a6885 --- /dev/null +++ b/README.md @@ -0,0 +1,16 @@ +# arkserver + +Small scripts to manage my ARK server. + +## Backup +Ex: Set a cronjob to backup every 2 hours: +``` +0 */2 * * * ~/arksrv/runbackup.sh +``` + +If backing up to a SSH host, setup SSH access, +then restrict access given by the SSH key to a particular command +by putting this in authorized_keys: +``` +command="borg serve --append-only --restrict-to-repo PATH_TO_REPO",restrict KEY_TYPE PUB_KEY COMMENT +``` diff --git a/arkserver.cfg b/arkserver.cfg new file mode 100644 index 0000000..15b6168 --- /dev/null +++ b/arkserver.cfg @@ -0,0 +1,16 @@ +################################## +####### Instance Settings ######## +################################## + +ip="0.0.0.0" + +port="7777" +queryport="27015" + +# Default Map: TheIsland, Ragnarok, CrystalIsles, Aberration_P, ScorchedEarth_P, TheCenter, Extinction, Valguero_P, Genesis, Gen2 +defaultmap="Fjordur" +altsavedirectoryname="${defaultmap}" + +## Server Parameters | https://docs.linuxgsm.com/configuration/start-parameters#additional-parameters +## Game Server Docs | https://ark.wiki.gg/wiki/Server_configuration +startparameters="${defaultmap}?AltSaveDirectoryName=${altsavedirectoryname} -MultiHome=${ip} -Port=${port} -QueryPort=${queryport} -AutoManagedMods -Crossplay -PublicIPForEpic=${publicip} -MaxNumOfSaveBackups=0" diff --git a/arkserver.service b/arkserver.service new file mode 100644 index 0000000..655c82d --- /dev/null +++ b/arkserver.service @@ -0,0 +1,16 @@ +[Unit] +Description=LinuxGSM ARK Server +After=network-online.target +Wants=network-online.target + +[Service] +Type=oneshot +User=viyurz +WorkingDirectory=/home/viyurz +RemainAfterExit=yes +ExecStart=/home/viyurz/arkserver start +ExecStop=/home/viyurz/arkserver stop +Restart=no + +[Install] +WantedBy=multi-user.target diff --git a/copy-config-files.sh b/copy-config-files.sh new file mode 100755 index 0000000..f063753 --- /dev/null +++ b/copy-config-files.sh @@ -0,0 +1,19 @@ +#!/bin/bash + +relative_path="$(dirname "$0")" + +if ! source "$relative_path/.env"; then + echo "Cannot source .env file, exiting." + exit 1 +fi + + +# Copy LGSM & ARK configuration files. +cp "$relative_path/arkserver.cfg" "$LGSM_ROOT/lgsm/config-lgsm/arkserver/arkserver.cfg" +cp "$relative_path/GameUserSettings.ini" "$LGSM_ROOT/serverfiles/ShooterGame/Saved/Config/LinuxServer/GameUserSettings.ini" +cp "$relative_path/Game.ini" "$LGSM_ROOT/serverfiles/ShooterGame/Saved/Config/LinuxServer/Game.ini" + + +# Add passwords in config files. +sed -i "s/^ServerAdminPassword=.*/ServerAdminPassword=$SERVER_ADMIN_PASSWORD/" "$LGSM_ROOT/serverfiles/ShooterGame/Saved/Config/LinuxServer/GameUserSettings.ini" +sed -i "s/^ServerPassword=.*/ServerPassword=$SERVER_PASSWORD/" "$LGSM_ROOT/serverfiles/ShooterGame/Saved/Config/LinuxServer/GameUserSettings.ini" diff --git a/install-lgsm.sh b/install-lgsm.sh new file mode 100755 index 0000000..0464a19 --- /dev/null +++ b/install-lgsm.sh @@ -0,0 +1,17 @@ +#!/bin/bash + +relative_path="$(dirname "$0")" + +if ! source "$relative_path/.env"; then + echo "Cannot source .env file, exiting." + exit 1 +fi + + +(cd "$LGSM_ROOT" && + curl -Lo linuxgsm.sh https://linuxgsm.sh && + chmod +x linuxgsm.sh && + ./linuxgsm.sh arkserver && + rm linuxgsm.sh && + ./arkserver install +) diff --git a/install-nftables-service.sh b/install-nftables-service.sh new file mode 100755 index 0000000..50d7450 --- /dev/null +++ b/install-nftables-service.sh @@ -0,0 +1,19 @@ +#!/bin/bash + +relative_path="$(dirname "$0")" + + +# Install nftables if not already installed. +sudo which nft > /dev/null || sudo apt install -y nftables + + +# Copy nftables.conf & sytemd service files. +sudo cp "$relative_path/nftables.conf" /etc/nftables.conf + +sudo cp "$relative_path/arkserver.service" /etc/systemd/system/arkserver.service + + +# Enable & start both services. +sudo systemctl enable arkserver nftables + +sudo systemctl restart arkserver nftables diff --git a/nftables.conf b/nftables.conf new file mode 100644 index 0000000..7bca088 --- /dev/null +++ b/nftables.conf @@ -0,0 +1,66 @@ +#!/usr/sbin/nft -f + +flush ruleset + +table inet filter { + set blackhole_ipv4 { + type ipv4_addr + timeout 1m + flags dynamic + } + + set blackhole_ipv6 { + type ipv6_addr + timeout 1m + flags dynamic + } + + chain input { + type filter hook input priority 0; policy drop; + + iif lo accept + + # Block all IPs in blackhole + ip saddr @blackhole_ipv4 set update ip saddr @blackhole_ipv4 drop + ip6 saddr @blackhole_ipv6 set update ip6 saddr @blackhole_ipv6 drop + + ct state invalid drop + ct state { established, related } accept + + # Prevent DDoS + # Rate limiting + meta nfproto ipv4 meter ratelimit4 \ + { ip saddr limit rate over 50/second burst 10 packets } \ + add @blackhole_ipv4 { ip saddr } + meta nfproto ipv6 meter ratelimit6 \ + { ip6 saddr limit rate over 50/second burst 10 packets } \ + add @blackhole_ipv6 { ip6 saddr } + # Max concurrent connections + meta nfproto ipv4 meter connlimit4 \ + { ip saddr ct count over 100 } add @blackhole_ipv4 { ip saddr } + meta nfproto ipv6 meter connlimit6 \ + { ip6 saddr ct count over 100 } add @blackhole_ipv6 { ip6 saddr } + + # Allow ICMP + meta l4proto icmp accept + meta l4proto ipv6-icmp accept + + # SSH + tcp dport ssh accept + + # ARK + udp dport { 7777, 7778, 27015 } accept + } + + chain forward { + type filter hook forward priority 0; policy drop; + } + + chain output { + type filter hook output priority 0; policy accept; + + # Don't waste resources responding to blocked IPs + ip daddr @blackhole_ipv4 reject + ip6 daddr @blackhole_ipv6 reject + } +} diff --git a/run-backup.sh b/run-backup.sh new file mode 100755 index 0000000..cdc44f2 --- /dev/null +++ b/run-backup.sh @@ -0,0 +1,25 @@ +#!/bin/bash + +relative_path="$(dirname "$0")" + +if ! source "$relative_path/.env"; then + echo "Cannot source .env file, exiting." + exit 1 +fi + + +# Install borgbackup and/or cron if not already installed. +which borg > /dev/null || sudo apt install -y borgbackup +which crontab > /dev/null || sudo apt install -y cron + + +# ARK "Saved" directory path. +backup_target="$LGSM_ROOT/serverfiles/ShooterGame/Saved" + + +for repo in "${BORG_REPOS[@]}"; do + borg init -e none "$repo" + borg create -C lzma "$repo::Saved_{now:%Y-%m-%d_%H-%M-%S}" "$backup_target" + borg prune --keep-within=2d --keep-daily=7 --keep-weekly=4 --keep-monthly=12 --keep-yearly=10 "$repo" + borg compact "$repo" +done