World Backup · v1.0.0

Documentation shipped with this application release.

Back to What's New

Validation

CoHo Appz World Backup — Backup and restore tool for Minecraft worlds.

Not an official Minecraft product. Not approved by or associated with Mojang or Microsoft.

Creation-environment checks

The connection-recovery revision additionally passed the Node-based interruption scenarios in tests/browser/reconnect.test.cjs. Run node --test .\tests\browser\reconnect.test.cjs if Node is available. Follow docs/RECONNECT.md for live offline, sleep/wake, stale-session, and pool-restart checks. The tests use a simulated browser/Blazor connection and do not validate a live IIS deployment or compile the C# changes.

The package was reviewed for project references, XML/JSON configuration syntax, JavaScript syntax, source completeness, and exclusion of user-specific paths and build output. C# compilation and runtime tests were not possible because the creation environment did not include a .NET SDK or Windows.

The branding revision was additionally checked for removal of the previous icon and grass-block CSS/markup, presence of notices and contact configuration, valid SVG and Windows ICO sizes, and ZIP integrity. These are static checks and artwork inspection, not a successful C# build or PowerShell execution. PowerShell was also unavailable in the creation environment.

The download revision adds source checks for the fixed download route, dependency injection, package availability state, matching filenames in the publish script and download service, the Visual Studio publish include, and the source ZIP's integrity. The actual HTTP download and Windows package build remain part of the checks below.

Companion download checks

  1. Start the Development website without a companion ZIP in src/Mcs.Web/App_Data/Downloads. Verify the home page shows Download not available yet, installation instructions remain readable, and /downloads/companion returns 404.
  2. Run scripts/Publish.ps1 with your real publisher contact. Verify artifacts/web/App_Data/Downloads/CoHo-Appz-World-Backup-Companion-win-x64.zip exists and matches artifacts/CoHo-Appz-World-Backup-Companion-win-x64.zip. The script also checks the required ZIP entries and matching SHA-256 hashes.
  3. Deploy the complete output to a test site. Check the download card on desktop and narrow/mobile layouts, before and after pairing. Confirm the Windows x64 label, package size, installation steps, website address, publisher contact, and non-affiliation notice.
  4. Download through the button in a fresh browser session without pairing. Confirm the filename ends in .zip, the archive opens, and its SHA-256 matches the original published ZIP. Check the response is HTTP 200 with application/zip and an attachment filename. A request with Range: bytes=0-1023 should return HTTP 206 and 1,024 bytes.
  5. Extract the downloaded archive on a test Windows PC, run its installer, then pair and perform a backup/restore against a disposable world copy. Confirm that no separate .NET runtime install is required.
  6. Temporarily move the ZIP out of the test site's download folder, reload the page, and verify the unavailable state. Restore it and reload; the button should return. Repeat the check with an empty file in place of the ZIP.
  7. If using Visual Studio Publish, copy the actual generated ZIP into the source web project's App_Data/Downloads first, then verify it appears in the publish output and downloads after deployment.

Branding and publisher checks on Windows

  1. Build and run the Debug companion and Development website. Check that CoHo Appz World Backup is the primary name, Minecraft appears in the smaller description, and the generic folder icon appears in the browser and Windows application.
  2. Check that the full non-affiliation notice is readable on the home page and companion window. Check the publisher/contact notice on the error page. Check the companion at 125% and 150% display scaling; the layout scrolls if necessary.
  3. Run scripts/Publish.ps1 without contact options; it should stop with a clear setup error before publishing. Then run it with your working support email and/or contact page.
  4. Check artifacts/web/appsettings.json, artifacts/companion/publisher.json, both PRODUCT-NOTICE.md files, and the companion README for matching publisher/contact details. Test the displayed email/contact links.
  5. Set missing contact details in a disposable production website configuration; startup should fail with a publisher configuration message. Restore your real details and verify startup succeeds. A Release companion with blank/invalid contacts should refuse to connect; a configured one should connect.
  6. Install the generated companion package. Check the new Start menu and tray names. If testing an upgrade, check that shortcuts named MCS Minecraft Companion or MCS Save Manager Companion are replaced and a previously enabled startup shortcut still works.
  7. Run the existing backup/restore and pairing tests below against a test world. Verify the published download page also shows the publisher contact and non-affiliation notice.

Automated checks on your Windows development PC

Run scripts/Validate.ps1. It builds all four projects, then runs the dependency-free console checks against newly created temporary folders. It does not read your actual Minecraft worlds.

Checks cover:

Windows integration smoke test

Use a disposable copy of a Minecraft world for these steps.

  1. Start Mcs.Web locally under HTTPS and start Mcs.Companion.
  2. Select the copied world and a separate test backup directory.
  3. Pair through the website. Decline the first local approval and verify controls remain unavailable. Generate a new code and approve it.
  4. Create a backup with a description. Verify the ZIP paths and description in the website.
  5. Change a file in the test world. Request a restore; cancel in the companion and verify the world is unchanged.
  6. Restore again and approve locally. Verify restored contents and the previous-world recovery folder.
  7. Try deletion and cleanup; verify local cancellation and approval behavior.
  8. Import a copied original Minecraft MCS configuration and a legacy archive/description pair; verify the archive and description appear.
  9. Open a second independent browser profile and pair a second companion on another PC. Verify neither browser can operate the other's folders.
  10. Interrupt website access during a backup. Verify the local job finishes and status resumes or pairing can be re-established.
  11. Restart the website. Verify a new pairing is required, while local backups remain available.
  12. Publish to a test SmarterASP.NET site and repeat pairing, backup, and restore before moving to production.