Problème de detection de crash sur erreur sevère

Bonsoir,

Je rencontre parfois ce genre d’erreur sur mon serveur FTB :

(Extrait du log serveur correspondant en fin de post)

Cet erreur ne m’ennuie pas trop en vérité par contre votre interface web elle ne détecte rien. Car en vérité le serveur est bien sur crashé et inaccessible "can’t reach server (et nécessite un simple redémarrage). Par contre il apparait comme démarré et disponible sur l’interface web.

Donc ma question est la suivante : pourquoi ce crash serveur n’est il pas correctement détecté ; peux être une petite modif est elle nécessaire dans le script web. Je ne sais pas comment est codé votre détection de la disponibilité du serveur mais cet incident semble y échapper.

LOG SERVEUR :

2013-03-03 20:39:09 [INFO] [Rcon: Saved the world]
2013-03-03 20:46:42 [SEVERE] Encountered an unexpected exception NullPointerException
java.lang.NullPointerException
at ic2.advancedmachines.common.TileEntityAdvancedMachine.operate(TileEntityAdvancedMachine.java:210)
at ic2.advancedmachines.common.TileEntityAdvancedMachine.g(TileEntityAdvancedMachine.java:96)
at xe.h(World.java:2020)
at ie.h(WorldServer.java:463)
at net.minecraft.server.MinecraftServer.r(MinecraftServer.java:649)
at hg.r(DedicatedServer.java:241)
at net.minecraft.server.MinecraftServer.q(MinecraftServer.java:585)
at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:492)
at fp.run(SourceFile:818)
2013-03-03 20:46:42 [SEVERE] This crash report has been saved to: /home/a582013012516054376/25847/./crash-reports/crash-2013-03-03_20.46.42-server.txt

Vous l’avez très bien compris. Il existe bel et bien un script de détection de crash serveur. Le problème est que certaines erreurs (contrairement à celle que vous décrivez) n’entrainent pas forcément un crash serveur. Nous sommes ici confrontés à un réel dilemme. Doit-on éteindre les serveurs qui ont des erreurs ? Mais si ces erreurs n’empêchent pas le serveur de fonctionner ?
Notre script est en réalité assez souple en effet. Pour le moment nous préférons donner la plus grande chance au serveur de pouvoir s’exécuter malgré des erreurs. Nous préférons en réalité avoir des faux positifs (laisser tourner un serveur qui est en réalité est crashé) que des faux négatif (éteindre un serveur qui, malgré les erreurs, pourrait fonctionner)