Seite 1 von 1

QProcess mit Java und Minecraft

Verfasst: 1. April 2012 22:17
von Laubi
Hallo, ich hätte mal wieder ein kleines Problem, zu dem ich alleine keine Lösung finde.

Ich möchte mithilfe von Qt einen MinecraftServer "befehligen". Also Java mit den richtigen Argumenten starten und dann auch später noch Befehle ausführen.

Ich habe dann versucht mithilfe von QProcess genau das zu versuchen, allerdings lief jeder Versuch irgendwie schief.

1) Versuch: java mit den richtigen Argumenten starten:

Code: Alles auswählen

    const QString java("C:/Program Files/Java/jre6/bin/java");
    const QString minecraftjarhome("C:/Users/Laubi/Desktop/Minecraftserver/cb.jar");
    QStringList arguments;
    arguments << "-Xmx600M" << "-Xms600M" << "-jar" << minecraftjarhome <<"nogui";

    this->mc = new QProcess(this);
    this->mc->start(java,arguments,QIODevice::ReadWrite);
Die Ausgabe des Programmes ist recht interessant:

Code: Alles auswählen

182 recipes
        27 achievements
        >
        >
        >
        >
        >
        >
        >
        >
        >
        >
        >
        >
        >
Das Problem ist, das diese '>' niemals aufhören, und ständig weiterlaufen. Weiters ist nur ein Bruchteil von dem ausgegeben worden, das ausgegeben wird wenn ich mit der Console den Server starte. Daher hab ich mir noch was anderes überlegt:

Code: Alles auswählen

const QString java("C:/Program Files/Java/jre6/bin/java");
    const QString minecraftjarhome("C:/Users/Laubi/Desktop/Minecraftserver/cb.jar");
    QStringList arguments;
    arguments << "-Xmx600M" << "-Xms600M" << "-jar" << minecraftjarhome <<"nogui";

    const QString case2("java -Xmx600M -Xms600M -jar \""+minecraftjarhome+"\" nogui");

    this->mc = new QProcess(this);

    this->mc->start("cmd",QIODevice::ReadWrite);
    this->mc->write(case2.toAscii()+"\n");
Ausgabe:

Code: Alles auswählen

        Microsoft Windows [Version 6.1.7601]
        Copyright (c) 2009 Microsoft Corporation. Alle Rechte vorbehalten.

        C:\Users\Laubi\QtProjects\MinecraftAdmin-build-desktop-Qt_4_8_0_for_Desktop_-_MinGW__Qt_SDK__Debug>java -Xmx600M -Xms600M -jar "C:/Users/Laubi/Desktop/Minecraftserver/cb.jar" nogui

        C:\Users\Laubi\QtProjects\MinecraftAdmin-build-desktop-Qt_4_8_0_for_Desktop_-_MinGW__Qt_SDK__Debug>
Wie man sieht erfolgt überhauptkeine Ausgabe, warum weis ich aber nicht.
Ich hoffe ihr könnt mir helfen, ich habe wirklich keine Ahnung wie ich das zum laufen bekomme, ich hoffe ihr könnt mir helfen.

Danke im Vorraus, Laubi