Mustard Mod Management

This document describes normal operational maintenance of Mustard mod JARs and the maintained update workflow. Source-specific implementation, build, and validation details remain in minecraft-projects.


Document Scope

This document covers:

It does not define automated deployment or replace compatibility-project READMEs.


Active Mod Location

Active server mod JARs are stored in:

/home/container/mods/

Downloaded upstream JARs are runtime dependencies and deployment artifacts. They are not locally maintained source.

Mustard-owned compatibility source is maintained in Git. Built compatibility JARs are deployment artifacts and remain outside Git. Source-specific build procedures, hashes, version pins, and validation records remain in the corresponding Mustard source collection.


Superseded Artifact Convention

A replaced or superseded JAR may be retained temporarily with a .old suffix.

This convention allows an artifact to be removed from active loading without losing immediate rollback or reconciliation context.


Mustard Compatibility Artifacts

Operational mod maintenance distinguishes:

The deployed Dual Gauge artifact is:

create_dual_guage_track-1.0-SNAPSHOT-mustardfix.jar

Its approved identities, exact semantic patch, and reconstruction procedure are documented in the Dual Gauge project README.


Routine Update Workflow

Routine mod, datapack, TreePack and configuration maintenance follows the restart-only procedure: stop Minecraft completely, apply reviewed deployment files, run the established world-asset synchronization while stopped, start and verify. Do not substitute /reload, live /datapack enable or live /datapack disable for that workflow. Offline datapack priority and protection of unrelated runtime TreePack resources remain unchanged. No automatic restart or scheduling change is introduced.

The maintained routine tools are intended to be deployed beneath the individual server's own scripts directory:

<server-root>/scripts/

Inside the Pterodactyl container, the same location is normally visible as /home/container/scripts/. Host-side paths may differ between Wings nodes and server volumes.

Tool Operational role
prepare-mod-update-test.sh Capture a known-good baseline, prepare generated resources for an update test, and require the initial no-fixes validation stage
compare-mod-update.sh Compare post-update mod, log, and generated-data state with the baseline; enforce the unchanged-mod 00-no-fixes first stage and complete startup markers
finalize-mod-update-test.sh Validate and record the final known-good test state
snapshot-generated-datapacks.sh Snapshot generated datapack state within the update-test workspace
audit-server-mod-updates.py Query Modrinth for update candidates for installed top-level mod JARs
sync-mustard-world-assets.sh Synchronize canonical Mustard datapacks into the active world and restore Mustard TreePack overlays while preserving unrelated tree resources
set-mustard-datapack-priority.py Fresh-world initial-selection preparation and existing-world offline priority correction; see the maintained procedure

The active routine tools derive <server-root> from their deployed path and resolve the selected world through level-name in server.properties. The merged PR #43 sync helper prepares fresh-world initial selection before the first startup while preserving property backups and unrelated runtime TreePack content. Follow fresh-world preparation for the stopped-server sequence; no preliminary boot or synthetic level.dat is needed. Review the observed full-pack limitation and offline fallback: dynamically registered packs can still appear after the Mustard packs. For an already-generated world, the no-argument priority helper remains the supported stopped-world level.dat correction, with a session lock and backup. Always restart and verify actual resource loading and final pack order.

The Python implementation of audit-server-mod-updates.py is intentional. It uses the Python standard library, requires no shell rewrite or wrapper, and is intended to be executable directly through its shebang after separately authorized deployment:

<server-root>/scripts/audit-server-mod-updates.py

The auditor reads installed JARs, contacts Modrinth, and writes reports beneath:

<server-root>/update-tests/server-mod-update-audits/

The hardened routine update-test tooling is deployed on Mustard. Its required unchanged-mod 00-no-fixes checkpoint, complete-log guards, TreePack restoration path, normal staged comparisons, and finalization flow were exercised successfully through a completed October 2026 update cycle.

Maintained source and detailed behavior are documented in the update-testing collection.


Diagnostic and Validation Tooling

Reusable analysis and validation scripts are maintained separately from routine maintenance tools. They support targeted diagnostics, regression investigation, structure and resource analysis, and compatibility troubleshooting.

Their Git source is maintained in the analysis and validation collections. Deployed or working copies may live beneath:

/home/container/update-tests/scripts/

That directory is a reusable diagnostic toolbox, not merely disposable per-run data. Temporary investigation scripts that were not retained in Git remain disposable.


Update Review

Automated update results are candidates for human review, not automatic upgrade instructions. Review is especially important for:

Use the update-test workflow and review logs and generated comparisons before accepting a candidate.


Related Documentation

Document Purpose
modpack.md Modpack role and compatibility architecture
server-management.md Maintenance cadence and update-test workflow
server-configuration.md Current operational configuration
server-startup.md Startup characteristics and Java configuration
Mustard script source Canonical maintenance, analysis, validation, and generation tooling

Change History

2026-10-19

2026-10-18

2026-10-10

2026-10-05

2026-10-01

2026-09-25