Skip to content

Add Steam Workshop updates for DayZ mods#282

Closed
partyplatter08-lab wants to merge 4 commits into
Osiris-Team:masterfrom
partyplatter08-lab:partyplatter08-lab/bounty-215
Closed

Add Steam Workshop updates for DayZ mods#282
partyplatter08-lab wants to merge 4 commits into
Osiris-Team:masterfrom
partyplatter08-lab:partyplatter08-lab/bounty-215

Conversation

@partyplatter08-lab
Copy link
Copy Markdown

@partyplatter08-lab partyplatter08-lab commented May 24, 2026

Closes #215

Summary:

  • Detect Steam Workshop mod directories by reading meta.cpp files under the configured mods-updater.path.
  • Store each detected publishedid in mods.yml as steam-workshop-id.
  • Check Steam Workshop metadata through Steam's published-file details API and compare against the cached Steam time_updated value.
  • Treat first-time detected Workshop mods as uncached, so DayZ meta.cpp timestamps are not compared against Steam API Unix timestamps.
  • Download Workshop updates through SteamCMD with workshop_download_item.
  • Add mods-updater.steam-workshop-app-id, defaulting to DayZ's Workshop app id 221100, so DayZ server installs do not have to reuse the dedicated-server app id for Workshop downloads.
  • Preserve updater profile behavior: NOTIFY reports updates, MANUAL downloads Workshop content into autoplug/downloads/steam-workshop, and AUTOMATIC installs the downloaded Workshop content back into the existing mod folder.

Validation:

  • mvn -q -Dtest=SteamWorkshopModTest,SteamCMDTest#buildsWorkshopItemCommand test
  • mvn -q -DskipTests package
  • git diff --check f9b04ef..HEAD

Note: AI was mostly used for this PR. I, the human, validated it.

@Osiris-Team
Copy link
Copy Markdown
Owner

@partyplatter08-lab I updated the bouty terms, please read them and ensure your PR follows the terms:

Bounties

  • Some issues are labeled like bounty: 50€ (show the list). The first accepted pull request that fully fixes/closes the issue receives the bounty.
  • Your PR must include at least one test proving the fix or feature works.
  • Payments are only made via PayPal.
  • Your PayPal email must be visible somewhere on your public GitHub profile before the PR is merged.
  • By submitting a PR for a bounty issue, you agree to these terms.
  • Low-quality, incomplete, or spam PRs may be closed without review.

AI Generated Pull Requests

  • AI-assisted code is allowed, but the submitter must fully review, understand, and test all generated code before opening the PR.
  • The PR author is fully responsible for all generated code and behavior.
  • PRs generated mostly by AI must clearly state this in the description.
  • AI-generated PRs require manual human review before merge.
  • Large AI-generated rewrites, formatting-only changes, hallucinated APIs, duplicate logic, or low-effort generated spam will be rejected.
  • Repeated submission of low-quality AI-generated PRs may result in bounty disqualification or repository bans.

Code Quality Requirements

  • Keep PRs focused and limited to a single issue or feature.
  • Follow the existing project structure, architecture, naming conventions, and coding style.
  • Reuse existing APIs, utility classes, helpers, and abstractions whenever possible.
  • Integrate changes into the existing code flow instead of bypassing, replacing, or duplicating major logic.
  • Avoid unnecessary rewrites, new abstractions, excessive refactors, or unrelated cleanup.
  • Do not introduce new dependencies or frameworks unless clearly justified.
  • PRs must include a clear description of:
    • what changed
    • why it changed
    • how it was tested
  • PRs with failing builds, missing tests, broken functionality, or unreviewed generated code will be rejected.
  • If a PR requires excessive maintainer cleanup, restructuring, or debugging, it may be closed.
  • Repeated low-quality submissions may result in bounty disqualification or repository bans.

@Osiris-Team
Copy link
Copy Markdown
Owner

@partyplatter08-lab please give me a short confirmation that you read the terms so that I can start reviewing, thanks!

@Osiris-Team
Copy link
Copy Markdown
Owner

Closed due to violation of terms

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Auto-Update DayZ mods

2 participants