Wie kann ich meinen minecraft Server steuern, wenn ich ihn beim Booten mit einem rc.local-Skript starte?

655

Ich habe eine Frage an euch, Jungs. Ich betreibe einen MC-Server so toll. Um es autonom zu machen, führe ich es beim Booten mit einem bash-Skript aus, das in rc.local einfach geladen wird.

#!/bin/bash cd /home/minecraft sudo java -Xms512M -Xmx1008M -jar /home/minecraft/spigot-1.9.jar nogui 

Ok, das Problem ist, dass ich den Server nicht sehen kann, wenn ich mich über ssh verbinde. Es läuft, weil ich ohne Probleme spielen kann, aber ich kann es nicht kontrollieren.

Wenn ich den Server mit dem Befehl aus dem Skript ausführen, aber nicht beim Booten, bleibt der Server auf dem Bildschirm, wartet auf Befehle und zeigt Informationen an. Wenn ich ihn jedoch vom Boot-Skript aus ausführe, kann ich nichts sehen.

Wie kann ich die Kontrolle erlangen oder den Server-Bildschirm sehen, wenn ich ihn vom Boot aus starte und später über SSH verbinde?

Ich hoffe du verstehst was ich meine. Vielen Dank im Voraus und einen schönen Tag.

2

1 Antwort auf die Frage

3
chicks

Die Konsolenausgabe für die meisten Dinge, die in den rcSkripts gestartet werden, ist für Sie nicht verfügbar, sofern Sie keine Verbindung zur physischen Konsole für Ihr Gerät herstellen. Das Gleiche gilt, wenn Sie den MC-Server manuell starten und sich dann abmelden. Sie können die Ausgabe in einer Datei protokollieren. Dies hilft Ihnen jedoch nicht, später Befehle einzugeben. Es gibt zwei Tools, um dieses Problem zu : und . Beides hält die Eingabe- und Ausgabegriffe für Ihren Prozess fest und lässt Sie später wieder anbringen. screengibt es schon immer, war aber nicht für die Automatisierung gedacht. tmuxist neuer und nicht so bekannt, aber es ist viel einfacher zu automatisieren.

tmux new-session -s demo -n tab_name -d "sudo top" 

Wird eine neue tmux Sitzung namens beginnen demomit einem Tab in ihm benannt tab_nameläuft sudo top. Wenn Sie dieses Steuerelement ausführen, kehrt es zur Shell zurück, und Sie werden das nicht topsofort sehen. Das ist gut so, weil Sie es in Ihre rcSkripte einfügen können und sie nicht in ihren Spuren stoppen können. Dann, wann immer Sie es wollen, einfach:

tmux attach 

Als derselbe Benutzer, mit dem Sie Dinge begonnen haben, haben Sie Zugriff auf die Eingabe und Ausgabe des Befehls. Um zu entkommen, tmuxdrücken Sie ctrl- b, dwas Sie zu Ihrer Shell außerhalb von bringt tmux.

Dies ist ein Intro, in dem Sie vielleicht einen guten nächsten Lernschritt finden tmux.