[Suche] Minecraft Startskript

Aktuell führen wir noch einige Anpassungen durch, das Forum wurde jedoch bereits live geschaltet.
  • Hallo Leute ;)




    Ich suche über diesen Thread einfach einmal ein Minecraft Startskript.sh das voll ausgereiftfunktioniert und alle möglichen, für Minecraft normalen, Funktionen inne hat.


    Wäre über jede Hilfe dankbar!




    (Ein modifiziertes oder gar ganz neues Startskript als das Start.sh das vom Imageserver heruntergeladen wird)






    Man könnte auch über ein kleines "Endgeld" reden, sofern dies hier erlaubt ist :D








    Grüße

  • Einfach weil es nicht genug kann und für meinen Geschmack nicht ausreichend geschrieben ist.


    Generell würde ich mich im Bereich Minecraft + Start-/Stopskripte sehr über Hilfe freuen,




    auch gegen eine Bezahlung.

  • Was soll/muss es denn zusätzlich können?

    Bitte die Forumsuche und das Handbuch verwenden. Wenn die Suche erfolglos war, bitte ein Thema erstellen und das Problem ausführlich beschreiben. Dieser Ablauf spart Zeit und unnötige Fragen zu immer gleichen Problemen. Sie können aber auch im Kundenbereich ein Support-Ticket erstellen.


    Gefällt Ihnen TekLab? facebook-1.pngtwitter-1.pnglinkedin-1.png

  • Insgesamt ist mir das Startskript noch nicht ganz geheuer.


    Ich denke ich werde es mir selbst anpassen müssen.


    Das problem wie ich es damit sehe ist, dass das Startskript alles aus der server.properties ausliest.


    Die Slots kann er dort gerne auslesen, aber den Port oder andere Sachen müssen weiterhin von mir geregelt werden.


    Ich kann es jetzt auch nicht genauer definieren, aber es ist mir einfach zu ungenau und zu simpel geschrieben ^^




    Werde es mir in nächster Zeit vorknöpfen und dann schauen, wie ich es am besten schreibe.


    Stelle es hier dann vielleicht auch bereit, wenn ich eine Ideal-Lösung für Minecraft gefunden habe.

  • Den Port kannst du doch selbst regeln. (als Admin)




    ICh glaube es kommt nit gut, wenn die Kunden sich den Port selbst einstellen dürften... dann wollen se alle 25565 haben...




    Was wichtig wäre, waäre beim stoppen den save-all Befehl (Heisst der so?!?) einzfügen

  • Eben, so kleine Details sind beim zurzeit wohl beliebtesten Spiel Minecraft auch vonnöten.


    Jedes kleine Kind kann sich dank PSC einen Server mieten und daher laufen Minecraft Server auch so gut!


    Diesen Fakt sollte man beachten und Minecraft nicht außen vor lassen.




    Save-all muss ins Startskript, als Beispiel.


    Andererseits muss ich sowieso noch an einer Option arbeiten, wie meine Kunden ihren Server killen können.


    Oftmals benutzen sie einen Befehl oder überlasten den Minecraft Server, was zu einem hänger führt.


    Diese aufgehangenen Server lassen sich manchmal nur von mir persönlich über die Root Konsole beenden!


    Dabei muss ein Server/Port/Java Kill Befehl beim stoppen des Servers erfolgen, direkt ein paar Sekunden nach einer Save-all Eingabe.


    Solche "Kleinigkeiten" sind wichtig, zumindestens mir.

  • Das problem wie ich es damit sehe ist, dass das Startskript alles aus der server.properties ausliest.




    Ich glaube nicht, dass du das Startscript welches bei Teklab dabei ist, verstanden hast.




    Deswegen will ich es dir kurz erklären:








    Dieser Teil des Script liest die Variablen aus, die dem Script als Startparameter mitgegeben werden.




    Beispiel: /start.sh -PORT 12345 -PLAYER 10 (Startbefehl kann, wenn nicht anders eingestellt, nicht vom Kunden geändert werden.)




    Hier werden jetzt die Variablen $PORT und $PLAYER gesetzt. In diesem Fall: $PLAYER=10 und $PORT=12345




    nocheinmal zur Verständnis / Erinnerung, diese Variablen können NICHT vom Kunden geändert werden (außer er hat Zugriff auf den Startbefehl)








    Jetzt der Teil, der angeblich die Variablen aus der server.properties ausliest (was leider völliger Unsinn ist)








    Code
    grep server-port= server.properties &>/dev/null


    Dieser Befehl fragt die Zeile in der server.properties ab in der der Port angegebn wird.








    Code
    if @@355874714634d5c2d87fd9f11fff43897efe03fa@@; then  # Vorhanden!


    Hier wird geprüft ob die gerade abgefragte Zeile vorhanden ist oder nicht








    Code
    sed -i server.properties -e "s/^\(server-port=\).*$/\1${PORT}/"


    Dieser Teil wird ausgeführt, wenn die Variable vorhanden ist, dann wird der Teil der server.properties ersetzt, und jetzt aufgepasst, und zwar mit deiner Variable PORT, egal was der Kunde da vorher eingetragen hat, es wird der von die vorher ans Startscript übergebene Port eingetragen und nicht der des Kunden verwendet.






    Code
    else  # Nicht vorhanden!echo "server-port=${PORT}" >> server.properties




    Dieser Teil leitet den Teil der If-Abfrage ein bei dem das Argument unwahr / false ist. In diesem Fall wäre die Zeile server-port= nicht vorhanden und deswegen wird sie eingetragen, auch hier gilt wieder: Es wird der Port verwendet, den du vorher an das Startscript übergeben hast.










    Es stimmt also auf keinen Fall, dass der Kunde hier irgendwelche Rechte hat PORT oder sonst etwas zu verändern, sofern du ihm nicht Zugriff auf den Startbefehl gegeben hast.




    Die Einstellungen werden aus dem Webinterface ausgelesen bzw. übergeben (an Startscript) und direkt vorm Starten des Servers in die server.properties eingetragen.




    Hoffe ich konnte deine Wissenslücken hiermit schließen.

  • Hallo,


    ich suche auch ein modifiziertes Script um die Welt vor dem neustarten zu saven (save-all) und das der JAVA Prozess auch immer gekillt wird. Hat jemand eines ?


    Habe leider faste keine Erfahrung mit dem Schreiben von SHs ;(