Impossibilité à lancer le serveur sous Thermos



  • Bonsoir,

    Je me tourne aujourd'hui vers vous, communauté de Minecraft-Forge-France du fait d'une impossibilité du lancement de mon serveur Minecraft sous Thermos. Je vais vous expliquer en détail la chose.

    Donc aujourd'hui, j'ai décidé de recommencer à zéro mon VPS afin de supprimer toutes choses négatives n'ayants rien à faire dessus. J'ai donc réussi. J'ai par la suite installé le panel MultiCraft (avec une licence), et j'ai réussi (après de nombreuses tentatives, ce tutoriel m'a permit de réussir). Par la suite, j'ai donc installé Thermos en insérant la version 1.7.10 - 1558 dans le dossier "jar" de MultiCraft en plus des librairies, du build 58 (ALPHA). Une fois ceci fait, je configure la commande de lancement du serveur afin qu'elle soit "{JAVA}" -Xmx{MAX_MEMORY}M -Xms{START_MEMORY}M -jar "{JAR}" nogui. J'eu bien essayé dans une tentative passée la commande fournie par le tutoriel de Thermos, mais celle-ci ne fonctionnait pas du tout, j'ai donc laissé celle par défaut de MultiCraft. Néanmoins, lorsque je lance le serveur depuis le panel MultiCraft, des erreurs apparaissent puis le serveur crash.

    Je vous fournis ci-joint à ce sujet, les fichiers textes des derniers logs en plus du rapport de crash. J'ai pour ma part repéré dans les erreurs des logs :
    Dans le fichier "fml-server-latest" et "latest" :

    The state engine was in incorrect state SERVER_STARTING and forced into state SERVER_STOPPED. Errors may have been discarded.
    

    Bien que je ne pense pas que cela soit une cause du crash, sauriez-vous ce que cela signifie et que s'il s'agit d'une erreur, comment la régler ?

    Dans le fichier "latest" :

    [00:06:48] [Server thread/ERROR]: Encountered an unexpected exception
    java.lang.NoClassDefFoundError: com/koloboke/collect/map/LongObjMap
    at net.minecraft.world.gen.ChunkProviderServer.<init>(ChunkProviderServer.java:99) ~[ms.class:?]
    at net.minecraft.world.WorldServer.func_72970_h(WorldServer.java:905) ~[mt.class:?]
    at net.minecraft.world.World.<init>(World.java:453) ~[ahb.class:?]
    at net.minecraft.world.WorldServer.<init>(WorldServer.java:162) ~[mt.class:?]
    at net.minecraft.server.MinecraftServer.func_71247_a(MinecraftServer.java:375) ~[MinecraftServer.class:?]
    at net.minecraft.server.dedicated.DedicatedServer.func_71197_b(DedicatedServer.java:337) ~[lt.class:?]
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:643) [MinecraftServer.class:?]
    at java.lang.Thread.run(Thread.java:745) [?:1.7.0_111]
    Caused by: java.lang.ClassNotFoundException: com.koloboke.collect.map.LongObjMap
    at net.minecraft.launchwrapper.LaunchClassLoader.findClass(LaunchClassLoader.java:191) ~[launchwrapper-1.12.jar:?]
    at java.lang.ClassLoader.loadClass(ClassLoader.java:425) ~[?:1.7.0_111]
    at java.lang.ClassLoader.loadClass(ClassLoader.java:358) ~[?:1.7.0_111]
    … 8 more
    Caused by: java.lang.UnsupportedClassVersionError: com/koloboke/collect/map/LongObjMap : Unsupported major.minor version 52.0
    at java.lang.ClassLoader.defineClass1(Native Method) ~[?:1.7.0_111]
    at java.lang.ClassLoader.defineClass(ClassLoader.java:803) ~[?:1.7.0_111]
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) ~[?:1.7.0_111]
    at net.minecraft.launchwrapper.LaunchClassLoader.findClass(LaunchClassLoader.java:182) ~[launchwrapper-1.12.jar:?]
    at java.lang.ClassLoader.loadClass(ClassLoader.java:425) ~[?:1.7.0_111]
    at java.lang.ClassLoader.loadClass(ClassLoader.java:358) ~[?:1.7.0_111]
    … 8 more
    [00:06:48] [Server thread/ERROR]: Cause of unexpected exception was
    java.lang.ClassNotFoundException: com.koloboke.collect.map.LongObjMap
    at net.minecraft.launchwrapper.LaunchClassLoader.findClass(LaunchClassLoader.java:191) ~[launchwrapper-1.12.jar:?]
    at java.lang.ClassLoader.loadClass(ClassLoader.java:425) ~[?:1.7.0_111]
    at java.lang.ClassLoader.loadClass(ClassLoader.java:358) ~[?:1.7.0_111]
    at net.minecraft.world.gen.ChunkProviderServer.<init>(ChunkProviderServer.java:99) ~[ms.class:?]
    at net.minecraft.world.WorldServer.func_72970_h(WorldServer.java:905) ~[mt.class:?]
    at net.minecraft.world.World.<init>(World.java:453) ~[ahb.class:?]
    at net.minecraft.world.WorldServer.<init>(WorldServer.java:162) ~[mt.class:?]
    at net.minecraft.server.MinecraftServer.func_71247_a(MinecraftServer.java:375) ~[MinecraftServer.class:?]
    at net.minecraft.server.dedicated.DedicatedServer.func_71197_b(DedicatedServer.java:337) ~[lt.class:?]
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:643) [MinecraftServer.class:?]
    at java.lang.Thread.run(Thread.java:745) [?:1.7.0_111]
    Caused by: java.lang.UnsupportedClassVersionError: com/koloboke/collect/map/LongObjMap : Unsupported major.minor version 52.0
    at java.lang.ClassLoader.defineClass1(Native Method) ~[?:1.7.0_111]
    at java.lang.ClassLoader.defineClass(ClassLoader.java:803) ~[?:1.7.0_111]
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) ~[?:1.7.0_111]
    at net.minecraft.launchwrapper.LaunchClassLoader.findClass(LaunchClassLoader.java:182) ~[launchwrapper-1.12.jar:?]
    … 10 more
    

    Je pense que ceci est la cause du crash. Je n'y comprends malheureusement rien...

    On retrouve d'ailleurs les logs du fichier "latest" dans le fichier rapport de crash :

    java.lang.NoClassDefFoundError: com/koloboke/collect/map/LongObjMap
    at net.minecraft.world.gen.ChunkProviderServer.<init>(ChunkProviderServer.java:99)
    at net.minecraft.world.WorldServer.func_72970_h(WorldServer.java:905)
    at net.minecraft.world.World.<init>(World.java:453)
    at net.minecraft.world.WorldServer.<init>(WorldServer.java:162)
    at net.minecraft.server.MinecraftServer.func_71247_a(MinecraftServer.java:375)
    at net.minecraft.server.dedicated.DedicatedServer.func_71197_b(DedicatedServer.java:337)
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:643)
    at java.lang.Thread.run(Thread.java:745)
    Caused by: java.lang.ClassNotFoundException: com.koloboke.collect.map.LongObjMap
    at net.minecraft.launchwrapper.LaunchClassLoader.findClass(LaunchClassLoader.java:191)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
    ... 8 more
    Caused by: java.lang.UnsupportedClassVersionError: com/koloboke/collect/map/LongObjMap : Unsupported major.minor version 52.0
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClass(ClassLoader.java:803)
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
    at net.minecraft.launchwrapper.LaunchClassLoader.findClass(LaunchClassLoader.java:182)
    ... 10 more
    

    Par ailleurs, sachez que vu que je viens de remettre à zéro le VPS, le serveur ne contient aucun plugin, ni mod. J'ai néanmoins un peu configurer les fichiers comme "bukkit.yml", "spigot.yml", etc. en m'aidant de leurs explications sur internet ou directement depuis les fichiers (je n'ai pas modifié n'importe quoi au hasard hein).

    Pour finir en rapport avec Thermos, j'ai bien installé la version 1.7.10 - 1558 sur le serveur mais quand je regarde aux logs, cela m'indique la version de FORGE 1664. Pensez-vous que le développeur a commit une erreur dans ses liens sur son GITHUB ou est-ce que cela est normal ?

    Donc, si quelqu'un saurait m'aider, je vous écoute et vous remercie d'avance !

    Cordialement,
    Sakashi</init></init></init></init></init></init></init></init></init>


  • Administrateurs

    Salut,
    Visiblement une bibliothèque est manquante.
    Où as-tu extrais le fichier libraries.zip ?

    Vérifies que tu as bien un dossier com puis koloboke dans le dossier libraries du serveur.



  • Comme je l'ai dis, j'ai extrais le librairies.zip dans le dossier "jar" de MultiCraft, avec le .jar de Thermos. J'avais essayé en mettant directement les librairies dans les dossiers du serveur mais ceci ne fonctionnait pas directement. Vu que j'ai indiqué à MultiCraft de récupérer le .jar depuis le dossier "jar", je penses qu'il en va de même pour les librairies.

    Pour ce qu'il est du contenu du dossier "librairies", il contient les sous-dossiers :

    • com
    • commons-codec
    • commons-lang
    • commons-logging
    • java3d
    • javax
    • jline
    • lzma
    • mysql
    • net
    • org
    • pw

    Il n'y a donc pas le dossier "koloboke" dont tu parlais. Néanmoins, je préfère signaler qu'avant la remise à zéro du VPS, il n'y avait déjà pas ce dossier dans les librairies (je viens de vérifier dans la sauvegarde que j'ai fais) et pourtant, le serveur s'allumait bien (bon avec des lags, etc. d'après les joueurs de la pré-alpha).


  • Administrateurs

    Le dossier koloboke est normalement dans le dossier com qui est dans le dossier libraries.
    D'où mon "puis".

    Juste une question concernant multicraft, les fichiers servers.properties, ops.jsons, etc … se trouvent où ? Aussi dans le dossier jar ?



  • Ah je n'avais pas compris ça comme ça. ^^' Donc oui, le dossier "koloboke" est bien dans le dossier "com".

    Pour ce qu'il est de ta question, non. Pour tout ce qui est serveur (or le .jar qui peut être configuré dans trois destinations), c'est dans un dossier "/home/minecraft/multicraft/servers/(nom de ton serveur)*".

    • (nom de ton serveur) car il se peut que quelqu'un utilise MultiCraft pour plusieurs serveurs, donc il donnera un nom pour chaque dossier de ses serveurs. Sinon, ce sera le nom par défaut : server1/2/3/4/5/etc. Dans mon cas, je n'ai qu'un serveur et j'ai nommé son dossier "survivalz" pour faire simple.

  • Administrateurs

    Normalement ton dossier libraries devrait être placé dans le dossier /home/minecraft/multicraft/servers/(nom de ton serveur) alors et non dans le dossier jar.

    Sinon il faudrait comparer avec une installation de forge pour être sûr.



  • Quand ça m'arrivait anciennement (Plus thermos FULL MODS !) je supprimais tout thermos + réinstalle dans un coin sans aucun mod (je lançais si ça marchait je mettait avec tout (mod ect…))



  • @'robin4002':

    Normalement ton dossier libraries devrait être placé dans le dossier /home/minecraft/multicraft/servers/(nom de ton serveur) alors et non dans le dossier jar.

    Sinon il faudrait comparer avec une installation de forge pour être sûr.

    J'ai essayé plusieurs solutions :

    • Placer le Thermos.jar ainsi que le dossier librairies dans le dossier "/home/minecraft/multicraft/jar", ça ne marche pas.
    • Placer le Thermos.jar dans le dossier "/home/minecraft/multicraft/jar" puis le dossier librairies dans le dossier "/home/minecraft/multicraft/servers/survivalz" comme tu m'as conseillé, ça ne marche pas.
    • Placer le Thermos.jar ainsi que le dossier libraries dans le dossier "/home/minecraft/multicraft/servers/survivalz", ça ne marche pas.

    Aucune des solutions n'a donc fonctionné… Une autre idée ? 😕

    @'moscaphone421':

    Quand ça m'arrivait anciennement (Plus thermos FULL MODS !) je supprimais tout thermos + réinstalle dans un coin sans aucun mod (je lançais si ça marchait je mettait avec tout (mod ect…))

    Sauf que comme je l'ai dis, il n'y a aucun mod ni plugin d'installé. 🙂

    J'ai aussi essayé avec la version 1.7.10 - 1614 de Thermos, et ça ne fonctionne pas non plus. Alors que cette dernière fonctionnait très bien auparavant avant le reset du VPS. Les logs du crash sont les mêmes j'ai l'impression, je les joint à ce message.

    Par ailleurs, je me demande si le problème du crash ne serait pas en rapport avec la commande de lancement du serveur. Sur le tutoriel d'installation de Thermos, il parle d'une commande en particulier mais l'ayant déjà testé par le passée, elle ne fonctionnait pas du tout. Avez-vous une idée ?


  • Administrateurs

    Un simple java -Xmx1G -jar <nom du="" fichier="" de="" thermos="">.jar est suffisant.
    Le problème ne vient pas de la commande mais du fait qu'il ne trouve pas les bibliothèques.</nom>



  • La commande exécutée pour lancer le serveur est la suivante : "{JAVA}" -Xmx{MAX_MEMORY}M -Xms{START_MEMORY}M -jar "{JAR}" nogui

    Si j'insère à la place du "{JAR}", le nom du fichier .jar de Thermos, il ne détecte pas le fichier. Je laisse donc la fonction par défaut, lui permettant ainsi de bien le détecter.

    J'ai aussi essayé de reprendre la configuration de lancement de la sauvegarde que j'ai fais où tout fonctionnait comme il faut, mais ça ne fonctionne pas non plus…


  • Administrateurs

    Essaies de lancer le serveur sans passer par ton panel sinon.



  • Je viens d'essayer de lancer le serveur depuis la console SSH, et il crash aussi. 😕

    Je joint le rapport de crash à ce message.


  • Administrateurs

    Sérieusement x)
    Bon, on tourne en rond depuis hier car je n'ai pas lu le problème correctement …

    Le problème ne vient pas du fait qu'il ne trouve pas les bibliothèques, mais du fait qu'une des bibliothèques ne peut pas être chargés car elle a besoin de Java 8 :
    Caused by: java.lang.UnsupportedClassVersionError: com/koloboke/collect/map/LongObjMap : Unsupported major.minor version 52.0



  • Hum… Java 7 est installé il me semble sur le VPS. J'ai fais de longues recherches pour installer Java 8 sous un VPS Débian 8 mais je n'ai rien trouvé... La version installée sur le VPS est la "1.7.0_111" (64 bits).


  • Administrateurs

    http://www.webupd8.org/2014/03/how-to-install-oracle-java-8-in-debian.html

    Debian 8 avec un kernel Linux 2.6.32 ? ça me parait étrange.
    Mon serveur sous Debian 8 a Linux 3.16.36



  • Je t'ai simplement dis ce que me donne la commande "java -version" ^^'. Je dois donc suivre ce tutoriel (le lien que tu as donné) pour installer JAVA 8 ? Et comment désinstaller l'ancienne version que j'ai donc ?


  • Administrateurs

    Le rapport de crash indique déjà la version de Java, donc je savais déjà que as 1.7.0_111.
    Normalement c'est apt-get remove openjdk-7-jre



  • D'accord, je te remercie. Je verrais tout cela ce soir, je dois partir là ! Bonne journée à toi, je te redirais si ça fonctionne. 😉



  • J'ai donc testé ta commande pour supprimer Java 7 (apt-get remove openjdk-7-jre). Mais quand je fais la commande java ou java -version, cela fonctionne encore. Java n'est donc pas désinstallé. Es tu sur qu'il s'agisse de la bonne commande pour désinstaller Java 7 ?

    EDIT : Par ailleurs, en refaisant la commande, ça me dit que "openjsk-7-jre" n'existe pas et m'affiche ça :

    Et pourtant, les commandes "java" ou "java -version" fonctionnent encore… 😕


  • Administrateurs

    Tu as peut-être le jdk ?
    apt-get remove openjdk-7-jdk

    Sinon utilises "dpkg –list | grep java" pour avoir tous les paquets installés en rapport avec Java.