Autohosts stuck in update loop

Autohosts stuck in update loop

SpringRTS Perl Autohost for Dedicated Server

Moderators: Moderators, Lobby Developers, SPADS AutoHost

Post Reply
User avatar
Jools
XTA Developer
Posts: 2816
Joined: 23 Feb 2009, 16:29

Autohosts stuck in update loop

Post by Jools »

20190105002808 - NOTICE - [SPADS] Initializing SPADS 0.12.4
20190105002808 - NOTICE - [SPADS] Loading Spring archives using unitsync library version 98 ...
20190105002829 - NOTICE - [SPADS] Spring archives loading process took 21 seconds
20190105002829 - NOTICE - [SPADS] Spring server mode: dedicated
20190105002829 - NOTICE - [SimpleEvent] Event loop initialized using internal model
20190105002829 - NOTICE - [SimpleEvent] Starting event loop...
20190105002829 - NOTICE - [SPADS] Lobby server default engine is Spring 104, UnitSync is using Spring 98
20190105002829 - NOTICE - [SPADS] TrueSkill service available
20190105002853 - NOTICE - [SPADS] <SempriniPlugin> Spawned new autohost called [elderberry]Autohost (by [PRO]Jools)
20190105002856 - NOTICE - [SPADS] <SempriniPlugin> Spawned new autohost called [loganberry]Autohost (by [PRO]Jools)
20190105002902 - NOTICE - [SPADS] <SempriniPlugin> Spawned new autohost called [durian]Autohost (by [PRO]Jools)
20190105003342 - NOTICE - [SPADS] AutoHost restart scheduled when battle is empty (reason: auto-update)
This happens all the time, XTA has four hosts sharing the same spads.pl but with different instance dirs. I manually killed them all and update spads via perl update.pl -a testing/stable/contrib/unstable so that everything was up tpo date. I also removed the lock files. But they still want to restart for auto-update all the time. Should I disable auto update?
User avatar
bibim
Lobby Developer
Posts: 952
Joined: 06 Dec 2007, 11:12

Re: Autohosts stuck in update loop

Post by bibim »

It seems you have 3 different problems in your autohosts configuration:
  • You have the same logDir absolute path configured for all your autohost instances, which means all these instances will write in the same log files.
  • Your autohost instances have the autoUpdateRelease setting configured to different values which explains your infinite loop (some autohosts try to update the shared binaries to "testing", while others try to update them to "unstable" and "contrib"). As explained here, when several SPADS instances share same binaries, only one of these instances should have the autoUpdateRelease setting set. (*)
  • All your autohost instances have auto restart for update disabled (autoRestartForUpdate set to "off") which means none of them will be able to actually update unless you restart them manually. But I guess you just did that recently to workaround your auto-update loop.
Here is what I suggest to do:
  • Update your config files to set "logDir" to "log" for all your instances: "logDir:log" (when a relative path is provided for the logDir setting, it is considered by SPADS as relative to the "instanceDir" path, so all your instances will write in their own log directory instead of overwriting other instances log files)
  • Only set autoUpdateRelease for one instance (for example "autoUpdateRelease:testing" in semprini.conf), and in all the other instance configuration files it should be left empty ("autoUpdateRelease:"). If you really want to have instances of SPADS using different binaries at the same time, then you need to install SPADS several times...
  • Restore the "autoRestartForUpdate" setting to its default value ("autoRestartForUpdate:whenEmpty") in all your config files, so that all your instances will benefit from auto-update without requiring you to manually restart them.
Hope this helps !

(*) This is no longer true with SPADS versions >= 0.12.12: you can have several SPADS instances sharing same binaries and with the autoUpdateRelease setting set, as long as they don't use different values for this setting (see here for details)
User avatar
Jools
XTA Developer
Posts: 2816
Joined: 23 Feb 2009, 16:29

Re: Autohosts stuck in update loop

Post by Jools »

All your autohost instances have auto restart for update disabled (autoRestartForUpdate set to "off") which means none of them will be able to actually update unless you restart them manually. But I guess you just did that recently to workaround your auto-update loop.
Yes.

And also, I put the same logdir because I wanted to have the logs in the same place and not scattered around the disk. But I know a bit more about linux now than 3 years ago so I will look at this standard you posted and make necessary adjustments.
Post Reply

Return to “SPADS AutoHost”