Premium Shop - Minecraft-Server einrichten.

Einstellung des Betriebs!

Zum 01.02.2023 wird der Beitrieb von Atrox-Dev eingestellt. Alle Downloads und Benutzer werden entfernt und die Website geht offline. Wer noch eine Kopie der alten Pakete benötigt, sollte sich diese bis dahin runterladen.

Alle Pakete sind bereits unter neuem Label in unserem und im WoltLab-Store erhältlich, wo ihr auch weiterhin Support erhaltet.

  • Hallo Atrox-Team,


    ich habe eben gerade das Premium Shop hier erworben und bin dabei jetzt parr Produkte am hinzufügen. Websend gibt es leider nicht für die Spigot (weiter entwicklung von bukkit) version 1.8, nur für maximal 1.7.9. nun meine Frage, wie realisiere ich es anders? ich habe den eintrag Screen/Websend-Befehl gefunden, jedoch was schreibe ich rein wenn ich screen nutzen will? verstehe ich es richtig, dass ein SSH-Befehl ausgeführt wird? also müsste der server sich mit dem minecraft username am server erstmal anmelden, dann in die screen session von minecraft wechseln und dann erst ein kommando ausführen... wie funktioniert das?


    Ausserdem: Wie entferne ich den "Guthaben aufladen" link? Meine Leute sollen nicht Geld bezahlen sondern sich die Credits (So nenne ich die Shop Währung :D ) mit Aktivitäten auf der Homepage z.b. Forum Posts verdienen.


    Ausserdem, wenn man nicht genug Guthaben hat, soll der Käufer nicht auf die Guthaben Aufladen seite gebracht werden (Da ich kein Geld von meinen Leuten will) sondern eine einfache Fehlermeldung erscheinen, dass man nicht genug Credits hat :D


    Und was ist ein UserID Bot (unter System -> Optionen -> Allgemein -> Premium Shop -> Minecraft Modul zu finden)? Was für Nummer trage ich da ein?



    und noch eine Frage :D



    Wenn ich ein Produkt hinzufüge, was trage ich bei "PN-Empfänger für Kaufbestätigung" ein? Die PN-Soll selbstverständlich an den Käufer gehen, aber ich kann dort doch kein namen eintragen wenn ich nicht weiß wer das Produkt das nächste mal kauft :D



    Würde mich ausserdem über eine etwas deteilierte Anleitung freuen, die 2 Posts im Aleitung Forum finde ich ehrlich gesagt etwas mager :(


    Grüße wik

  • verstehe ich es richtig, dass ein SSH-Befehl ausgeführt wird? also müsste der server sich mit dem minecraft username am server erstmal anmelden, dann in die screen session von minecraft wechseln und dann erst ein kommando ausführen... wie funktioniert das?

    In der Minecraftserver extern oder intern? Derzeit werden nur interne Server per Shell unterstützt.



    Zitat

    Ausserdem: Wie entferne ich den "Guthaben aufladen" link? Meine Leute sollen nicht Geld bezahlen sondern sich die Credits (So nenne ich die Shop Währung :D ) mit Aktivitäten auf der Homepage z.b. Forum Posts verdienen.


    Dafür gibt es keine Option. Du könntest das Template im ACP bearbeiten.


    Zitat

    Ausserdem, wenn man nicht genug Guthaben hat, soll der Käufer nicht auf die Guthaben Aufladen seite gebracht werden (Da ich kein Geld von meinen Leuten will) sondern eine einfache Fehlermeldung erscheinen, dass man nicht genug Credits hat :D


    Das kann ich im nächsten Update berücksichtigen.


    Zitat

    Und was ist ein UserID Bot (unter System -> Optionen -> Allgemein -> Premium Shop -> Minecraft Modul zu finden)? Was für Nummer trage ich da ein?


    Die UserID von der eine PN gestartet werden soll.

    Zitat

    Wenn ich ein Produkt hinzufüge, was trage ich bei "PN-Empfänger für Kaufbestätigung" ein? Die PN-Soll selbstverständlich an den Käufer gehen, aber ich kann dort doch kein namen eintragen wenn ich nicht weiß wer das Produkt das nächste mal kauft :D


    Da kommen Ids von Admins o.ä. rein, die über den Kauf den Kauf informiert werden sollen. Der Käufer erhält eine E-Mail.

    Zitat

    Würde mich ausserdem über eine etwas deteilierte Anleitung freuen, die 2 Posts im Aleitung Forum finde ich ehrlich gesagt etwas mager :(


    Falls du Fragen hast, kannst du die gerne stellen.

  • Zitat von »wik«




    verstehe ich es richtig, dass ein SSH-Befehl ausgeführt wird? also müsste der server sich mit dem minecraft username am server erstmal anmelden, dann in die screen session von minecraft wechseln und dann erst ein kommando ausführen... wie funktioniert das?
    In der Minecraftserver extern oder intern? Derzeit werden nur interne Server per Shell unterstützt.

    ja intern, also der minecraft server ist auf dem selben server wie das forum... was genau müsste ich dort eingeben? kannst du bitte ein beispiel machen? :)
    Ich nutze ebenfalls das Minecraft Server Plugin von dir, also müsste in der eingabezeile vom produkt ja einen platzhalter geben für den usernamen, der den kauf getätigt hat. Also der eingetragene minecraft username vom minecraft server plugin :D
    Für Websend kannst gerne auch die beispielurl geben, es wird an einer neueren version gearbeitet laut den herstellern :D

  • Das ist der Minecraft Name.
    Ich muss für die obige Fehlinformation entschuldigen, mittlerweile hat sich das entwas geändert. Es genügt nicht mehr der einfache Konsolebfehle von Minecraft.
    Der Shellbefehl wäre z.B. screen -S ScreenName -X stuff "give [NAME] 38 1"\n
    Wenn du deinen Minecraft Server mit screen startest, dann kannst du einen Namen dafür hinterlegen. Den musst du dann oben einfügen.

  • Das ist soweit alles klar danke :D nur problem ist, der mc server läuft auf einem anderem username, sprich ich muss mich vorher doch mit dem mc username in ssh einloggen bevor ich den screen nutzen kann, da jeder benutzername seine eigenen screen instanzen hat


    ist es nun möglich irgendwie noch einen login in die kommand zeile einzufügen? (username und passwort)

  • ich nutze einen Debian Server, also ich denke sudo sollte auch unter Debian laufen, da ubuntu ja auf Debian basiert, richtig?


    Ansonsten sieht das alles logisch aus, bis auf den Teil mit op Scrayos :P


    werde ich später mal testen, danke :)

  • funktioniert leider nicht. nach dem absenden des befehls verlangt er ein Passwort, obwohl user und Passwort bereits bei sudo... eingetragen ist. Die von dir beschriebene Variante funktioniert nur, wenn man den Befehl als root ausführt, und das ist für mich keine option

  • Habe es nun geschafft und funktioniert perfekt.


    Hab es mit einem PHP-Script gelöst.


    PHP
    1. <?php
    2. $connection = ssh2_connect('localhost', 22);
    3. ssh2_auth_password($connection, 'minecraft', 'geheim');
    4. $stream = ssh2_exec($connection, 'screen -S minecraft -X stuff "give '.$argv[1].' '.$argv[2].' '.$argv[3].'\n"');
    5. ?>



    Hab es aufgegeben und mir ein PHP-Script geschrieben, mit dem es super funktioniert. Es wird dafür das ssh2 PHP-Modul benötigt.
    ich denke das Script ist soweit selbst erklärend.


    In euer Premium Shop bei dem Produkt wird folgendes eingetragen:


    php /var/www/vhosts/euer/pfad/zum/script/give.php [NAME] bed 1



    in dem Fall bekommt der Spieler das Bett 1 mal


    wichtig ist, dass das script die rechte des webservers hat, also am besten via ftp hochladen, in ein verzeichnis von dem man kein zugriff von aussen hat.


    Ich bedanke mich nochmal sehr für die hilfe, und gebe nun ein teil davon zurück :)