Files
sanctuary-beta/docs/packwiz.md
T
koka c576d655ae
Build Sanctuary / build (push) Canceled after 0s
Record alpha.14 release and existing Prism update
2026-09-09 14:02:47 +02:00

19 KiB
Raw Blame History

Distribution packwiz et Prism

Sanctuary Beta utilise une seule instance Prism, synchronisée avant chaque lancement par packwiz. Le canal reste à l'adresse :

https://git.botsu.net/koka/sanctuary-beta/raw/branch/packwiz/pack.toml

Les sources sont sur la branche de travail du ticket. La branche packwiz contient uniquement les manifestes de distribution produits par le build ; les JAR Sanctuary sont des pièces jointes de releases Gitea. Aucun JAR de mod ou dépendance téléchargée n'entre dans l'historique Git. Le canal Beta est distinct de l'ancien pack 26.2.

Alpha.14 publiée — 9 septembre 2026

Sanctuary 0.1.0-alpha.14 est publiée depuis le commit source 1c5c2c2. Le canal stable utilise cette version, au commit dabf57e. Le JAR, le MRpack et le ZIP damorçage Prism ont été vérifiés par téléchargement public. SHA-256 du JAR :

1c517a13e1151501c6f4974d1bc00faedf67aaecd9bf58f34ac4a655d09dc6ef

check build assemblePack et les huit GameTests passent, ainsi que les scénarios natifs Lost City et reprise du vide après réouverture. Deux synchronisations isolées puis deux dans la même instance Prism Mac ont réussi. Le second passage conserve les fichiers gérés à lidentique ; un seul JAR Sanctuary alpha.14 est actif. Les 713 fichiers personnels et réglages suivis conservent leurs hashes. Aucune sauvegarde personnelle na été ouverte, convertie ou régénérée. Le dossier reste Sanctuary-0.1.0-alpha.1.

Sauvegarde ciblée dans cette instance : sanctuary-backups/before-0.1.0-alpha.14/. Reçus locaux ignorés : build/alpha14-isolated-validation.json et build/alpha14-prism-validation.json. Voir le contrat de génération et les preuves. La machine Windows na pas été accessible pour un essai natif ou une installation.

La livraison conserve la même instance et ses sauvegardes. Pour les nouveautés Lost City, créer ensuite un nouveau monde Sanctuary de génération 14 ; mettre à jour le pack ne convertit pas les mondes 12/13. Dans ce nouveau monde uniquement, une expansion réservée sur du vide certifié peut demander de fermer et rouvrir le monde avant sa préparation. Ce mécanisme ne fait pas partie de linstallateur packwiz et nautorise pas à supprimer un monde ou son journal.

Correctif alpha.13.1 publié — 9 septembre 2026

Sanctuary 0.1.0-alpha.13.1 est publié depuis le commit source b19e93d. Le canal stable utilisait alors cette version. Le JAR, le MRpack et le ZIP damorçage ont été vérifiés par téléchargement public. SHA-256 du JAR :

b340dfc58f3d2d1a2a375dc527ac6721c61430600622046db26228e0da46061b

Deux synchronisations isolées puis deux dans la même instance Prism Mac ont réussi. Le second passage conserve les fichiers gérés à lidentique ; un seul JAR Sanctuary alpha.13.1 est actif. Les 713 fichiers personnels et réglages suivis conservent leurs hashes. Aucune sauvegarde personnelle na été ouverte, convertie ou régénérée. Dossier de linstance conservé : Sanctuary-0.1.0-alpha.1. Sauvegarde ciblée : sanctuary-backups/before-0.1.0-alpha.13.1/ ; reçus locaux build/alpha131-isolated-validation.json et build/alpha131-prism-validation.json.

Le correctif évite la synchronisation de dossier non prise en charge sous Windows. Aucun nouveau monde requis : fermer Minecraft, mettre linstance à jour puis rouvrir le même monde. Les réservations enregistrées reprennent après vérification. La machine Windows na pas été accessible pour installation ou essai natif : le guide décrit aussi le remplacement du seul JAR Sanctuary pour une instance issue du MRpack sans auto-update. Voir les preuves et limites.

Alpha.13 publiée — 9 septembre 2026

Sanctuary 0.1.0-alpha.13 est publiée depuis le commit source 78b63be. Le canal stable utilisait alors cette version. Le JAR, le MRpack et le ZIP damorçage ont été vérifiés par téléchargement public. SHA-256 du JAR :

53eb5d8eda54d322250784203824993bd675de1cb90467e74d67589b15769e76

Deux synchronisations isolées puis deux passages dans la même instance Prism ont réussi. Le second passage laisse les fichiers gérés identiques ; un seul JAR Sanctuary alpha.13 est actif. Les 601 fichiers personnels et réglages suivis conservent leurs hashes, notamment les mondes et mods tiers. Aucune sauvegarde personnelle na été ouverte, convertie ou régénérée.

Linstance conserve son dossier Sanctuary-0.1.0-alpha.1, sans réimportation. Sauvegarde ciblée : sanctuary-backups/before-0.1.0-alpha.13/ dans cette instance. Reçus locaux : build/alpha13-isolated-validation.json et build/alpha13-prism-validation.json.

Pour tester : créer un nouveau monde, choisir Sanctuary, puis le bouton natif Personnaliser : Petit 512, Moyen 724 par défaut, Grand 1 024. Le laboratoire nest plus un choix public ; ses cavités et outils dexpansion rejoignent le nouveau monde. Les anciennes générations restent chargeables. Voir le guide alpha.13 et les preuves.

Correctif alpha.12.1 publié — 9 septembre 2026

Sanctuary 0.1.0-alpha.12.1 est publiée depuis le commit source 332d60b. Le canal packwiz utilisait cette version. Le JAR, le MRpack et le ZIP damorçage ont été vérifiés par téléchargement public. SHA-256 du JAR :

c9df4da956cfa54581b3fde21de006bf8ac3ec025b8dd0daa5d060bcb70aabd4

Deux synchronisations isolées puis deux passages dans la même instance Prism ont réussi ; le second laisse les fichiers gérés identiques. Un seul JAR Sanctuary alpha.12.1 est actif, avec 466 fichiers personnels et réglages suivis conservés, y compris les mondes et les mods tiers. Aucun monde na été ouvert ou régénéré. La sauvegarde ciblée est dans sanctuary-backups/before-0.1.0-alpha.12.1/ de linstance existante ; reçus locaux build/alpha121-isolated-validation.json et build/alpha121-prism-validation.json.

WG-14 ajoute la distance et le contournement automatique des zones occupées. Les mondes laboratoire alpha.12 restent utilisables sans conversion : le journal v1 et les descripteurs de génération 12 sont conservés. Voir le guide.

Alpha.12 publiée — 9 septembre 2026

Sanctuary 0.1.0-alpha.12 est publiée depuis le commit source cdfbba0. Le canal stable utilisait alors cette version. Le JAR, le MRpack et le ZIP damorçage Prism ont été téléchargés publiquement et vérifiés contre les artefacts locaux. SHA-256 du JAR :

f2ac2462a03a39ef330cc52143f9753ac5908b606cfe1dd1388ad5caae15e6e9

Le véritable installateur packwiz a réussi deux passages dans un dossier de développement neuf, puis deux dans la même instance Sanctuary Beta. Le second passage conserve les hashes des fichiers gérés. Un seul JAR Sanctuary alpha.12 est actif ; les 466 fichiers personnels et réglages suivis conservent leurs hashes, y compris les sauvegardes, mods tiers et configurations. Aucun monde na été ouvert, converti ou régénéré par cette livraison.

La sauvegarde ciblée est dans sanctuary-backups/before-0.1.0-alpha.12/ de linstance existante. Les reçus locaux ignorés sont build/alpha12-isolated-validation.json et build/alpha12-prism-validation.json. Le guide décrit le nouveau preset Sanctuary — Laboratoire : créer un nouveau monde de ce type pour essayer les expansions. Les anciennes parties et les presets Petit/Grand gardent leur génération.

Livrer une mise à jour

Livraison précédente, vérifiée le 9 septembre 2026 : Sanctuary 0.1.0-alpha.11, depuis le commit source f30a350. Le JAR, le .mrpack et le ZIP damorçage Prism sont publiés et leurs téléchargements publics vérifiés. Le canal stable pointait alors sur cette version. SHA-256 du JAR :

f075ad8a0b97cd53e4891273adbee5f79f04ab3984442950d5d85f58d2ded589

Le véritable installateur packwiz a réussi deux fois dans un dossier de développement neuf, puis deux fois dans linstance Sanctuary Beta existante. Le second passage laisse les fichiers gérés identiques. Un seul JAR Sanctuary alpha.11 est actif ; les 364 fichiers personnels et réglages suivis conservent leurs hashes, y compris les fichiers des mods tiers et leurs configurations. Lancien JAR et les manifestes locaux sont sauvegardés hors de mods/, dans sanctuary-backups/before-0.1.0-alpha.11/ de cette même instance. Aucun monde existant na été ouvert, converti ou régénéré par la livraison. Les reçus locaux ignorés sont build/alpha11-isolated-validation.json et build/alpha11-prism-validation.json ; les listes de hashes avant et après figurent dans le dossier de sauvegarde. Les preuves du build, des deux tailles et de performance figurent dans Validation.

Après les vérifications, le commit et le push de la branche du ticket, le script de publication réalise les étapes de release et de canal ci-dessous :

python3 scripts/publish_pack.py --notes-file chemin/vers/notes.md --asset build/Sanctuary-0.1.0-alpha.12.mrpack

Les options sont facultatives. Ce script publie sur le Git configuré dans origin ; il exige un arbre propre, un HEAD déjà poussé et un JAR dont la version correspond aux sources. Il utilise les identifiants du gestionnaire Git en mémoire, refuse de remplacer une release ou un artefact différent portant la même version, puis vérifie les téléchargements publics et les métadonnées du canal. Il préserve l'historique de packwiz et n'utilise pas de push forcé. Il ne lance pas les tests et ne modifie aucune instance de jeu : les vérifications de livraison restent à exécuter avant cette commande.

La procédure complète, également utilisable manuellement :

  1. Modifier ensemble les versions de gradle.properties et packwiz/pack.toml.

  2. Exécuter ./gradlew check build assemblePack et les vérifications du ticket.

  3. Préparer les métadonnées de la livraison, avec l'URL exacte du futur JAR :

    python3 scripts/pack.py release https://git.botsu.net/koka/sanctuary-beta/releases/download/v0.1.0-alpha.12/sanctuary-0.1.0-alpha.12.jar
    
  4. Pousser le commit source vérifié. Créer une release Gitea correspondant à ce commit et joindre le JAR construit, sans remplacer les artefacts d'une release antérieure. Vérifier que le téléchargement public possède le SHA-256 indiqué dans build/packwiz-release/mods/sanctuary.pw.toml.

  5. Publier le contenu de build/packwiz-release/ à la racine de la branche packwiz dans un seul commit, puis vérifier les fichiers et hashes depuis l'URL publique. Préserver l'historique de ce canal et ne jamais y copier le dossier build/packwiz/, qui contient le JAR de développement.

  6. Tester une installation puis une seconde synchronisation avec le véritable packwiz-installer dans un dossier de développement neuf. Le second passage doit laisser le pack à jour sans dupliquer Sanctuary.

mods/sanctuary.pw.toml conserve le même chemin entre versions ; seul son nom de JAR, son URL et son hash changent. Packwiz peut ainsi retirer l'ancien JAR qu'il gère quand il installe le nouveau. Une première installation depuis un .mrpack n'a pas encore ce suivi : voir la procédure ci-dessous.

Un ZIP d'amorçage Prism se prépare avec :

python3 scripts/pack.py prism https://git.botsu.net/koka/sanctuary-beta/raw/branch/packwiz/pack.toml

Il contient les versions exactes Minecraft/Fabric, la commande de lancement et packwiz-installer-bootstrap v0.0.3. Le script vérifie le SHA-256 du bootstrap officiel avant d'écrire build/Sanctuary-Prism-auto-update.zip. Ce ZIP est réservé aux nouvelles installations ; les instances déjà branchées sur packwiz suivent le canal sans être réimportées.

Raccorder l'instance Prism existante

Fermer Minecraft avant de modifier ses mods. Fermer également Prism avant de modifier directement instance.cfg, pour éviter que son état en mémoire écrase les changements. Dans l'instance Sanctuary Beta :

  1. Sauvegarder instance.cfg et les anciens JAR Sanctuary dans un dossier de sauvegarde hors de mods/. Vérifier que l'instance utilise Minecraft 26.3-pre-2 et Fabric 0.19.5 ; ne pas convertir une instance 26.2.
  2. Mettre le bootstrap issu du ZIP dans son dossier minecraft/ (ou .minecraft/ selon l'installation).
  3. Dans Modifier → Paramètres → Commandes personnalisées, activer les commandes et renseigner la commande avant lancement ci-dessous.
  4. Pour une instance issue d'un ancien .mrpack, déplacer seulement l'ancien JAR Sanctuary non géré dans la sauvegarde préparée, puis faire la première synchronisation packwiz. Conserver les autres mods et données personnelles. Si la synchronisation échoue, remettre ce JAR et les réglages sauvegardés.
  5. Vérifier qu'il reste un seul mod Sanctuary actif et que packwiz.json est présent dans le dossier Minecraft. Les prochaines mises à jour sont suivies par ce manifeste local : ne pas le supprimer entre les versions.

Commande à coller dans l'interface Prism :

"$INST_JAVA" -jar "$INST_MC_DIR/packwiz-installer-bootstrap.jar" --bootstrap-main-jar "$INST_MC_DIR/packwiz-installer.jar" --pack-folder "$INST_MC_DIR" --multimc-folder "$INST_DIR" https://git.botsu.net/koka/sanctuary-beta/raw/branch/packwiz/pack.toml

Une modification directe de instance.cfg doit échapper les guillemets au format Qt INI (\") et activer OverrideCommands=true. Ces clés et PreLaunchCommand doivent être dans la section [General], jamais ajoutées après la section [UI]. Le ZIP préparé le fait déjà. Rouvrir les commandes personnalisées dans Prism pour vérifier que la commande est effectivement lue. Une instance importée d'un .mrpack peut être marquée ManagedPack=true : dès que packwiz en assure les mises à jour, utiliser ManagedPack=false pour éviter deux mécanismes de gestion sur le même pack.

Données locales et mondes

Le pack livré possède uniquement les fichiers déclarés dans son index. Il ne déclare ni saves/, ni options.txt, servers.dat, screenshots/, ni les packs graphiques personnels. L'installation de packwiz et une mise à jour des mods n'autorisent pas à supprimer ou régénérer un monde.

La hauteur de 384 blocs, le dessous sculpté et le ciel de l'alpha.3 se testent dans un nouveau monde avec le preset Sanctuary. Les anciens mondes gardent leurs identifiants de génération et leurs hauteurs. Lhydrologie de lalpha.4 nécessite elle aussi un nouveau monde Sanctuary ; la mise à jour de linstance najoute pas deau aux sauvegardes existantes. Les nouvelles plages, cascades, biomes et petits filons de lalpha.5 utilisent à leur tour un identifiant séparé : créer un nouveau monde Sanctuary pour les découvrir. Les détails des versions de génération sont dans Génération. Les changements de version Minecraft ou de format de sauvegarde demandent leur propre ticket et contrat de migration.

Lalpha.6 utilise à son tour sanctuary:sanctuary_layered pour ses biomes par altitude et sa nouvelle hydrologie. Créer un nouveau monde Sanctuary ; les sauvegardes alpha.5 conservent notamment leur palette avec Dappled Forest.

Lalpha.7 sélectionne sanctuary:sanctuary_woodland pour ses forêts, ses roches variées et ses minerais affleurants. Les mondes alpha.6 gardent sanctuary:sanctuary_layered ; aucune régénération de chunks nest effectuée.

Lalpha.8 sélectionne sanctuary:sanctuary_rift pour les failles, les grandes rivières, les champignons géants et la géologie des profondeurs. Créer un nouveau monde Sanctuary pour les découvrir. La même instance Prism reçoit le nouveau JAR par le canal stable ; ses sauvegardes et réglages sont conservés. Les mondes alpha.7 et antérieurs gardent leurs paramètres de génération.

Lalpha.9 utilise sanctuary:sanctuary_cavern pour les cavités luxuriantes, les géodes, les geysers et les terrasses deau. Un nouveau monde Sanctuary est nécessaire pour essayer cet incrément. Les mondes alpha.8 conservent sanctuary:sanctuary_rift ; leur contenu nest pas retouché par une mise à jour de la même instance Prism. Les anciennes sauvegardes et les réglages ont été conservés lors des deux synchronisations de livraison.

Lalpha.10 propose des choix de taille pour 5, 20 et 100 joueurs, avec 20 par défaut. Ils sappliquent à un nouveau monde. Les profils sauvegardés sanctuary:population_5, sanctuary:population_20 et sanctuary:population_100 sont séparés des anciens réglages, notamment sanctuary:sanctuary_cavern de lalpha.9. La mise à jour de la même instance Prism nagrandit aucune île existante, ne modifie pas les paramètres de génération enregistrés et ne nécessite pas de réimporter le ZIP damorçage. Les fichiers de sauvegarde, captures, packs graphiques et réglages personnels suivis ont conservé leurs hashes lors des deux synchronisations de livraison.

Lalpha.11 propose deux choix : Petit et Grand, Grand par défaut. Le preset sanctuary:sanctuary crée un nouveau monde population_10 ; Petit garde sanctuary:sanctuary_5 / population_5. Les anciens mondes 20/100 restent chargeables à leur taille enregistrée, alors que leurs formats sont cachés de la création. Les formats de sauvegarde sont inchangés.

Loptimisation conserve les résultats pour un même réglage. La livraison a préservé les fichiers personnels suivis, les mods tiers et leurs configurations. Linstance na pas été réimportée et aucun mod tiers na été retiré. Les sauvegardes personnelles sont restées fermées pendant les essais et la synchronisation.

Références officielles : installation packwiz, commandes Prism, bootstrap v0.0.3.