Tags
Creators
Details
0.3.37.21-BETA
Compatibility
Changes
OmniGen 0.3.37.21
Une version de correction, centrée sur deux choses : les serveurs qui tombaient, et l'ondulation du terrain lointain.
đŽ Crashs serveur â trois causes, toutes corrigĂ©es
Si vous hébergez un serveur, c'est la partie qui compte. Trois défauts distincts pouvaient bloquer un tick pendant 60 secondes, ce que Minecraft interprÚte comme un plantage : il coupe alors le serveur.
Un joueur qui arrive faisait tomber le serveur. Ă la connexion, le client annonce les chunks qu'il possĂšde dĂ©jĂ . Ce traitement s'exĂ©cutait sur le thread principal et Ă©tait proportionnel Ă sa mĂ©moire â chez un joueur avec une grande carte, plus d'un million et demi de chunks Ă traiter d'un coup. DĂ©placĂ© sur un fil dĂ©diĂ©, et son coĂ»t par chunk divisĂ©.
Une file d'envoi sans limite réelle. Un budget censé envoyer 8 chunks par tick comptait les réussites, pas les tentatives : dÚs qu'un envoi échouait, la boucle continuait et pouvait vider les 4096 chunks de la file dans un seul tick. Le compteur porte maintenant sur le travail effectué.
Un inventaire annoncĂ© trop tĂŽt. Le client dĂ©clarait ce qu'il possĂšde avant d'avoir fini de relire son cache disque â il annonçait 53 000 chunks alors qu'il en avait 1 570 000. Le serveur croyait devoir tout renvoyer et dĂ©clenchait les deux dĂ©fauts ci-dessus. Il attend dĂ©sormais la fin de la relecture.
â ïž Ces trois dĂ©fauts ne se dĂ©clenchaient que pour un joueur Ă qui il manque des donnĂ©es â c'est-Ă -dire un nouvel arrivant. Un serveur pouvait donc tourner des semaines sans problĂšme et tomber le jour de son ouverture.
đ L'ondulation du terrain lointain
Le terrain lointain semblait avancer et reculer Ă chaque pas, comme un Ă©cran qui se dĂ©roule. La cause est identifiĂ©e : l'oscillation de vue de Minecraft â le balancement de la camĂ©ra quand on marche â n'Ă©tait pas transmise au terrain lointain. Le monde proche tanguait, le lointain restait immobile, et Ă cinq cents mĂštres ce dĂ©calage devient des dizaines de blocs.
Transmettre correctement ce balancement au terrain lointain n'est pas encore résolu. En attendant, OmniGen désactive l'oscillation de vue et affiche un message pour vous le dire.
Vous perdez le balancement de la marche, y compris celui de votre main. En Ă©change, l'horizon est stable. Le verrou se retire dans Options OmniGen â AvancĂ© â « Verrou oscillation », et votre rĂ©glage d'origine est restaurĂ©.
đł Trous dans l'horizon
Une bande entiÚre de terrain, entre 80 et 360 chunks, n'était dessinée par personne : ces régions étaient écartées parce qu'elles n'avaient pas de maillage, et cette décision intervenait avant le code qui en aurait construit un. Elles ne pouvaient donc jamais en obtenir. Mesuré : jusqu'à 1531 régions absentes en permanence.
Un second dĂ©faut du mĂȘme genre laissait un anneau de 56 chunks au bord de l'horizon oĂč aucun regroupement n'Ă©tait jamais construit â les deux Ă©tages du rendu ne s'arrĂȘtaient pas Ă la mĂȘme distance.
âïž RĂ©glages
« Horizon LOD auto » est dĂ©sormais dĂ©sactivĂ©. Ce rĂ©gulateur faisait varier la distance d'affichage selon les performances : il montait de 8 chunks toutes les trois secondes puis retombait d'un coup â soit un horizon qui avance de 768 blocs puis recule de 480, en boucle. Il est Ă©teint chez tout le monde au premier lancement, avec un message dans le journal. RĂ©activable si vous y tenez.
Le bouton « LOD » coupe enfin tout le terrain lointain. Il ne coupait en réalité qu'une moitié du rendu. Le bouton « Textures » s'appelle maintenant « Voxel » : ce n'était pas une option cosmétique mais l'interrupteur principal du rendu détaillé.
La peinture (l'ancien rendu lointain) est désactivable. Elle tournait en permanence à cÎté du rendu voxel, sans interrupteur, et coupait au passage la sauvegarde du cache et la prégénération. Ces systÚmes sont maintenant indépendants.
Nouveau bouton « â PrĂ©rĂ©glage sĂ»r » dans les options avancĂ©es : il pose les 39 rĂ©glages dans un Ă©tat complet et connu, en un clic. Utile quand on a testĂ© beaucoup de choses et qu'on ne sait plus oĂč on en est.
Apparition en vague : Ă la connexion, le terrain lointain se dĂ©voile du centre vers l'horizon en une dizaine de secondes. En plus d'ĂȘtre plus agrĂ©able, cela Ă©tale le travail de construction et supprime l'Ă -coup de l'arrivĂ©e.
đ Remerciements
L'ondulation Ă©tait traquĂ©e depuis onze jours. C'est une observation d'un joueur qui l'a dĂ©busquĂ©e : le nom d'un point de repĂšre affichĂ© en jeu faisait le yoyo exactement au mĂȘme rythme que le terrain. Un repĂšre n'a ni gĂ©omĂ©trie, ni cache, ni niveau de dĂ©tail â il n'a qu'une matrice de camĂ©ra. Cette seule remarque a Ă©liminĂ© onze jours de fausses pistes.
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle. To learn more about the Modrinth Maven API, click here.
Note: When available, you should use the creator's maven repo instead as it will have transitive dependency information that the Modrinth Maven API does not. You may also end up with duplicate dependencies if you use a mix of Modrinth and non-Modrinth Maven repositories for your dependencies, because the group identifier will be different when served through the Modrinth Maven API.
Maven coordinates:
Version ID:
build.gradle:
repositories {
exclusiveContent {
forRepository {
maven {
name = "Modrinth"
url = "https://api.modrinth.com/maven"
}
}
// forRepositories(fg.repository) // Uncomment when using ForgeGradle
filter {
includeGroup "maven.modrinth"
}
}
}
// Standard Gradle dependency
dependencies {
implementation "maven.modrinth:CCiGFtRi:YdBr9GgN"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:CCiGFtRi:YdBr9GgN"
}

