arkmanager / ark-server-tools

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

mod mismatch after server restart #842

Open dorsepp opened 7 years ago

dorsepp commented 7 years ago

Hello,

first of all, thank you for the great work. This tool is amazing. I am using it since one year and it works perfect except one thing.

Since a few weeks I have the issue that I have to reinstall all mods via "arkamanger uninstallmods" and "arkamanger installmods" after every single restart of my server. (It worked before and I changed nothing).

I tried all suggestions I found in the issues section, but without any success.

Here are the issues where I tried the answers:

814

808

627

Configuration instance config:

# config environment
arkserverroot="/home/ark2/ARK"                                     # path of your ARK server files (default ~/ARK)
arkbackupdir="/home/ark2/ARK-Backups"
steamdataroot="/home/ark2/Steam"

 # ARK server options - use ark_<optionname>=<value>
 # comment out these values if you want to define them
 # inside your GameUserSettings.ini file
serverMap="Ragnarok"                                               # server map (default TheIsland)
 #serverMapModId="469987622"
 #ark_TotalConversionMod="496735411"                                 # Uncomment this to specify a total-conversion mod
ark_RCONEnabled="True"                                             # Enable RCON Protocol
ark_RCONPort="32335"                                               # RCON Port
ark_RCONServerGameLogBuffer=1600
ark_SessionName="doesntmatter"                   # if your session name needs please use the .ini instead
ark_Port="7779"                                                    # ARK server port (default 7778)
ark_QueryPort="27020"                                              # ARK query port (default 27015)
ark_ServerPassword="test"                                         # ARK server password, empty: no password required to login
ark_ServerAdminPassword="test"                              # ARK server admin password, KEEP IT SAFE!
ark_MaxPlayers="70"
ark_GameModIds="731604991,928102085,881446972,600705968,554678442,538827119,566885854,811366897,876038468,558079412"         # Uncomment to specify additional mods by Mod Id separated by commas
 #ark_AltSaveDirectoryName="SotF"                                    # Uncomment to specify a different save directory name
 #ark_AutoSavePeriodMinutes="15.000000"
 #ark_OverrideStructurePlatformPrevention="true"
ark_AltSaveDirectoryName="SavedArks1"

 # 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
 #arkflag_UseBattlEye=true
 #arkflag_OverrideOfficialDifficulty=8.0
arkflag_AllowCrateSpawnsOnTopOfStructures=true
arkflag_StasisKeepControllers=true
arkflag_server=true
arkflag_log=true
arkflag_NoTransferFromFiltering=true
arkflag_automanagedmods=anything
arkflag_servergamelog=""

 # ARK server options - i.e. for -optname=val, use arkopt_optname=val
 #arkopt_StructureDestructionTag=DestroySwampSnowStructures
 arkopt_clusterid=doesntmatter
 #arkopt_ClusterDirOverride=/home/ark1/ARK_CL_Data

Configuration main config:

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/Steam/"                                 # 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="/home/steam/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="false"                                        # set this to true if you want to always update before startup
arkBackupPreUpdate="false"                                          # 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

# 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"

# 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_ServerPassword=""                                               # ARK server password, empty: no password required to login
ark_ServerAdminPassword="NoAcceSS2017"                               # ARK server admin password, KEEP IT SAFE!
ark_MaxPlayers="70"
#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="/var/log/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_ark1="/path/to/config/file"
configfile_ark1=/etc/arkmanager/instances/ark1.cfg
configfile_ark2=/etc/arkmanager/instances/ark2.cfg
configfile_ark3=/etc/arkmanager/instances/ark3.cfg

defaultinstance="main"

If you need any further information let me know. I tried many things before I posted this so I hope some of you specialists can help me out.

Thank you in advance and kind regards

Sepp

klightspeed commented 7 years ago

In order to help work out what is happening, please:

  1. re-install the mods
  2. before starting the server, copy ShooterGame/Content/Mods to another directory (e.g. /home/ark2/oldmods
  3. start the server
  4. after stopping the server, compare the contents of ShooterGame/Content/Mods to the old content from step 2, using e.g. diff -qr /home/ark2/oldmods /home/ark2/ARK/ShooterGame/Content/Mods
  5. uninstall the mods again
  6. enable ark_automanagemods=true
  7. start the server
  8. after stopping the server, compare the contents of ShooterGame/Content/Mods to the old content from step 2, using e.g. diff -qr /home/ark2/oldmods /home/ark2/ARK/ShooterGame/Content/Mods
dorsepp commented 7 years ago

Hello klightspeed,

thank you for the quick response after your step 4 I have the following result:

ark2@Debian-87-jessie-64-minimal:~$ diff -qr /home/ark2/ARK/ShooterGame/Content/oldmods/Mods/ /home/ark2/ARK/ShooterGame/Content/Mods
Only in /home/ark2/ARK/ShooterGame/Content/oldmods/Mods/: 538827119.mod
Only in /home/ark2/ARK/ShooterGame/Content/oldmods/Mods/: 554678442.mod
Only in /home/ark2/ARK/ShooterGame/Content/oldmods/Mods/: 558079412.mod
Only in /home/ark2/ARK/ShooterGame/Content/oldmods/Mods/: 566885854.mod
Only in /home/ark2/ARK/ShooterGame/Content/oldmods/Mods/: 600705968.mod
Only in /home/ark2/ARK/ShooterGame/Content/oldmods/Mods/: 731604991.mod
Only in /home/ark2/ARK/ShooterGame/Content/oldmods/Mods/: 811366897.mod
Only in /home/ark2/ARK/ShooterGame/Content/oldmods/Mods/: 876038468.mod
Only in /home/ark2/ARK/ShooterGame/Content/oldmods/Mods/: 881446972.mod
Only in /home/ark2/ARK/ShooterGame/Content/oldmods/Mods/: 928102085.mod

After Step 8 I compared the files with the following result. (I didn´t install the mods after step 6)

ark2@Debian-87-jessie-64-minimal:~$ diff -qr /home/ark2/ARK/ShooterGame/Content/oldmods/Mods/ /home/ark2/ARK/ShooterGame/Content/Mods
Only in /home/ark2/ARK/ShooterGame/Content/oldmods/Mods/: 538827119
Only in /home/ark2/ARK/ShooterGame/Content/oldmods/Mods/: 538827119.mod
Only in /home/ark2/ARK/ShooterGame/Content/oldmods/Mods/: 554678442
Only in /home/ark2/ARK/ShooterGame/Content/oldmods/Mods/: 554678442.mod
Only in /home/ark2/ARK/ShooterGame/Content/oldmods/Mods/: 558079412
Only in /home/ark2/ARK/ShooterGame/Content/oldmods/Mods/: 558079412.mod
Only in /home/ark2/ARK/ShooterGame/Content/oldmods/Mods/: 566885854
Only in /home/ark2/ARK/ShooterGame/Content/oldmods/Mods/: 566885854.mod
Only in /home/ark2/ARK/ShooterGame/Content/oldmods/Mods/: 600705968
Only in /home/ark2/ARK/ShooterGame/Content/oldmods/Mods/: 600705968.mod
Only in /home/ark2/ARK/ShooterGame/Content/oldmods/Mods/: 731604991
Only in /home/ark2/ARK/ShooterGame/Content/oldmods/Mods/: 731604991.mod
Only in /home/ark2/ARK/ShooterGame/Content/oldmods/Mods/: 811366897
Only in /home/ark2/ARK/ShooterGame/Content/oldmods/Mods/: 811366897.mod
Only in /home/ark2/ARK/ShooterGame/Content/oldmods/Mods/: 876038468
Only in /home/ark2/ARK/ShooterGame/Content/oldmods/Mods/: 876038468.mod
Only in /home/ark2/ARK/ShooterGame/Content/oldmods/Mods/: 881446972
Only in /home/ark2/ARK/ShooterGame/Content/oldmods/Mods/: 881446972.mod
Only in /home/ark2/ARK/ShooterGame/Content/oldmods/Mods/: 928102085
Only in /home/ark2/ARK/ShooterGame/Content/oldmods/Mods/: 928102085.mod

After your steps I reinstalled the mods and started the server. I tried a join and it was okay as always. Than I restarted the server and had the same issue with the mod mismatch. In the following you can see the result of the compare from the mod folder:

ark2@Debian-87-jessie-64-minimal:~$ diff -qr /home/ark2/ARK/ShooterGame/Content/oldmods/Mods/ /home/ark2/ARK/ShooterGame/Content/Mods
Only in /home/ark2/ARK/ShooterGame/Content/oldmods/Mods/: 538827119.mod
Only in /home/ark2/ARK/ShooterGame/Content/oldmods/Mods/: 554678442.mod
Only in /home/ark2/ARK/ShooterGame/Content/oldmods/Mods/: 558079412.mod
Only in /home/ark2/ARK/ShooterGame/Content/oldmods/Mods/: 566885854.mod
Only in /home/ark2/ARK/ShooterGame/Content/oldmods/Mods/: 600705968.mod
Only in /home/ark2/ARK/ShooterGame/Content/oldmods/Mods/: 731604991.mod
Only in /home/ark2/ARK/ShooterGame/Content/oldmods/Mods/: 811366897.mod
Only in /home/ark2/ARK/ShooterGame/Content/oldmods/Mods/: 876038468.mod
Only in /home/ark2/ARK/ShooterGame/Content/oldmods/Mods/: 881446972.mod
Only in /home/ark2/ARK/ShooterGame/Content/oldmods/Mods/: 928102085.mod

After a new uninstall and install the compare have no output so the files are the same. I have no idea what is going on here. But it seems like that after the server start the *.mod files are deleted in the Mod directory. I also noticed that you wrote that I have to add ark_automanagemods=true and I have the line arkflag_automanagedmods=anything in the cfg but changed it in arkflag_automanagedmods=true too without a reaction. Can you tell me what the difference between the two lines is?

Maybe you have an idea what the reason is. Thank you in advance.

kind regards

Sepp

klightspeed commented 7 years ago

Where the documentation says anything, it means any non-empty string.

Where I wrote ark_automanagemods=true, I meant to write arkflag_automanagedmods=true

The fact that the game server is deleting the .mod files seems to suggest that -automanagedmods is enabled regardless of whether or not you are specifying arkflag_automanagedmods=true. It would also appear that -automanagedmods is ignoring the mods specified in GameModIds

Is anything mentioned in arkserver.log?

dorsepp commented 7 years ago

Unfortunately the logs are saying nothing. I tried a reinstall of the instance too. There was a hint in issue I wrote above, where it is suggested to uncomment the GameModIds in the instance cfg an add it to GameUserSettings.ini. But I have the same problem. I have no idea what I can try. The anything was clear to me but a User in another issue wrote this solved his problem. It thougt I give it a try... It would be great if you had another tip for me.