You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Du brauchst Screen um das Skript auszuführen. mit apt install screen kannst du dies z.b. auf Debian/Ubunto installieren
Alle Dateien, Backups und Logs werden in einem einstellbaren Minecraft-Pfad ($MCPATH) abgelegt.
💡 Das Startskript befindet sich im Unterordner Linux/MC_ATM10
💡 Beispiel Cronjobs befindet sich im Unterordner Linux/Cronjob
💡 Beispiel Systemd Dienst befindet sich im Unterordner Linux/mc_atm10.service
Einstellungen ⚙️
Server- und Benutzerinformationen
Variable
Beschreibung
SERVICE
Name des Server-Startskripts oder der JAR-Datei (MC_ATM10)
SCREENNAME
Name der Screen-Session (MC_ATM10)
USERNAME
Linux-User unter dem der Server läuft (mc)
SERVER_NAME
Name, der in Ingame-Meldungen angezeigt wird (Taracraft)
WORLD
Name der Minecraft-Welt (Tara)
MCPATH
Root-Pfad des Servers (/home/mc/ATM10/)
Backups 💾
Variable
Beschreibung
BACKUPPATH_HOURLY
Pfad für stündliche Backups
BACKUPPATH_DAILY
Pfad für tägliche Backups
RAM / CPU 🖥️
MINHEAP, MAXHEAP, CPU_COUNT
Logs & Logrotation 📂
Variable
Beschreibung
LOGS_DIR
$MCPATH/logs
DEBUG_LOG
debug.log im Minecraft-Log-Verzeichnis
DEBUG_LOG_RETENTION_DAYS
Alte Debug-Logs nach X Tagen löschen
SERVER_LOG_RETENTION_DAYS
Alte Server-Logs nach X Tagen löschen
Funktionen ⚡
Alle Funktionen anzeigen
a) Helpers 🛠️
log(): schreibt sowohl in die Shell als auch optional in debug.log
as_user(): führt Befehle als Minecraft-Benutzer aus
mc_tell(color, msg): sendet farbige Nachrichten an alle Spieler ingame
ensure_dir(path, label): prüft, ob ein Verzeichnis existiert, erstellbar und beschreibbar ist
b) Serververwaltung 🖥️
mc_start(): Startet den Server in einer Screen-Session
mc_stop(): Stoppt den Server sauber, inkl. Countdown, speichert die Welt
mc_saveoff() / mc_saveon(): Schaltet die Welt auf Read-Only bzw. wieder Read-Write
c) Backups 💾
Stündlich (inkrementell) ⏰
mc_backup_hourly()
Nutzt tar --listed-incremental mit Snapshot-Datei (*.snar)
Komprimiert mit gzip
Alte Backups >24h werden gelöscht
Meldungen ingame und in Shell
Täglich (Vollbackup) 📅
mc_backup_daily()
Vollbackup der Welt + Serverdateien
Komprimiert mit gzip
Alte Backups >30 Tage werden gelöscht
Meldungen ingame und in Shell
Backup Wrapper 🔄
mc_backup(): führt Logrotation durch (rotate_logs), stündliches Backup, prüft tägliches Backup
d) Rollback ↩️
Rollback-Funktion
mc_rollback(): interaktive Auswahl des Backups
Stoppt Server, entpackt Backup, startet Server wieder
Meldungen ingame und in Shell
e) Logrotation 📂
Logs rotieren
rotate_logs(): komprimiert debug.log und alle .log im Minecraft-Log-Verzeichnis nach Datum (YYYY-MM-DD.log.gz)
Alte Logs werden automatisch nach konfigurierten Tagen gelöscht
f) Server-Kommandos 💬
Server-Kommandos
mc_command("command"): sendet Befehle an die Screen-Session (/say Hello)
mc_listen(): Echtzeit-Tail der latest.log
Shell-Befehle 🖱️
Alle Befehle müssen vom Unterordner [/etc/init.d/MC_ATM10] ausgeführt werden
Server starten / stoppen 🚀
Befehl
Beschreibung
./MC_ATM10 start
Startet den Server
./MC_ATM10 stop
Stoppt den Server sauber
./MC_ATM10 restart
Stoppt und startet den Server
./MC_ATM10 status
Prüft, ob der Server läuft
Backups 💾
Befehl
Beschreibung
./MC_ATM10 backup
Führt stündliches + tägliches Backup aus
./MC_ATM10 rollback
Interaktive Wiederherstellung eines Backups
Server-Kommandos 💬
Befehl
Beschreibung
./MC_ATM10 command "..."
Sendet einen Befehl ingame
./MC_ATM10 listen
Echtzeit-Tail der Serverlogs
Besondere Features 🌟
Farbiges Ingame-Feedback für Backups, Rollback, Shutdown, Server-Kommandos