Debugging

Les logs vous indiquent ce qui ne va pas avec votre serveur, ils sont donc essentiels pour le debugging. Cette page va vous montrer quelques exemples de logging et va tenter de vous expliquer leur signification et comment résoudre les problèmes qu’ils ont mis en évidence.

Checklist

À chaque fois que vous faites face à un crash ou à un warning, vérifiez votre que installation SpongeForge ou SpongeVanilla est correcte. Ici se trouve une courte checklist pour vous aider à vous en sortir. Si vous êtes sûr de savoir comment obtenir les informations requises, jetez un coup d’œil à la page Fichiers Log qui explique comment avoir les réponses à vos questions en dehors des fichiers de log.

  1. Est-ce que Java 8 est installé et Sponge l’utilise ?

Sponge a besoin de Java 8 et va crasher en utilisant Java 7 ou des versions antérieures.

  1. La version recommandée de Forge est elle installée ?

Habituellement, SpongeForge peut fonctionner sur des versions plus récentes ou anciennes de Forge que celle recommandée.Toutefois, ils est fortement recommandé de n’utiliser que la versions recommandée. Si vous faites face à un crash et que vos versions ne correspondent pas, faites les correspondre et réessayez. Si vous n’êtes pas sûr de la version de Forge à utiliser, la réponse sur trouve sur la page Installer SpongeForge

  1. Y’a t-il un autre coremod (en dehors de SpongeForge) d’installé ?

Certains CoreMods modifient Forge d’une manière qui rend impossible de faire fonctionner SpongeForge correctement. Si vous avez des CoreMods installés et que Sponge plante, essayez d’enlever les CoreMods et d’essayer à nouveau. S’il vous plait, reportez n’importe quelle CoreMods incompatible sur GitHub ou sur les Forums Sponge. Ceci permet à l’équipe de résoudre ces problèmes aussi tôt que possible.

  1. Tous les plugins que vous utilisez sont-ils compatibles avec votre version de Sponge ?

L’API Sponge est sujette à changements. Lorsque vous d’utilisez un vieux plugin sur des versions de Sponge récentes et qu’un crash survient, essayez de rétrograder Sponge ou de contacter l’auteur du plugin en question pour qu’il soit à jour. Si vous êtes sur une ancienne version de Sponge et qu’un plugin récent crash, mettez Sponge à jour d’abord. Si ça ne résout pas le problème, contactez le développeur du plugin pour lui demander de corriger le problème.

  1. Séparer un plugin défectueux

Si le problème persiste, essayez de supprimer tous les plugins puis les ajouter un-à-un en redémarrant le serveur à chaque fois.

Si vous ne savez pas vraiment quoi net pourquoi votre serveur crash exactement, regardez dans le crashlog. Plusieurs crashes sont communs et leurs solutions sont listées ci-dessous.

Avertissements Généraux

Une source commune d’erreurs et de bugs est l’incompatibilité soit entre SpongeForge et Forge, soit entre SpongeForge et les plugins. Nous allons tout d’abord regarder l’erreur que Forge donne pour chaque crash:

WARNING: coremods are present:
   SpongeForge (sponge-1.8-1521-2.1DEV-750.jar)
Contact their authors BEFORE contacting forge

Ce n’est ni un bug ni une erreur, c’est juste Forge qui vous dit qu’un coremod (en l’occurrence SpongeForge) est installé. Forge vous conseille donc de contacter les développeurs de Sponge avant de demander de l’aide à Forge. Vous n’avez rien à craindre.

Exceptions Communes

Ici sont quelques exceptions communes et quelques raisons que vous devriez rencontrer.

Note

Si vous rencontrez un crash, une erreur ou tout autre malfonctionnement qui n’est pas listé ici, veuillez le faire savoir sur les Forums Sponge ou sur GitHub. Vous aiderez tous ceux qui ont rencontré la même erreur.

Forge et SpongeForge ne correspondent pas

[12:59:21] [main/ERROR] [mixin/]: @Mixin target net.minecraftforge.event.world.BlockEvent$NeighborNotifyEvent was not found mixins.forge.core.json:event.block.MixinEventNotifyNeighborBlock

C’est un crash commun qui intervient quand vous tentez d’utiliser une version de SpongeForge avec une mauvaise version de Forge. Notez que la cible/Mixins peut varier. Il faut toujours que Forge et SpongeForge correspondent ! Si vous n’êtes pas sûr de la version de Forge recommandée et que vous avez déjà SpongeForge, les instructions se trouvent sur la page Installer SpongeForge

Autres erreurs communes

Caused by: java.lang.ClassNotFoundException: org.spongepowered.api.event.state.ServerStartedEvent
Caused by: java.lang.NullPointerException

Cette première erreur indique qu’une Class est manquante, la seconde est une NullPointer Exception qui signifie que le plugin que vous tentez d’utiliser dépends de paramètres manquants. C’est ce qui peut se passer en essayant de faire fonctionner un ancien plugin sur un SpongeForge ou SpongeVanilla récent et vice versa.

java.lang.AbstractMethodError: net.minecraft.entity.player.EntityPlayerMP.getTabList()Lorg/spongepowered/api/entity/living/player/tab/TabList;
at (...)

Une AbstractMethodError apparaît quand un plugin tente de faire appel à une méthode qui n’est pas encore implémentée. Veuillez vérifier si vous utilisez la toute dernière version de Sponge disponible, si ce n’est pas le cas, mettez Sponge à jour. Si le problème persiste, reportez le problème sur l’Issuetracker officiel, sur les forums ou sur l’IRC. Vous pouvez également demander à ce que l’implémentation manquant soit rajoutée.

[Server thread/INFO]: Starting minecraft server version 1.8
[Server thread/ERROR]: Encountered an unexpected exception
java.lang.NoClassDefFoundError: org/spongepowered/api/event/game/state/GameStartingServerEvent

Note

Vous pouvez lire le crashlog complet ici: SpongeForge 575 crashlog with a plugin built against build 750

Une NoClassDefFoundError se produit lorsqu’un plugin essaye d’accéder à une class qui n’est pas dans le classpath. Ce qui peut se passer quand l’API a été ajustée ou refactorisée et que vous essayez de faire tourner une ancien plugin sur une version récente de Sponge et vice versa. Essayez toujours d’utiliser la version correcte ! Demandez au développeur du plugin quelle version de Sponge il a utilisé pour développer son plugin ou essayez de mettre à jour/rétrograder SpongeForge ou SpongeVanilla pour résoudre cette erreur.