QProcess mit Java und Minecraft

Alles rund um die Programmierung mit Qt
Antworten
Laubi
Beiträge: 8
Registriert: 23. Mai 2011 21:46

QProcess mit Java und Minecraft

Beitrag 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
Antworten