patrix87 / PowerShellGSM

A Comprehensive PowerShell Tool for Simple Automated Game Server Management.
https://github.com/patrix87/PowerShellGSM/
MIT License
111 stars 19 forks source link

Auto update doesn't work for Ark survival ascended server. #23

Closed TOXid closed 11 months ago

TOXid commented 11 months ago

Auto update doesn't work for Ark survival ascended server. The task in the task manager works, adds new time to check Alive, update and restart to INI file. Alive check and daily restart work, while automatic update does not function.

patrix87 commented 11 months ago

Why do you say it does not work ? It did work in all my tests.

TOXid commented 11 months ago

I installed the server according to the instructions, but auto-update does not work for me. That's why I say it doesn't work. The server is updated only during the daily restart. In the intervals between these restarts, updates are released, but the script does not update them. I checked - these updates have already been published.

patrix87 commented 11 months ago

Can you attach the logs ?

TOXid commented 11 months ago

log.zip Here are the logs between two daily restarts. Once I checked the server crash detection by closing it from the manager. Alive check worked, and in this log you can see an attempt to check the update (at that time there was no update available). In the remaining logs you can see the message “Too early for update” although 2 updates were available during this period.

This is actual shedule.ini [Schedule] NextAlive=11/01/2023 16:47:31 NextUpdate=11/01/2023 16:42:59 NextRestart=11/02/2023 05:00:00

patrix87 commented 11 months ago

I find odd that your alive check is later than your update check. Did you modify the Global.psm1 ?

TOXid commented 11 months ago

No. I edit only server profile. global.psm1.txt

Should I try uninstalling and reinstalling the server again?

patrix87 commented 11 months ago

The update check should be every 15 minutes by default, yours is set to 5 like the alive and restart check.

TOXid commented 11 months ago

Initially it was 15, I changed it to 5 minutes after I read your message. After changing it to 5 minutes it became like this: [Schedule] NextAlive=11/01/2023 18:12:31 NextUpdate=11/01/2023 18:12:52 NextRestart=11/02/2023 05:00:00

but update still not working: Importing Server Configuration... Locking Process. Running Tasks for ark_survival_ascended ... Getting Tasks Schedule... Checking Alive State Server is Dead, Restarting... Updating Tasks Schedule... Too soon for Update check Too soon for Restart Verifying Server installation... Verifying Server State... Server is not running. Verifying Backups... Creating Backup.

I stopped the task in the task manager to pause the server. Then I ran allowed it, it seems after that the update check stopped working.

I also noticed this feature. The log file is written only when the server is started, and when the server is running there are no logs, neither about checking alive, nor about checking for updates.

In general, I noticed this feature. When installing a server, the alive and update check times are set to the same. Then, while the script is running, a time difference appears between the alive and the update and the update stops working. It makes no difference to set it for 5 or 15 minutes for an update.

patrix87 commented 11 months ago

I found a potential issue, I should be able to fix it soon, thanks for the heads up.

patrix87 commented 11 months ago

I was not able to reproduce the issue. Can you go in your main.ps1 and comment out that line : image It will generate a LOT more logs. but you'll be able to see if it at least tries to check for updates.

TOXid commented 11 months ago

I commented out this line. Everything seems to be fine in the logs. Now we need to wait for the new update to check whether it will actually work or whether there will be any other errors. Or maybe it’s worth trying to manually correct the file version to an older one, where does the script check?

Verifying Dependencies...
Importing Server Configuration...
Locking Process.
Running Tasks for ark_survival_ascended ...
Getting Tasks Schedule...
Checking Alive State
Server is Alive
Updating Tasks Schedule...
Checking on steamCMD if updates are avaiable for ark_survival_ascended...
No updates are available for ark_survival_ascended
Updating Tasks Schedule...
Too soon for Restart
Unlocking Process.
No tasks ready, exiting.

I noticed another feature in the logs. If there is an IP6 connection, the script recognizes the IP6 address instead of the IP4 used for the server.

Tell me, is it normal to disable the execution of a task in the task manager in order to temporarily stop the server from starting, and then enable it again to return the server to work?

TOXid commented 11 months ago

The update is definitely not working. Now there is an update, it is available - I checked it in steamcmd from another folder. These are the logs from yesterday. The script does not see the Steam update. Where should I try to look for the error? The server is still running since yesterday on version 25.55, although 25.61 is already available in steamcmd.

Verifying Dependencies... Importing Server Configuration... Locking Process. Running Tasks for ark_survival_ascended ... Getting Tasks Schedule... Checking Alive State Server is Alive Updating Tasks Schedule... Checking on steamCMD if updates are avaiable for ark_survival_ascended... No updates are available for ark_survival_ascended Updating Tasks Schedule... Too soon for Restart Unlocking Process. No tasks ready, exiting.

patrix87 commented 11 months ago

For a server I would disable IPV6 at the Network level or at least the interface level in the server. As for the update, the log you're giving me shows that it's looking for an update. It's just not finding one. Looking for updates is tricky with steamcmds, I'll check that part.

patrix87 commented 11 months ago

Potential fix on https://github.com/patrix87/PowerShellGSM/releases/tag/3.2.2

TOXid commented 11 months ago

I copied the new script files with replacement to the old folder. Still No updates are available for ark_survival_ascended in log. It seems to me that the version of the steamcmd client is being checked, not the server. bootstrap_log.txt

These two files are created in the folder for a split second and then deleted.

SteamCMD_Update_ark_survival_ascended.txt SteamCMD_Update_ark_survival_ascended_Return.txt appinfo_log.txt

patrix87 commented 11 months ago

image Fully Installed means that no updates are available on Steam.

patrix87 commented 11 months ago

In the file functions/server/Request-Update.psm1 you can make that change to keep the SteamCMD update script. image

TOXid commented 11 months ago

Fully Installed means that no updates are available on Steam.

But this is definitely not the case, I check the server files by launching it as a separate bat file and there are old files there. Perhaps the update downloads and checks only the manifest/version, but does not download the server update files themselves.

patrix87 commented 11 months ago

Fixed in https://github.com/patrix87/PowerShellGSM/releases/tag/3.2.3 It was a SteamCMD issue that was resolved in the most complicated way possible. Thanks