Add persistent island sizes for 5, 20 and 100 players
Build Sanctuary / build (push) Canceled after 0s

Default new Sanctuary worlds to the 20-player profile and keep legacy world generation isolated. Validate all three capacities progressively with real generation, fluid ticks and saved settings.
This commit is contained in:
koka
2026-09-09 04:14:18 +02:00
parent 0a0034dd42
commit ef5d1eaad9
74 changed files with 7317 additions and 64 deletions
+76 -5
View File
@@ -54,7 +54,9 @@ Deux adaptations y sont nécessaires, vérifiées contre les classes Minecraft
- `GameTestServer` sélectionne normalement `minecraft:flat_all_dimensions`.
Le mixin de test sélectionne directement le preset de production
`sanctuary:sanctuary`, sans recopier ses JSON.
`sanctuary:sanctuary` pour 20 joueurs par défaut.
`-PsanctuaryTestPlayers=5` ou `100` sélectionne sa variante de production,
sans recopier ses JSON.
- Le framework désactive normalement les structures. Le test les active dans
`WorldOptions` pour examiner les chunks après toutes les étapes de génération.
La seed du serveur de test est `0` par défaut ; `-PsanctuaryTestSeed` est transmis
@@ -65,8 +67,8 @@ Le test capture donc le spawn juste avant ce déplacement, après l'initialisati
normale du monde, et examine les coordonnées absolues de l'île.
Les scénarios suivants couvrent le socle et les générations historiques ;
les contrôles validés pour lalpha.9 et les résultats historiques
propres à lalpha.8 figurent plus bas :
les contrôles validés pour lalpha.10 et les résultats historiques
des générations précédentes figurent plus bas :
1. Le vrai générateur Sanctuary est chargé et le spawn collectif repose sur une
surface déjà présente dans la densité naturelle, avec un sol plein de 3×3
@@ -95,8 +97,9 @@ propres à lalpha.8 figurent plus bas :
9. Les anciennes clés gardent leur traitement dorigine. Seuls les nouveaux
paramètres activent le traitement ajouté pour leur génération.
La recherche de spawn parcourt l'île finie, par anneaux de quatre blocs jusqu'à
288 blocs du centre. Elle examine d'abord la hauteur brute pour éviter de
La recherche de spawn parcourt l'île finie par anneaux de quatre blocs,
jusqu’à la limite de terrain du profil choisi. Les anciens réglages conservent
leur borne de 288 blocs. Elle examine d'abord la hauteur brute pour éviter de
générer entièrement les colonnes vides, puis vérifie le sol et les dégagements
après décoration. Elle préfère une zone naturelle de 3×3 ; si aucune n'est trouvée,
elle utilise le premier emplacement naturel sûr d'une colonne avec deux blocs
@@ -190,6 +193,74 @@ Pour cet essai visuel en monde de développement créatif, comparer la même vue
Y=63 ni assombrissement d'altitude au passage de Y=32. Les brouillards de l'eau,
de la météo et des effets d'aveuglement ou d'obscurité doivent rester présents.
## Contrôles et validation alpha.10 — 9 septembre 2026
Les profils `sanctuary:population_5`, `population_20` et `population_100`
passent chacun les onze tests requis sur la graine `0`, avec **1 800 ticks de
fluides de production**. Aucun réveil manuel des sources naturelles nest
ajouté par le diagnostic. `check build assemblePack` passe sur le profil 5 ;
les profils 20 puis 100 sont ensuite exécutés dans des mondes de test neufs.
| Capacité | Diamètre nominal | Régions inspectées | Chunks FULL | Régions en cache au spawn → après inspection | Durée de la commande |
| --- | --- | --- | --- | --- | --- |
| 5 | 512 | (0, 0) | 110 | 1 → 1 | 3m 46s |
| 20 | 1 024 | (0, 0), (1, 0) | 185 | 1 → 2 | 6m 31s |
| 100 | environ 2 290 | (0, 0), (1, 1), (2, 0) | 290 | 1 → 4 | 11m 37s |
La durée du profil 5 inclut les tâches de construction ; celles des profils
20/100 concernent `runGameTest`. Ces temps ne mesurent ni un tick en régime
établi ni une charge multijoueur. Le calcul du premier plan central reste
coûteux sur cette configuration : 5 joueurs : 87.710 s; 20 joueurs : 82.834 s; 100 joueurs : 85.761 s.
La génération en masse reste à optimiser. Le cache commence localement et
ne construit pas demblée toutes les régions de l’île.
| Capacité | Colonnes de sédiments sélectionnées | Blocs deau retenus | Sources de lave retenues | Sources deau / débordements / coulées de lave testés | Témoins de réentrée sans marqueur |
| --- | --- | --- | --- | --- | --- |
| 5 | 3196 | 5656 | 19 | 1 / 1 / 1 | 3 |
| 20 | 3367 | 6319 | 20 | 2 / 3 / 2 | 3 |
| 100 | 4325 | 8106 | 57 | 3 / 4 / 3 | 3 |
Les témoins vérifient les fonds et sédiments après décoration, la conservation
des sources, les composantes d’écoulement réellement descendantes et les
supports de lave naturels. Les débordements sélectionnés rejoignent leur bassin
cible ou leur chute terminale. Le rappel du post-traitement sans marqueur
préserve une modification ultérieure de lexutoire. Les nombres décrivent
uniquement les éléments sélectionnés dans les chunks indiqués.
| Capacité | Pas horizontal du relevé de densité | Colonnes avec roche | Colonnes vides | Colonnes avec roche au-delà de lancienne emprise |
| --- | --- | --- | --- | --- |
| 5 | 9 | 1015 | 3210 | 0 |
| 20 | 17 | 1753 | 2472 | 790 |
| 100 | 37 | 2375 | 1850 | 2170 |
Ces échantillons de densité attestent des masses naturelles, du vide et de
lextension réelle des grandes tailles. Ils ne mesurent pas toute laire
habitable. Les comptes de blocs, troncs et minerais des régions inspectées
sont des constats locaux avant lintervalle fluide ; ils ne doivent être
extrapolés ni en stocks de l’île entière ni en ressources par joueur.
Le test de persistance utilise l’écriture et la lecture officielles de
Minecraft 26.3-pre-2 dans des dossiers temporaires. Il vérifie les trois clés
de paramètres enregistrées, la graine, **Sanctuary = 20 par défaut**, et un
témoin alpha.9 qui conserve `sanctuary:sanctuary_cavern`. Le smoke pur régional
vérifie le rejet atomique des bassins et groupes, les dépendances de sources,
les limites, les traductions signées et les index de cellules multihauteurs.
Le gel porte sur 267 fichiers de production ; 212 anciens fichiers restent
strictement identiques, huit fichiers de liaison/interface sont modifiés.
Preuves locales ignorées :
- `build/alpha10-check-build-final.log`, puis `build/alpha10-players20-seed0.log`
et `build/alpha10-players100-seed0.log`.
- `mods/sanctuary/build/run/gameTest/diagnostics/population-<capacité>-seed-0-engine.json`
et `population-<capacité>-seed-0-density.json` avec leurs CSV.
- `mods/sanctuary/build/run/gameTest/diagnostics/population-persistence-seed-0/round-trip.json`.
Le JAR, le MRpack et le ZIP damorçage sont vérifiés localement. La publication
et les synchronisations de la même instance Prism sont suivies séparément dans
[Distribution](packwiz.md). Aucun test de cent joueurs simultanés ni garantie
de performances nest annoncé. Les preuves alpha.9 suivantes restent historiques.
## Contrôles et validation alpha.9 — 9 septembre 2026
Les mondes neufs des graines `0`, `42` et `8675309` utilisent les paramètres