Add Steam Workshop mod auto-updates - #291
Open
SemHiel2003 wants to merge 1 commit into
Open
Conversation
Builds on the inactive implementation from PR Osiris-Team#290, with Workshop consumer app-id resolution and stricter SteamCMD success handling.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #215.
This adds Steam Workshop mod updates to the existing mods updater:
meta.cpppublishedidGetPublishedFileDetailsendpoint and comparetime_updatedwith the version cached inmods.ymlconsumer_app_id, with a numericserver-updater.softwarevalue as fallbackNOTIFY,MANUAL, andAUTOMATICprofilesNo new dependency is added. The Steam endpoint requires a POST form request, so the implementation uses
HttpURLConnectionand the Gson dependency already in the project.Derived work and changes from #290
This contribution builds on the inactive, closed PR #290, which itself builds on #280, as permitted by the derived-PR terms in
BOUNTY_TERMS.md.On top of that implementation, this version:
meta.cpptimestamp as comparable to Steam's Unixtime_updatedconsumer_app_id(for the issue's DayZ example,221100, rather than dedicated-server app223350)Validation
mvn -q -DskipTests compilemvn -q -Dtest='SteamWorkshopModTest,SteamCMDTest#buildsWorkshopItemCommand' test— 5/5 passedgit diff --checkresult=1andconsumer_app_id=221100for Workshop item1559212036The full local package run passed 32 tests, including all new tests. The existing network-dependent
SystemCheckerTestproduced one environment error becausewww.google.comwas unreachable.AI assistance and human validation
This contribution was developed predominantly with AI assistance. The human account owner read a plain-language review of the behavior and limitations, personally ran the compile and focused test suite against commit
3d2041c43a888bfdb3831ad2713991efc60f8868, and confirmed zero failures and zero errors before this PR was opened. I understand the change and take responsibility for its behavior and quality.The PayPal identity-verification requirement will be satisfied before merge without putting payment details in this PR discussion.