Dieser Guide setzt voraus, dass man sich mit Linux, Docker und Docker-Compose auskennt. Wenn du bereits einen eigenen Server mit unserem Guide aufgesetzt hast, sollten die Änderungen kein Problem für dich sein.
Restart Script ohne In-Game Warnungen
Möchtest du deinen Server einfach nur neustarten, ohne dass die Spieler eine Meldung bekommen, ist dies relativ einfach.
Script erstellen
Zuerst musst du das Restart-Script erstellen. Dazu gehst du in den Ordner, in welchem bereits deine docker-compose.yml liegt. Dort erstellst du mit nano restart-palworld.sh
das Restart-Script und fügst den Code aus dem nächsten Code-Block ein.
#!/bin/bash
# Change to the directory where this script is located
cd "$(dirname "$0")"
# Stop current Docker Compose setup
docker-compose down
# Pull the latest images (not needed)
docker-compose pull
# Start Docker Compose in detached mode
docker-compose up -d
Script ausführbar machen
Anschließend führe noch chmod +x restart-palworld.sh
nach dem Beenden von Nano aus, damit das Script ausführbar ist.
Script als Cronjob eintragen
Um das Script als Cronjob einzutragen, musst du 'crontab -e' ausführen. Daraufhin kannst du den Editor wählen, wobei sich für die meisten Nano empfiehlt. Für einen Restart um 21 Uhr habe ich bei mir z.B. folgende Zeile eingetragen.
0 21 * * * /root/docker-compose/palworld/restart_palworld.sh
Weißt du nicht den vollständigen Pfad zu der Datei, aber befindest dich im Ordner, in welchem die Datei liegt, kann folgender Befehl helfen:
readlink -f restart_palworld.sh
Falls du nicht weißt, welche Zeiten du für andere Restart-Zeiten deines Scripts in den Crontab eintragen musst, kann folgender Link helfen:
Entspricht die Zeit auf deinem Server nicht deiner Zeitzone, kannst du mit dem Befehl date
die aktuelle Serverzeit herausfinden und dies dann entsprechend in deinem Crontab anpassen.
Willst du mehrere Restart-Zeiten festlegen, kannst du auch mehrere Zeilen im Crontab eintragen.
Erweitertes Script mit In-Game Warnungen
Änderungen - docker-compose.yml
Änderungen, die im Docker Compose File des Palworld Servers wichtig sind: Alle Einträge sollten entsprechend vorhanden sein und 'serverip' sowie 'adminpassword' durch deine entsprechenden Daten ersetzt werden.
ports:
- target: 8211 # Gamerserver port inside of the container
published: 8211 # Gamerserver port on your host
protocol: udp
mode: host
- target: 25575 # RCON port inside of the container
published: 25575 # RCON port on your host
protocol: tcp
mode: host
environment:
- RCON_ENABLED=true
- RCON_PORT=25575
rcon:
image: outdead/rcon:latest
entrypoint: ['/rcon', '-a', 'serverip:25575', '-p', 'adminpassword']
profiles: ['rcon']
Restart-Script
#!/bin/bash
# Define a function to send broadcast messages
broadcast() {
message=${1// /_}
docker-compose run --rm rcon "broadcast $message"
}
# Define a function to save the game
save_game() {
docker-compose run --rm rcon save
}
# Define a function to gracefully shut down the server
shutdown_server() {
docker-compose run --rm rcon DoExit
}
# Change to the directory where this script is located
cd "$(dirname "$0")"
# Broadcasting restart warnings
broadcast "Server will restart in 5 minutes!"
sleep 50s
broadcast "Server will restart in 4 minutes!"
sleep 50s
broadcast "Server will restart in 3 minutes!"
sleep 50s
broadcast "Server will restart in 2 minutes!"
sleep 50s
broadcast "Server will restart in 1 minute!"
sleep 50s
# Save game and broadcast message
broadcast "Saving game and preparing for restart..."
save_game
# Gracefully shut down the server
broadcast "Shutting down the server..."
shutdown_server
# Stop current Docker Compose setup
docker-compose down
# Pull the latest images
docker-compose pull
# Start Docker Compose in detached mode
docker-compose up -d
Die Beschreibung oben ist natürlich auch für das Einrichten des erweiterten Scripts gültig. Viel Spaß mit deinem Palworld-Server :)
If you press this button it will load Disqus-Comments. More on Disqus Privacy: Link