2 votes

Exécuter un serveur Minecraft Forge sous Windows produit une sortie de journalisation brouillée

Je suis en train de mettre en place un petit serveur Minecraft personnel sur mon ordinateur Windows 10. J'ai essayé de faire fonctionner le serveur à la fois dans Powershell et dans l'Invite de commandes (cmd), mais les deux produisent une sortie comme celle-ci :

Sortie Forge confus

C'est difficile à lire et comme le caractère de l'invite est [m, cela rend également difficile la lecture des commandes d'entrée.

Pour quelque raison, lorsque je lance le jar du serveur Minecraft classique, la sortie est bonne :

Sortie classique, non confus

Comment puis-je corriger cela pour que je puisse exécuter Forge et avoir une sortie de terminal lisible en utilisant nogui ?

0 votes

N'hésitez pas à aider à rendre cela et la réponse plus claire et plus accessible, mais j'ai passé environ 4 heures à traquer ce problème et ce n'est documenté nulle part et je ne veux pas qu'une autre personne, surtout quelqu'un ayant moins de connaissances techniques que moi, traverse cela.

1 votes

Techniquement, cela pourrait être hors sujet ici en tant que "support technique pour Minecraft modifié", mais étant donné que vous avez déjà trouvé la solution, la raison pour laquelle le support technique pour Minecraft modifié est hors sujet (qu'il peut y avoir des millions de raisons possibles, toutes dépendant de la combinaison de tous les mods et généralement très difficile à déboguer) ne s'applique pas ici, donc cela devrait rester ouvert. Juste une suggestion : Vous devriez copier une partie de la sortie ici, afin que les personnes recherchant la partie au début de la ligne trouvent ceci.

0 votes

superuser.com/a/1300251/55304 montre comment activer le support des échappements de couleurs ANSI dans cmd.exe.

4voto

Consus Points 876

Minecraft Forge ajoute un journalisation codée en couleur à la sortie du serveur, pour mieux distinguer les différents niveaux d'avertissement. Malheureusement, il utilise ce que l'on appelle des séquences d'échappement de couleur ANSI pour le faire, que certains terminaux ne prennent pas en charge.

Heureusement, Windows prend en charge cela (en théorie, parfois), mais malheureusement, il n'est pas évident de l'activer et il n'y a pas d'option évidente dans les paramètres pour le faire.

Avec Forge, il n'y a pas (de manière évidente, bien documentée) de moyen de désactiver ce comportement en tant que drapeau de ligne de commande, mais vous pouvez au moins le réparer pour que Powershell affiche les couleurs. Il existe plusieurs façons de résoudre ce problème, consultez cette réponse Stack Overflow pour un explication complète, mais la méthode la plus simple et la moins risquée pour résoudre cela est de modifier votre script serveur Powershell comme suit:

java -jar -Xmx8G -Xms512M -d64 .\forge-1.14.4-28.1.111.jar -nogui | Out-Host

Cela envoie simplement la sortie à travers un wrapper qui reconnaît le codage couleur. Vous pouvez également modifier le registre pour que cela fonctionne de manière permanente, suivez la réponse liée ci-dessus pour plus d'informations. Ne le faites pas si vous n'êtes pas à l'aise avec l'utilisation de regedit, car il existe un risque de perturber votre installation de Windows si cela est fait incorrectement. Cependant, si vous souhaitez exécuter un serveur Forge à partir de l'invite de commande (cmd) au lieu de Powershell, vous devez effectuer la méthode du registre (à ma connaissance), car cmd ne prend pas en charge le transfert et Out-Host est une construction spécifique à Powershell.

Notez qu'avec le codage couleur activé, si vous interrompez le serveur dans Powershell sans le laisser se terminer normalement avec stop (par exemple, si vous l'arrêtez avec Ctrl+C), vous verrez que tout est coloré de la même manière que le message de journal le plus récent. C'est simplement parce que vous avez interrompu le programme avant qu'il ne puisse réinitialiser la couleur à la couleur de votre terminal. Ce n'est pas destructeur, il vous suffit de redémarrer Powershell et tout reviendra à la normale.

1 votes

Vous devriez cocher votre réponse afin que tout le monde sache que le problème est résolu. Rien de mal à répondre à son propre message. Est-ce de chez Zoetrope studios ? Merci pour ces informations indispensables. Paix.

1 votes

@vssher Je le ferai, vous devez attendre 2 jours avant d'accepter votre propre réponse

AlleGamers.com

AlleGamers est une communauté de gamers qui cherche à élargir la connaissance des jeux vidéo.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X