Problem mit Minecraftserver auf vServer Jupiter Light /Linux Debian Lenny 64bit

  • Ich habe ein großes Problem mit dem installieren eines
    Minecraft Bukkit Servers auf meinem vServer Jupiter Light.


    Der Server hat 8GHz Prozessorleistung und mindestens 4GB
    RAM, dh die Leistung müsste für meine Ansprüche mehr als genügen.
    Betriebssystem ist Linux Debian Lenny 64bit.


    Der Server startet ganz normal (ich starte ihn mit 3072MB RAM) und es läuft auch alles rund
    bis zu dem Zeitpunkt wenn etwa 12 Leute oder mehr drauf sind. Von diesem
    Zeitpunkt an stürzt der Server ohne jeglichen erkennbaren Grund einfach ab. Ich
    habe auch ziemlich viele Plugins drauf, aber das merkwürdige ist, dass sich
    keine einzige Fehlermeldung in den Logdateien findet, weder vom Minecraftserver
    noch auf Systemebene.


    Ich vermute, dass es eventuell an Java liegen könnte, da
    sich die Installation sehr schwierig gestaltet hat, weil keine jre6 mit apt-get
    herunterladbar ist und ich es auch nicht auf anderen Wegen geschafft habe eine
    zu installieren.


    So habe ich die jdk7 (enthält natürlich auch eine jre) per
    heruntergeladen:


    wget http://download.oracle.com/otn…/7/jdk-7-linux-x64.tar.gz



    tarzxvf jdk-7-linux-x64.tar.gz -C /usr/lib64/jvm/


    update-alternatives --install/usr/bin/javajava /usr/lib/jvm/jdk1.7.0/bin/java1065


    update-alternatives --install/usr/bin/javacjavac /usr/lib/jvm/jdk1.7.0/bin/javac1065


    siehe: Installing Java 7 on Debian



    Ich möchte noch erwähnen dass man mit dem Kommando top bei
    den Prozessorauslastungswerten sieht, dass die Auslastung weit über 100% liegt,
    sie ging teilweise auf über 600%, ich gehe jetzt aber mittlerweile davon aus,
    dass dieses Kommando irgendwie hier nicht funktioniert, da es unlogisch wäre,
    wenn ein kaum besetzter Minecraft Server 48 GHZ verbrauchen würde.
    RAM ist übrigens auch nach den Messungen eines Plugins immer völlig unbelastet, auch das VCP zeigt da eigentlich immer grün und mit top sieht man ebenfalls keine großartige Auslastung.


    Durch normales Suchen im Internet habe ich leider keine
    Lösung gefunden.


    Ich würde mich über Lösungsvorschläge oder Lösungshilfen
    freuen! Vielen Dank dafür schon im Voraus.


    Falls ihr für die Problembehandlung sonst noch etwas wissen müsst sagt es mir
    bitte.

  • Guck mal nach deinen Plugins. Ich habe einen Bukkit-MC Server auf 1.2.4 mit dem vS Saturn Light Server. Das sind so durchschnittlich 20-40 Spieler online. Habe so 20-30 Plugins. Trotz dessen läuft der Server noch mit perfekter Performance. Habe so mit dem Kommando "top" 300% Auslastung.
    Manche Plugins sind einfach komisch. Hatte das auch schon oft, das der Server ohne wirklichen Grund abgestürtz ist. An Java liegt es wahrscheinlich auch nicht.


    Also: Plugins überprüfen.


    Viel Glück!

  • Erstmal vielen Dank für eure schnellen Antworten!



    "Nutzt Du das neue Recommended Build von Bukkit?" Ja, dass nutze ich.


    "Deaktiviere mal alle Plugins und teste das dann noch mal. Kann sein das da ein Plugin Amok läuft."
    "Guck mal nach deinen Plugins"


    Ich habe das ganze jetzt auch mal komplett ohne Plugins getestet, da ist der Server auch abgestürzt, heute sogar bei 10 Leuten.
    Es kommt jetzt interressanterweise eine andere Meldung (vl hab ich die davor auch übersehen) nämlich "Connection Reset".
    Kann mir einer erklären was das bedeutet? Ich bin mir nicht sicher ob das normal ist.


    "Einziger Unterschied: Habe bei mir Java mit den Non-Free Debian Quellen installiert und Java 6 drauf."
    Wie genau hast du das gemacht? Ich hab auch schon nach java6 versionen im Internet gesucht, hab aber nichts gefunden bei dem der Download geklappt hätte.


    Außerdem frage ich mich, ob es vl sinnvoll wäre alternativ debian squeeze zu installieren, da dies ja die neuer Version ist.
    Kann mir da einer einen Rat geben?

  • Hm "Connection Reset" deutet darauf hin das irgendwas nicht stimmt :P ( übs,,: "Verbindung Zurückgesetzt"; Deutet daraufhin, dass der komplette Server gestoppt wurde. )
    Ne, Spaß beiseite. Versuche einmal einfach einen komplett neuen Server zu erstellen. Wenn das Problem weiterhin auftritt gibt es ein wirkliches Problem.


    Plugins rausmachen nützt nichts, da in der craftbukkit.jar auch die Datenbank, soweit ich weiß gespeichert wird. Diese kann auch zu abstürtzen führen.
    Also: Einfach mal nen Roh-Server auflegen. Mal sehen, was passiert!

  • Hm "Connection Reset" deutet darauf hin das irgendwas nicht stimmt :P ( übs,,: "Verbindung Zurückgesetzt"; Deutet daraufhin, dass der komplette Server gestoppt wurde. )
    Ne, Spaß beiseite. Versuche einmal einfach einen komplett neuen Server zu erstellen. Wenn das Problem weiterhin auftritt gibt es ein wirkliches Problem.


    Plugins rausmachen nützt nichts, da in der craftbukkit.jar auch die Datenbank, soweit ich weiß gespeichert wird. Diese kann auch zu abstürtzen führen.
    Also: Einfach mal nen Roh-Server auflegen. Mal sehen, was passiert!

    Ok (dass Connection Reset "Verbindung zurückgesetzt heißt da bin ich auch noch draufgekommen ;) aber ich konnte mir halt leider keinen Reim darauf machen)
    Bin grad dabei einen neuen Server zu erstellen.
    Dann noch Leute holen ;) .
    Sobald ich die Testergebnisse habe werde ich es schreiben.


    Vielen Dank für deine Hilfe!

  • Also ich habe jetzt mal das Betriebssystem des Servers neu aufgesetzt, er läuft jetzt auf Linux Debian Squeeze 64bit.
    Das Problem ist bloß, dass der Fehler leider immer noch auftritt, d.h. der Server stürzt ohne erkennbaren Grund oder Fehlermeldungen bei einer Spielerzahl ab etwa 12 Leute ab.
    An der Leistung kann es aber eigentlich nicht liegen, da wir vorher ingame ein paar Belastungstests durchgeführt haben.
    Der Server hielt die Explosion von 17000 TNT-Blöcken aus, sowie zeitweise ca 1800 Ghasts gleichzeitig...
    Das Problem tritt also nur bei Spielern auf, ich habe jedoch keine Ahnung warum und weiß auch nicht mehr was ich jetzt noch machen kann. ?(


    Ich wäre sehr froh wenn mir jemand helfen könnte :)

  • Wie genau hast du das gemacht? Ich hab auch schon nach java6 versionen im Internet gesucht, hab aber nichts gefunden bei dem der Download geklappt hätte.


    Einfach in /etc/apt/sources.list in der entsprechenden Zeile ein non-free hinzufügen.

    Code
    deb http://ftp.de.debian.org/debian squeeze main non-free


    Code
    # aptitude search sun-
    p   ia32-sun-java6-bin                        - Sun Java(TM) Runtime Environment (JRE) 6 (32-bit)  
    i   sun-java6-bin                             - Sun Java(TM) Runtime Environment (JRE) 6 (architect
    p   sun-java6-demo                            - Sun Java(TM) Development Kit (JDK) 6 demos and exam
    i   sun-java6-fonts                           - Lucida TrueType fonts (from the Sun JRE)           
    p   sun-java6-javadb                          - Java(TM) DB, Sun Microsystems' distribution of Apac
    i   sun-java6-jdk                             - Sun Java(TM) Development Kit (JDK) 6               
    i A sun-java6-jre                             - Sun Java(TM) Runtime Environment (JRE) 6 (architect
    p   sun-java6-plugin                          - The Java(TM) Plug-in, Java SE 6                    
    i   sun-java6-source


    Stelle aber sicher das auch die Java Version benutzt wird, und nicht deine selbst installierte.

  • Nachdem wir leider irgendwie einfach nicht wirklich weiterkommen und alle möglichen Versuche nichts genutzt haben wäre es hilfreich zu wissen wie genau ihr eure Server eingestellt habt, so dass es funktioniert.
    Also exakt welches Betriebssystem (habt ihr jetzt Squeeze oder Lenny?), welche Javaversion, welche Version der Craftbukkit und eventuell noch andere Sachen.


    Vielen Dank :)


  • Einfach in /etc/apt/sources.list in der entsprechenden Zeile ein non-free hinzufügen.

    Code
    deb http://ftp.de.debian.org/debian squeeze main non-free


    Code
    # aptitude search sun-
    p   ia32-sun-java6-bin                        - Sun Java(TM) Runtime Environment (JRE) 6 (32-bit)  
    i   sun-java6-bin                             - Sun Java(TM) Runtime Environment (JRE) 6 (architect
    p   sun-java6-demo                            - Sun Java(TM) Development Kit (JDK) 6 demos and exam
    i   sun-java6-fonts                           - Lucida TrueType fonts (from the Sun JRE)           
    p   sun-java6-javadb                          - Java(TM) DB, Sun Microsystems' distribution of Apac
    i   sun-java6-jdk                             - Sun Java(TM) Development Kit (JDK) 6               
    i A sun-java6-jre                             - Sun Java(TM) Runtime Environment (JRE) 6 (architect
    p   sun-java6-plugin                          - The Java(TM) Plug-in, Java SE 6                    
    i   sun-java6-source


    Stelle aber sicher das auch die Java Version benutzt wird, und nicht deine selbst installierte.


    Also bei mir sieht sources.list so aus:
    # squeeze netcup mirror
    deb http://debian.netcup.net/debian squeeze main contrib non-free
    deb-src http://debian.netcup.net/debian squeeze main contrib non-free


    # squeeze-security
    deb http://security.debian.org/ squeeze/updates main contrib non-free


    # squeeze-updates, previously known as 'volatile'
    deb Index of /debian squeeze-updates main contrib non-free
    deb Index of /debian squeeze-proposed-updates main contrib non-free



    Jetzt weiß ich aber nicht wirklich wo genau ich dieses non-free einfügen soll, aus dieser Anleitung hier die ich gefunden habe ging das irgendwie nicht klar hervor:
    HowTo: Java Installation unter Debian 6.0 (Squeeze) - Linux

  • Tja wir haben Java jetzt so installiert, das Problem tritt leider immer noch auf :(


    Der Server ist überhaupt nicht ausgelastet und stürzt bei Spielerzahlen über ca10 Spieler einfach irgendwannmal ab.

  • Das Problem ist gelöst! :)
    Es lag an den Startparametern.
    Ich habe den server ja immer mit 3,5GB RAM gestartet, zugesichert haben wir 4GB.
    Mit top hat man dann aber sehen können, dass dem Minecraftserver merkwürdigerweise nicht 3,5GB sondern über 4GB zugeteilt wurden, vl liegt da ja irgendwie an dem java Prozess der da läuft, jedenfalls waren in Wirklichkeit ca 700MB mehr zugeteilt.
    Die Folge war dann der Absturz bei höheren Spielerzahlen, da der Server die ihm zugeteilte Menge an Speicher nicht bekam.
    Als ich das ganze dann mit 2GB RAM gemacht hab ging alles problemlos.


    Vielen Dank für eure Hilfe! :)

  • MC sollte man immer mit diesem Java Befehl starten:

    Code
    java -Xmx1024M -Xms1024M -XX:+UseConcMarkSweepGC -XX:+CMSIncrementalPacing -XX:ParallelGCThreads=2 -XX:+AggressiveOpts -jar minecraft.jar nogui


    Java arbeitet damit einfach viel besser

  • Ich kenne die anderen Parameter alle nicht, aber: Es macht keinen Sinn auf einem vServer mit 4GB Ram eine Minecraft instanz im 1024MB für die JVM zu starten. Also sofern die anderen Parameter nicht irgendwas am Speichermanagement ändern, sollte man da Gesamtgröße des Server-RAM - 256MB oder so machen.


    So läuft das bei mir schon seit Monaten. Und das flüssig.
    Ohne den ganzen anderen Kram.


    Natürlich habe ich auf dem Server nicht gleichzeitig HTTP, IMAP, POP3, MySQL, TS3, Mumble, Tomcat und Jabber laufen. :P

  • So, endlich komme ich nun dazu mal wieder hier zu antworten, ich habe im Moment ziemlich viel Stress...
    Daher habe ich so lange nichts geschrieben.

    Zitat

    Welche Startparameter hast du genau benütz? - Würde mich mal interessieren!

    Also meinst du jetzt vor oder nach Lösung des Problems?
    Also grundsätzlich mal screen -s minecraft java -Xms[Zahl]M -Xmx[Zahl]M -jar craftbukkit.jar
    Wie schon gesagt, zuerst mit 3,5GB RAM, jetzt mit weniger, im Moment benutze ich ein Startscript, dass den Server mit 2,5GB RAM startet.


    Der Befehl dient dazu, minecraft parallel auf mehreren Prozessorkernen laufen zu lassen oder?
    Oder gibt es auch noch einen anderen Zweck?


    Verstehe ich da was falsch, oder meinst du mal sollte den Minecraft Server mit nicht mehr als 256MB starten?
    Das würde bei uns nicht funktionieren; viel zu wenig.
    Wie viele Leute sind denn so maximal auf deinem Server?

  • Wir haben den Saturn light Server und dasselbe Problem :( .
    2GB RAM haben wir ja garantiert, dem Minecraft Server haben wir momentan 1,5 GB, zuvor 2GB, zugewiesen. Die Abstürze haben aber nicht aufgehört, wir haben zwar ein Skript, welches dann Server beim Absturz neustartet, es ist aber dennoch einfach nur nervig, da diese Abstürze komplett zufällig erscheinen.


    Ich hatte den Minecraft Server lokal auf meinem PC konfiguriert und teilweise mehr als ein halben Tag am Stück laufen lassen und dort ist er nie abgestürtzt.


    Außerdem haben wir dies probiert:
    - Multiverse (ein Plugin) ausgeschaltet
    - Bukkit Development Builds benutzt
    - Weniger RAM zugewiesen
    - Plugins geupdatet
    - Java geupdatet

  • Also bei uns ist das Problem ja glücklicherweise mittlerweile gelöst ;).
    Wie gesagt lag es nicht an irgendwelchen Plugins(wobei das natürlich auch der Grund sein könnte, welche habt ihr denn noch so drauf?) sondern an der Ramauslastung, da der Javaprozss sich einfach mehr genommen hat, als wir ihm zugewiesen haben.
    Allgemein solltest du auch mal die Logdatei auf Fehler checken, falls du das noch nicht getan hast.
    Du hast zwar geschrieben, dass du verschiedene RAMmengen zugeteilt hast, jedoch nicht ob der Prozess wie beschrieben bei top mehr Ram frisst als du insgesamt hast.
    Schau das am besten mal nach.
    Desweiteren könnte es natürlich bei zu wenig RAM dann auch einfach an Überlastung liegen; wie viele Leute sind denn so auf eurem Server und was für Aktionen macht ihr?
    Außerdem wäre noch eure Javaversion interessant, da es hier verschiedene gibt und manche nicht funktionieren (zumindest bei uns nicht)...


    Prüf am besten mal all diese Sachen, insbesondere das mit dem RAM und schau ob es dann geht.
    Viel Erfolg! :)