cybutek

[1.3 & 1.2] KSP-AVC Add-on Version Checker Plugin 1.1.6.2 - MiniAVC - KSP-AVC Online (2016-10-13)

400 posts in this topic

So to clarify, this mod just goes to whatever URL you put in the config to check against said file, regardless of where that file is located at correct?

Although I agree on the issue of timed commits - i.e. either it knows about a release before I change the release from draft to final, or I have to commit the version file after the release is ready, and we're stuck in a circle of sadness.

Is it using the Github API under the hood? Meaning, is there an option to just do a comparison against the actual releases on GitHub?

You are correct in that it just goes to whatever URL you put in the config. It is completely up to the mod author how they would like to host it.

It doesn't use the GitHub API, it is much simpler than that. It's just a simple GET request... But hooking into the GitHub API and creating a new field for it is a possibility. Although in that process you'll be giving up the extra checks which a .version file allows for, such as compatibility checks with game version. Also any other specialised checks which may be added down the road (such as dependancies :P).

Share this post


Link to post
Share on other sites
You are correct in that it just goes to whatever URL you put in the config. It is completely up to the mod author how they would like to host it.

It doesn't use the GitHub API, it is much simpler than that. It's just a simple GET request... But hooking into the GitHub API and creating a new field for it is a possibility. Although in that process you'll be giving up the extra checks which a .version file allows for, such as compatibility checks with game version. Also any other specialised checks which may be added down the road (such as dependancies :P).

Fair enough, the downside being you lose the benefit of GitHub releases, or have to hack things up.

Share this post


Link to post
Share on other sites
Fair enough, the downside being you lose the benefit of GitHub releases, or have to hack things up.

Oh I'm not saying that it's not worth putting the feature in. Options are always good... Just that this option would be even more limiting than the standard version check in a .version file. Because KSP-AVC doesn't do a just a mod version check but also checks with game version if one is available. Not just for the local compatibility checks, but also with remote checks... An example would be if the player is still playing on 0.23.5 with an older version of your mod, but your latest release supports a minimum version of 0.24. The player will not get a notification to upgrade to the latest version in this case. While with the GitHub check they will get nagged every time they start the game saying there's a new version, even though it is completely incompatible with their current game installation.

Share this post


Link to post
Share on other sites
Oh I'm not saying that it's not worth putting the feature in. Options are always good... Just that this option would be even more limiting than the standard version check in a .version file. Because KSP-AVC doesn't do a just a mod version check but also checks with game version if one is available. Not just for the local compatibility checks, but also with remote checks... An example would be if the player is still playing on 0.23.5 with an older version of your mod, but your latest release supports a minimum version of 0.24. The player will not get a notification to upgrade to the latest version in this case. While with the GitHub check they will get nagged every time they start the game saying there's a new version, even though it is completely incompatible with their current game installation.

I was thinking more a combination of both - i.e. I compare my local version file and all of it's goodness not on the get request for file change, but on the version of that file tagged with the latest release. That gives you best of both worlds. An option that allows the workflow of:

- Release version 1, tagged as 1.0.0

- KSP-AVC picks up the version with the tag of the last release - 1.0.0

- Draft new release (1.0.1)

- Include new version file in draft

- KSP-AVC does not pick up new release, because it looks at the version of the version file tagged with the last release - still 1.0.0

- Publish release as Pre-Release

- KSP-AVC still does not pick up new release, as it is not tagged as Latest Release in github

- Save pre-release as a real release (1.0.1)

- KSP-AVC now sees the new version file, and does all of it's goodness.

That would have me sold in a second. It handles a nice workflow with no muss no fuss, lets me draft releases and do pre-releases without confusing my users, and does not depend on any third party servers - just Github - so it's simple and easy to explain to my users.

Share this post


Link to post
Share on other sites
I was thinking more a combination of both - i.e. I compare my local version file and all of it's goodness not on the get request for file change, but on the version of that file tagged with the latest release. That gives you best of both worlds. An option that allows the workflow of:

- Release version 1, tagged as 1.0.0

- KSP-AVC picks up the version with the tag of the last release - 1.0.0

- Draft new release (1.0.1)

- Include new version file in draft

- KSP-AVC does not pick up new release, because it looks at the version of the version file tagged with the last release - still 1.0.0

- Publish release as Pre-Release

- KSP-AVC still does not pick up new release, as it is not tagged as Latest Release in github

- Save pre-release as a real release (1.0.1)

- KSP-AVC now sees the new version file, and does all of it's goodness.

That would have me sold in a second. It handles a nice workflow with no muss no fuss, lets me draft releases and do pre-releases without confusing my users, and does not depend on any third party servers - just Github - so it's simple and easy to explain to my users.

Ahh, I completely get you now... It wont be a replacement, but as an extra check for getting around them pesky commit timing problems that the process currently has. The easiest way would be to just check that the latest GitHub release version is equal to the one in the .version file. This will then mean that the .version file can be committed whenever you want, but until the GitHub release version also matches, it will not be used.

Share this post


Link to post
Share on other sites
Ahh, I completely get you now... It wont be a replacement, but as an extra check for getting around them pesky commit timing problems that the process currently has. The easiest way would be to just check that the latest GitHub release version is equal to the one in the .version file. This will then mean that the .version file can be committed whenever you want, but until the GitHub release version also matches, it will not be used.

Make that happen and I will happily test it for you and sing your praises from the mountaintops :)

(FYI this thread got buried - so toss me a PM if you wish to have a tester)

Share this post


Link to post
Share on other sites

Another option (for right now) would be to just keep another copy of the .version file in the special branch github uses to make web sites for repos.

Share this post


Link to post
Share on other sites

The MiniAVC does not seem to be working as expected for me. I get the impression that it is still checking for updates even though I told it not to. Is it because I had the full version installed and removed it to test?


Executing: MiniAVC - 1.0.1.0
Assembly: K:\Games\KSP_win-test\GameData\ThunderAerospace\TacLifeSupport\MiniAVC.dll

[Log 19:15:01.2140679]: Starter was created.
[Log 19:15:01.8741056]: FirstRunGui was created.
[Log 19:15:06.0063420]: Remote checking has been disabled for: TAC Life Support
[Log 19:15:06.0173426]: FirstRunGui was destroyed.
[Log 19:15:06.3473615]: K:\Games\KSP_win-test\GameData\ThunderAerospace\TacLifeSupport\TacLifeSupport.version
NAME: TAC Life Support
URL: [url]http://ksp-avc.cybutek.net/version.php?id=9[/url]
DOWNLOAD: NULL
VERSION: 0.9.0.1046
KSP_VERSION: 0.24.2
KSP_VERSION_MIN: NULL
KSP_VERSION_MAX: NULL
CompatibleKspVersion: True
CompatibleKspVersionMin: True
CompatibleKspVersionMax: True
[Log 19:15:06.3473615]: [url]http://ksp-avc.cybutek.net/version.php?id=9[/url]
NAME: TAC Life Support
URL: [url]http://ksp-avc.cybutek.net/version.php?id=9[/url]
DOWNLOAD: [url]https://github.com/taraniselsu/TacLifeSupport/wiki/Download[/url]
VERSION: 0.9.0.9910
KSP_VERSION: 0.24.2
KSP_VERSION_MIN: NULL
KSP_VERSION_MAX: NULL
CompatibleKspVersion: True
CompatibleKspVersionMin: True
CompatibleKspVersionMax: True

[Log 19:15:06.3553619]: IssueGui was created.
[Log 19:15:06.3563620]: ToolTipGui was created.
[Log 19:15:08.4084794]: IssueGui was destroyed.
[Log 19:15:08.4494817]: Starter was destroyed.
[Log 19:15:30.1297218]: ToolTipGui was destroyed.

Complete log file if you want it.

Edited by TaranisElsu

Share this post


Link to post
Share on other sites
The MiniAVC does not seem to be working as expected for me. I get the impression that it is still checking for updates even though I told it not to. Is it because I had the full version installed and removed it to test?

Looks like a simple check was missed out. Good spot!

Share this post


Link to post
Share on other sites

Ok... That bug is now fixed in MiniAVC 1.0.1.1. Give it a whirl and if there's any more problems, you know where to shout :D

Share this post


Link to post
Share on other sites
Ok... That bug is now fixed in MiniAVC 1.0.1.1. Give it a whirl and if there's any more problems, you know where to shout :D

Any word on the Github integration we were bantering back and forth above? I'm prepping for a bunch of releases and would love to add this in.

Share this post


Link to post
Share on other sites
Any word on the Github integration we were bantering back and forth above? I'm prepping for a bunch of releases and would love to add this in.

I did take a look into the GitHub API, but my focus for the last few days has been with Kerbal Engineer. The cycle will alternate back to KSP-AVC very soon (the next start of Visual Studio) :)

Share this post


Link to post
Share on other sites
I did take a look into the GitHub API, but my focus for the last few days has been with Kerbal Engineer. The cycle will alternate back to KSP-AVC very soon (the next start of Visual Studio) :)

Awesome, thanks!

Share this post


Link to post
Share on other sites

Great idea. Adoption would be enhanced if you could lobby the most popular mods to participate (looking at you MechJeb).

Good luck and thanks for the great tool.

Share this post


Link to post
Share on other sites

Version 1.1.3 is now available!

Added: GitHub latest release checking.

Added: Version file reading is now case insensitive.

Fixed: Bug in version equality checking. (Now using a custom VersionInfo object).

KSP-AVC now supports GitHub release checking. By having the remote version file contain GitHub information, the version checker can do a release check to see if the latest release is the same version as the version file. If there is a release to check with, and it's not the same version as it states in the version file, no update notice will be displayed to players. The check is done against the tag given to releases and does a regex removal of all characters other than numbers and points, so please bare in mind that "v1.0.0" and "v1.0.0-alpha" will both come back as "1.0.0", and "v1.0.0-alpha1" will be "1.0.1". Also if no download location is actually specified in the version file but an update is available and there is a GitHub release associated with it, the download location will link to the page for the player to download that release.

MiniAVC has also been updated to 1.0.2.0 with the same functionality.

Edited by cybutek
1 person likes this

Share this post


Link to post
Share on other sites
Version 1.1.3 is now available!

Added: GitHub latest release checking.

Added: Version file reading is now case insensitive.

Fixed: Bug in version equality checking. (Now using a custom VersionInfo object).

KSP-AVC now supports GitHub release checking. By having the remote version file contain GitHub information, the version checker can do a release check to see if the latest release is the same version as the version file. If there is a release to check with, and it's not the same version as it states in the version file, no update notice will be displayed to players. The check is done against the tag given to releases and does a regex removal of all characters other than numbers and points, so please bare in mind that "v1.0.0" and "v1.0.0-alpha" will both come back as "1.0.0", and "v1.0.0-alpha1" will be "1.0.1". Also if no download location is actually specified in the version file but an update is available and there is a GitHub release associated with it, the download location will link to the page for the player to download that release.

MiniAVC has also been updated to 1.0.2.0 with the same functionality.

Excellent! I'm up to my armpits with pre-releases so this is a perfect time to add this

Share this post


Link to post
Share on other sites
I can't boot the game any more. Reverting to KSP-AVC 1.1.2 fixed it. Here's the end of my log: http://pastebin.com/5Hz5q0P4
I am having the exact problem. The game crashed for unrelated reasons. restarting I had the notice to update AVC to 1.1.3. I hit the download button, installed AVC and restarted KSP. At the point where the Version check usually runs, the loading hangs requiring an end-task. I let it set for about 10 minutes once. Normaly the full load cycle takes about 1.5 minutes. I removed the AVC folder from GameData and the game started normally, including firing off a miniAVC notice for one of the plugins. Dropped AVC1.1.3 back in, no joy. Deleted AVC folder, again a good loading. Nothing conclusive in the Output_log.

AVC 1.1.1 and 1.1.2 work fine.

EDIT - KSP 32 bit. v0.24.2.559 and about a million and 3 mods. heh.

Wolfschadowe

Edited by Wolfschadowe

Share this post


Link to post
Share on other sites

I'm trying to sort out a fix now... It's quite an odd thing because it's not actually giving any errors, just soft locking.

*facepalm* like serious *FACEPALM*. Accidentally left in some experimenting code.

Edited by cybutek

Share this post


Link to post
Share on other sites
I'm trying to sort out a fix now... It's quite an odd thing because it's not actually giving any errors, just soft locking.

*facepalm* like serious *FACEPALM*. Accidentally left in some experimenting code.

Lol. It happens.

Share this post


Link to post
Share on other sites

Yup. Been there...done that... and as much as I hate to admit it, will likely be there, and do that again. :)

Wolfschadowe

Share this post


Link to post
Share on other sites

Version 1.1.3.1 is now available!

Fixed: Game breaking bug.

And that's no exaduration considering the bit of code that was accidentally left in basically unloaded every single plugin and assembly from the game on startup. As I was seeing the feasibility of a one button update/install and if it would be possible without having to restart. All fixed now, and MiniAVC wasn't affected.

Sorry :blush:

Share this post


Link to post
Share on other sites

FYI minor annoyance - if I do a reload of my database via the debug window, my AVC window pops up but does not go away...

Share this post


Link to post
Share on other sites
FYI minor annoyance - if I do a reload of my database via the debug window, my AVC window pops up but does not go away...

Interesting, nothing that should hinder players, but I'll look into it.

Share this post


Link to post
Share on other sites
Interesting, nothing that should hinder players, but I'll look into it.

Thanks :) Again, no biggie (I work around it), just an irritant as I have to mouse all over the place to see/click stuff.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now