ubuntuusers.de

[Wine] Minecraft Server läuft nur mit emuliertem Java

Status: Ungelöst | Ubuntu-Version: Ubuntu 10.10 (Maverick Meerkat)
Antworten |

Singalun

Anmeldungsdatum:
25. Dezember 2011

Beiträge: Zähle...

Hallo zusammen, dies ist mein erstes Thema auf ubuntuusers.de und ich bin auch relativ unerfahren was Ubuntu angeht also bitte ich um etwas Verständnis, falls ich nicht alles sofort kapieren sollte.

Also direkt zu meinem Problem: Ich wollte gerne einen Minecraft-Server auf meinem Ubuntu einrichten. Also habe ich kurzerhand die Minecraft_server.jar vom minecraft.net runtergeladen. Wil ich gelesen habe, dass man für den Minecraft-Server das Java von Sun braucht, habe ich das nach dem Entfernen von openJDK und IceTea mit folgendem Befehl installiert:

sudo apt-get install sun-java6-jre sun-java6-plugin

Wenn ich jetzt die minecraft_server.jar Datei ausführe, öffnet sich das normale Minecraft-Server-Fenster; genau wie bei Windows. Wenn ich mich allerdings per localhost mit dem Server verbinden will, kommt bei Minecraft die Meldung 'Login Failed: Bad Login'. In den Server-Logs steht dann '[ip-Adresse] connection lost'. Wenn ich die gleiche Datei jetzt mit dem Windows-Java (mit Wine emuliert) ausführe, klappt alles.

Das ist natürlich blöd, weil das für den PC ja auch mehr Arbeit ist erstmal Windows zu emulieren, um dann ein Java-Script auszuführen.

Ich bin für jeden Lösungsvorschlag dankbar, ich hab nämlich keine Ahnung, was da bei mir schiefläuft. Nette Grüße

redknight Team-Icon

Moderator & Supporter
Avatar von redknight

Anmeldungsdatum:
30. Oktober 2008

Beiträge: 21827

Wohnort: Lorchhausen im schönen Rheingau

Singalun schrieb:

Wil ich gelesen habe, dass man für den Minecraft-Server das Java von Sun braucht,

Wo hast du das gelesen? Meiner Erfahrung nach läuft minecraft mit openJDK sehr gut, mit sun-java aber nicht.

Singalun

(Themenstarter)

Anmeldungsdatum:
25. Dezember 2011

Beiträge: 120

Ich weiß es nicht mehr genau; ist schon fast zwei Wochen her. Es klappt aber mit openJDK auch nicht. Minecraft gibt die gleiche Fehlermeldung aus.

Danke aber für die Antwort.

redknight Team-Icon

Moderator & Supporter
Avatar von redknight

Anmeldungsdatum:
30. Oktober 2008

Beiträge: 21827

Wohnort: Lorchhausen im schönen Rheingau

Wenn du nicht weißt, nach welcher Anleitung du vorgegangen bist, ist eine Fehlersuche sehr schwer.

Singalun

(Themenstarter)

Anmeldungsdatum:
25. Dezember 2011

Beiträge: 120

redknight schrieb:

Wenn du nicht weißt, nach welcher Anleitung du vorgegangen bist, ist eine Fehlersuche sehr schwer.

Also ich habe das nach mehreren Anleitungen versucht. Die Kernaussage war aber immer so viel wie: "Nimm die minecraft_server.jar Datei, führe sie ein Mal aus, editiere dann die server.properties Datei und führe dann den Server nochmal mit dem Befehl

java -Xmx1024M -jar minecraft_server nogui

aus."

So weit läuft der Server ja dann auch an. Nur kann man sich eben nicht darauf einloggen.

Teilweise stand in den Anleitungen was von Sun Java und die Anderen sind gar nicht näher auf die Java-Version eingegangen. Deshalb habe ich das ja auch mit dem Sun Java probiert. Klappt aber genauso wenig wie mit openJDK.

Meine Denkansätze waren bisher so:

- An meiner minecraft.jar (Spiel) kann es nicht liegen, weil ich damit ja auf andere Server drauf komme.

- An der minecraft_server.jar (Server) kann es nicht liegen, weil ich auf den ja drauf kann, wenn der mit dem unter Wine emulierten Java gestartet wird.

- An der eingegebenen IP-Adresse kann es auch nicht liegen, weil der Server ja auch etwas davon mitbekommt, dass ich versucht habe, mich einzuloggen.

- An den Servereinstellungen kann es nicht liegen, weil der Server ja unter Wine mit den gleichen Einstellungen läuft und funktioniert.

- An meinem PC kann es nicht liegen, weil der Server unter Wine ja auch dem gleichen PC läuft und weil der Server auf anderen Ubuntu 10.10 PCs genau so gut läuft (oder auch nicht läuft).

- Mit dem Windows-Java ausgeführt läuft der Server.

  • –> Das Problem wird von Java verursacht.

Stimmst du mir da so weit zu?

Mir gehen nämlich langsam wirklich die möglichen Fehlerquellen aus...

Nette Grüße

redknight Team-Icon

Moderator & Supporter
Avatar von redknight

Anmeldungsdatum:
30. Oktober 2008

Beiträge: 21827

Wohnort: Lorchhausen im schönen Rheingau

Ich muss voranschicken, dass ich keine Ahnung von minecraft habe und nur wenig von Java.

Singalun schrieb:

So weit läuft der Server ja dann auch an. Nur kann man sich eben nicht darauf einloggen.

Wie hast du denn den Login versucht? Als localhost oder über eine IP?

Meine Denkansätze waren bisher so:

- An meiner minecraft.jar (Spiel) kann es nicht liegen, weil ich damit ja auf andere Server drauf komme.

Stimme ich soweit zu.

- An der minecraft_server.jar (Server) kann es nicht liegen, weil ich auf den ja drauf kann, wenn der mit dem unter Wine emulierten Java gestartet wird.

Stimme ich soweit zu.

- An der eingegebenen IP-Adresse kann es auch nicht liegen, weil der Server ja auch etwas davon mitbekommt, dass ich versucht habe, mich einzuloggen.

Stimme ich nicht zu. Soweit ich weiß, braucht minecraft zwei Port, von denen evtl der zweite firewalled wird. Ähnlich wie bei FTP würdest du dann einen connect, aber keine Daten sehen. Wenn du dich über eine IP und nicht über localhost verbindest, können evtl Firewallregeln gelten.

- An den Servereinstellungen kann es nicht liegen, weil der Server ja unter Wine mit den gleichen Einstellungen läuft und funktioniert.

Stimme ich soweit zu.

- An meinem PC kann es nicht liegen, weil der Server unter Wine ja auch dem gleichen PC läuft und weil der Server auf anderen Ubuntu 10.10 PCs genau so gut läuft (oder auch nicht läuft).

Stimme ich soweit zu.

- Mit dem Windows-Java ausgeführt läuft der Server.

  • –> Das Problem wird von Java verursacht.

Könnte, wie schon angedeutet braucht minecraft meines Wissens nach openJDK. In meiner einzigen Installation bisher konnte ich nachvollziehen, dass der Server mit sun-java nicht zum starten zu bringen bzw keine verbindungen annahm.

Singalun

(Themenstarter)

Anmeldungsdatum:
25. Dezember 2011

Beiträge: 120

Also ich habe den Versuch mich einzuloggen sowohl über eine IP als auch über localhost unternommen. Wie kann ich denn sehen, wie viele Ports für Minecraft offen sind und gegebenen Falles welche freigeben?

redknight Team-Icon

Moderator & Supporter
Avatar von redknight

Anmeldungsdatum:
30. Oktober 2008

Beiträge: 21827

Wohnort: Lorchhausen im schönen Rheingau

Singalun schrieb:

Also ich habe den Versuch mich einzuloggen sowohl über eine IP als auch über localhost unternommen.

Auch jeweils mit beiden JDKs?

Wie kann ich denn sehen, wie viele Ports für Minecraft offen sind und gegebenen Falles welche freigeben?

netstat und iptables

Singalun

(Themenstarter)

Anmeldungsdatum:
25. Dezember 2011

Beiträge: 120

redknight schrieb:

Singalun schrieb:

Also ich habe den Versuch mich einzuloggen sowohl über eine IP als auch über localhost unternommen.

Auch jeweils mit beiden JDKs?

Ja, habe es gerade extra nochmal probiert. Bei beiden JREs gibt's genau die gleiche Fehlermeldung für mich ☹

Soweit ich das gesehen habe, ist ein Port für den Minecraft Server offen. Standartmäßig Port 25565. Es sind zwar noch weitere offen aber wohl nicht für Minecraft. Der Minecraft-Server sagt aber auch, dass er nur auf diesem Port startet. Hier ist mal ein Stück Log:

[INFO] Starting minecraft server version 1.0.1
[INFO] Loading properties
[INFO] Starting Minecraft server on *:25565
[INFO] Preparing level "world"
[INFO] Default game type: 0
[INFO] Preparing start region for level 0
[INFO] Preparing spawn area: 61%
[INFO] Done (1684935093ns)! For help, type "help" or "?"
[INFO] /xxx.x.x.x:37068 lost connection [## An Stelle der 'x'e steht bei mir die IP.##]

Wo bekomme ich iptables denn eigentlich her? Im Softwarecenter kann ich das nicht finden. Nur Programme wie 'GuardDog' oder 'KMyFirewall'

Zinni

Anmeldungsdatum:
20. Januar 2010

Beiträge: 164

Also das funktioniert bei mir auf Anhieb nach dem Wiki-Tutorial: http://www.minecraftwiki.net/wiki/Setting_up_a_server. Mit OpenJDK unter 64bit und mit folgenden Serverdaten 127.0.0.1:25565. Auch die Konfigurationsdateien sind unverändert. Aber vielleicht hilft dir ja auch Beitrag #127 im Minecraft Forum weiter: http://www.minecraftforum.net/topic/420-tutorial-on-running-minecraft-on-a-dedicated-server/page__st__120. Der User dort hat beschrieben wie man die iptables anpasst.

Singalun

(Themenstarter)

Anmeldungsdatum:
25. Dezember 2011

Beiträge: 120

@ Zinni:

Also bei mir gibt es immernoch diese "Bad Login" Fehlermeldung. Wahrscheinlich mache ich da einfach irgendetwas falsch. Kannst du mir das vielleicht nochmal näher erklären? So in der Art wie eine Liste von Befehlen, die ich einfach nur noch hintereinander ins Terminal hauen muss?

Zinni

Anmeldungsdatum:
20. Januar 2010

Beiträge: 164

Ok ich versuche es mal. Bei mir lief der Minecraft-Client aber vorher schon ohne Probleme in einer 64bit Ubuntu Umgebung (Oneiric). Und das ist das erste mal das ich einen Minecraft-Server installiert habe.

  1. Ich nutze immer die aktuellsten ATI-Treiber (11.12) und nutze nur OpenJDK Java 6 Runtime. Kein SUN und nicht die 7er Version von OpenJDK!

  2. Im Homeverzeichnis ein neues Verzeichnis erstellen MineServer oder ähnliches.

  3. Die minecraft_server.jar herunterladen und in das erstellte Verzeichnis kopieren

  4. In dem Verzeichnis mit Gedit oder nano eine leere Datei erstellen mit folgendem Inhalt:

    1
    2
    3
    #!/bin/bash
    cd "$(dirname "$0")"
    exec java -Xmx2G -Xms2G -jar minecraft_server.jar
    
  5. Die Datei in diesem Verzeichnis abspeichern unter "start.command" und ausführbar machen.

  6. Optional den Server von außen erreichbar machen DDNS, Ports u.s.w.

  7. Jetzt starten mit ./start.command und ein paar Sekunden warten. Es erscheint das Minecraft-Server Fenster.

  8. Mit dem Client kann man sich jetzt über "Mehrspieler" - "Direkte Verbindung" - "Serveradresse: 127.0.0.1:25565" mit dem Server verbinden. Oder bei entsprechender Routerkonfiguration direkt über die öffentliche IP.

Das funktioniert mit der offiziellen Version als auch mit den aktuellen Snapshots (11w50a). Ich habe sonst keine weiteren Veränderungen an der Systemkonfiguration vorgenommen.

Es gibt da nur ein Problem, der Ressourcenverbrauch ist ziemlich hoch (CPU-Last). Ich habe allerdings keine Vergleichswerte.

Bearbeitet von redknight:

Aufzählung lesbar gemacht

Bilder

Zinni

Anmeldungsdatum:
20. Januar 2010

Beiträge: 164

Noch einen Tipp. Wenn man die Standart Java Version mit:

1
sudo update-alternatives --config java

auf java-7-openjdk-amd64 ändert, und dann entsprechend dieser Anleitung hier http://www.minecraftwiki.net/wiki/Tutorials/Update_LWJGL die entsprechenden Bibliotheken auf die Version 2.8.1 aktualisiert, funktioniert die ganze Sache auch mit OpenJDK Java 7 Runtime. Das ganze fühlt sich dann wesentlich geschmeidiger an.

Singalun

(Themenstarter)

Anmeldungsdatum:
25. Dezember 2011

Beiträge: 120

Zinni schrieb:

Ok ich versuche es mal. Bei mir lief der Minecraft-Client aber vorher schon ohne Probleme in einer 64bit Ubuntu Umgebung (Oneiric). Und das ist das erste mal das ich einen Minecraft-Server installiert habe.

  1. Ich nutze immer die aktuellsten ATI-Treiber (11.12) und nutze nur OpenJDK Java 6 Runtime. Kein SUN und nicht die 7er Version von OpenJDK!

  2. Im Homeverzeichnis ein neues Verzeichnis erstellen MineServer oder ähnliches.

  3. Die minecraft_server.jar herunterladen und in das erstellte Verzeichnis kopieren

  4. In dem Verzeichnis mit Gedit oder nano eine leere Datei erstellen mit folgendem Inhalt:

    1
    2
    3
    #!/bin/bash
    cd "$(dirname "$0")"
    exec java -Xmx2G -Xms2G -jar minecraft_server.jar
    
  5. Die Datei in diesem Verzeichnis abspeichern unter "start.command" und ausführbar machen.

  6. Optional den Server von außen erreichbar machen DDNS, Ports u.s.w.

  7. Jetzt starten mit ./start.command und ein paar Sekunden warten. Es erscheint das Minecraft-Server Fenster.

  8. Mit dem Client kann man sich jetzt über "Mehrspieler" - "Direkte Verbindung" - "Serveradresse: 127.0.0.1:25565" mit dem Server verbinden. Oder bei entsprechender Routerkonfiguration direkt über die öffentliche IP.

Das funktioniert mit der offiziellen Version als auch mit den aktuellen Snapshots (11w50a). Ich habe sonst keine weiteren Veränderungen an der Systemkonfiguration vorgenommen.

Es gibt da nur ein Problem, der Ressourcenverbrauch ist ziemlich hoch (CPU-Last). Ich habe allerdings keine Vergleichswerte.

Bearbeitet von redknight:

Aufzählung lesbar gemacht

Also so klappt das bei mir leider auch nicht. Gleiche Fehlermeldung. Sieht dann so aus ☹

(Foto)

Bilder

Zinni

Anmeldungsdatum:
20. Januar 2010

Beiträge: 164

Hy,

Kannst Du in der server.properties mal online-mode=true auf online-mode=false setzen und mal den Inhalt zeigen. Wenn ich das richtig verstehe, kann sich dein Server nicht mit der "minecraft account database" verbinden und die Login Daten verifizieren. Wenn dem so ist, überprüfe mal die Router-Einstellungen. Dort muss der öffentliche Port 25565 (TCP) auf den Privaten Port 25565 (TCP) weitergeleitet werden. Mehr braucht man dort nicht zu verändern. Wenn das immer noch nicht klappt solltest Du dich an das offizielle Support Forum wenden.

Antworten |