Résolu Crash quand je lance une partie spécifique

Faucon Noir

Aventurier
12 Mai 2020
12
1
0
1
24
Hey
J'ai un énorme problème
Hier j'ai voulu fermer mon serveur pour la nuit, mais le pc hôte avait totalement freeze, impossible de faire quoi que ce soit
Du coup je l'éteins manuellement, puis le rallume, parce que pas le choix
Je relance le serveur pour vérifier que ça ne l'as pas impacté, et la le serveur me refuse la connexion
Pour avoir plus d'info, je lance la sauvegarde mais cette fois en solo, après l'avoir mise dans mon dossier .minecraft/saves sur mon pc jeu
Le jeu crash, et cette fois j'ai le log, que je vous met en pj
Il faut vraiment que je rétablisse l'accès à la map, on a passé tellement d'heure dessus.
Le problème c'est que je n'ai pas de sauvegarde pré crash avec la totalité de ce qu'on a loot, car je voulais la faire ce soir, et on a trop de loot pour s'en rappeler (pas loin de 12h passé en explo, a miner, galérer, éviter la lave, etc.)
On ne peut pas la relancer, car on a trouvé des easters egg de la part du dev du datapack, qui sont généré aléatoirement tant qu'il n'ont pas été loot, et on ne veut pas les perdre
Il me faut un max d'aide, je peux vous mettre la map dispo au téléchargement si vous en avez besoin pour comprendre le bug ou la corruption T-T

Mon jeu et le serveur tourne sous Fabric 1.16.4, build 214 (ou 215, mais c'est le même build pour les deux), même mods installés, datapack More Machinery & Features
 

Fichiers joints

Solution
Je vais passer le sujet en résolu
J'ai essayé une technique, qui a plus ou moins marché
Contexte : le fichier donné plus haut est un fichier de claim appartenant au mod Flan, qui permet de protéger une zone
Ce fichier est lié à mon uuid
Technique : J'ai demandé à un admin du serveur de se connecter pour supprimer mon claim, et ainsi me rétablir mon accès au serveur
Ça a plus ou moins fonctionné, mais cette technique peut ne pas marcher
Elle vaut le coup d'être essayé, mais préférez les rollback, chose que je n'ai pas pu faire, mon serveur ne disposant pas de sauvegarde autre que le monde vierge
Je passe le sujet en résolu
Bonsoir,
Vu le crash :
Code:
com.google.gson.JsonSyntaxException: Expected a com.google.gson.JsonObject but was com.google.gson.JsonPrimitive
	at com.google.gson.internal.bind.TypeAdapters$35$1.read(TypeAdapters.java:913)
	at com.google.gson.Gson.fromJson(Gson.java:887)
	at com.google.gson.Gson.fromJson(Gson.java:825)
	at com.flemmli97.flan.player.PlayerClaimData.read(PlayerClaimData.java:241)
Le problème vient d'un fichier json qui est corrompu, géré par le mod "Flan" de flemmli97.
Ce mod est opensource, on peut donc chercher le code lié : https://github.com/Flemmli97/Flan/b...emmli97/flan/player/PlayerClaimData.java#L241

Le fichier corrompu est donc dans le dossier du monde, puis dans le dossier playerdata et ensuite dans le dossier claimData
On sait également que le problème survient lorsque l'entité joueur "Faucon_Noir_" est en train d'être chargé, c'est donc le fichier ef39cc41-75f3-4c4b-bf0e-faf23f25fe38.json qui est corrompu.
Tu peux essayer de le supprimer (enfin plutôt le déplacer en-dehors, afin de garder une copie de ce dernier).
Éventuellement envoie-le moi, peut-être qu'on peut le restaurer.
 
Hey
Je m'y connais absolument pas en java, vraiment désolé :'( (ironique pour quelqu'un en étude d'informatique)
Voila le fichier demandé
Si tu as besoin du dossier complet du monde, je peux te le fournir sans problème, mais il faudra par contre passer par discord pour les autorisations lié à GDrive
Fun Fact, Faucon_Noir_ est le seul à avoir créé un claim, pour éviter les grief au niveau du spawn X)
 

Fichiers joints

C'est pas logique, il fait 9 ko
Admettons
Dans ce cas là, si je le supprime ça me permet de récupérer la totalité de mon monde ? (sans le claim bien entendu)
 
Je ne sais pas ou tu vois 9 ko ??? Moi j'ai 50 octets de caractères vide, donc le fichier est vide. Ouvres-le avec un éditeur de texte, tu verra.
Un fichier json ça ressemble à ça normalement :https://fr.wikipedia.org/wiki/JavaScript_Object_Notation#Exemple

Actuellement c'est le chargement de ce fichier qui est bloquant. Rien ne permet d'affirmer pour le moment qu'il n'y a pas d'autre fichier corrompu.
Retires-le, ouvres ton monde et tu verra bien si c'était le seul (ça chargera) ou pas (recrash ou morceau du monde manquant ou rollback)
 
Je ne sais pas ou tu vois 9 ko ??? Moi j'ai 50 octets de caractères vide, donc le fichier est vide. Ouvres-le avec un éditeur de texte, tu verra.
Un fichier json ça ressemble à ça normalement :https://fr.wikipedia.org/wiki/JavaScript_Object_Notation#Exemple

Actuellement c'est le chargement de ce fichier qui est bloquant. Rien ne permet d'affirmer pour le moment qu'il n'y a pas d'autre fichier corrompu.
Retires-le, ouvres ton monde et tu verra bien si c'était le seul (ça chargera) ou pas (recrash ou morceau du monde manquant ou rollback)
En effet, erreur de ma part
J'ai ouvert le fichier, dedans j'ai ça

{
"ClaimBlocks": 511,
"AdditionalBlocks": 0
}
Je vois pas trop comment ça peut faire crash le monde
Du coup, sans ce fichier, je perd la quasi totalité de mon stuff présent dans mon enderchest et dans mon inventaire
Est il possible de récupérer le stuff en question ?
Et je ne pense pas que ce soit ce fichier qui cause un problème
Je l'ai remis après pour voir et ça n'influe pas sur le monde
Cela peut il venir d'ailleurs ?
 
L'inventaire est sauvegardé dans le fichier <nom du monde>/playerdata/<ton uuid>.dat donc si tu as perdu une partie de ton stuff, c'est que d'autre fichier du monde ont été corrompu. Sans sauvegarde du monde il est malheureusement impossible de les récupérer.
 
L'inventaire est sauvegardé dans le fichier <nom du monde>/playerdata/<ton uuid>.dat donc si tu as perdu une partie de ton stuff, c'est que d'autre fichier du monde ont été corrompu. Sans sauvegarde du monde il est malheureusement impossible de les récupérer.
Je n'aurais pas le temps de tester avant Mercredi, donc je laisse le sujet ouvert pour le moment, également pour voir si d'autre personne aurait une solution
 
Je vais passer le sujet en résolu
J'ai essayé une technique, qui a plus ou moins marché
Contexte : le fichier donné plus haut est un fichier de claim appartenant au mod Flan, qui permet de protéger une zone
Ce fichier est lié à mon uuid
Technique : J'ai demandé à un admin du serveur de se connecter pour supprimer mon claim, et ainsi me rétablir mon accès au serveur
Ça a plus ou moins fonctionné, mais cette technique peut ne pas marcher
Elle vaut le coup d'être essayé, mais préférez les rollback, chose que je n'ai pas pu faire, mon serveur ne disposant pas de sauvegarde autre que le monde vierge
Je passe le sujet en résolu
 
Solution