Hallo!
Ich Arbeite an einem Minecraft Server Start Skript für meinen Root Server
Betriebsystem: Linux Debian 7
Soo weit bin ich im im moment:
Bash
#!/bin/bash
###Config
minram="512"
maxram="6144"
servername="lobby"
servers="lobbys"
number="3"
port="20024"
userm="root"
game="minecraft"
software="spigot"
version="18"
server="${servername}_${number}_${port}"
email="xx@xx.at" ###geht nochg ned.
backuppath="home/backup/$games"
gamepath="home/${game}"
###Ende Config
cd /${gamepath}/${servers}/$server
case "$1" in
start)
cp /${gamepath}/worlds/${servername}/${servername}/ /${gamepath}/${servers}/${server}
echo -e "\e[96mWelten werden Kopiert...\e[0m"
cp /${gamepath}/plugins/${servername}/${servername}${number}/plugins /${gamepath}/${servers}/${server}/plugins/
cp /${gamepath}/plugins/${servername}/allgemein/plugins /${gamepath}/${servers}/${server}/plugins/
echo -e "\e[96mPlugins werden Kopiert \e[5m...\e[0m"
echo -e "\e[96mStart server "$number""$servername" on Port $port \e[5m...\e[0m"
screen -A -m -d -S "$number""$servername" java -Xms"$minram"M -Xmx"$maxram"M -jar "$software""$version".jar
exit 0
;;
stop)
screen -S "$number""$servername" -X stuff $'save-all\n'
echo -e "\e[96mDer Save-All-Befehl wurde an den Server gesendet.\e[0m"
screen -S"$number""$servername" -X stuff $'stop\n'
echo -e "\e[96mDer Stop-Befehl wurde an den Server gesendet.\e[0m"
cp /$gamepath/$servers/$server/playerdata /$gamepath/world/$servername/$servername/
su $userm -c "screen -rx "$number""$servername" -X quit"
rm /$gamepath/$servername/$server/$servername/
rm /$gamepath/$servername/$server/plugins
rm /$gamepath/$servername/$server/"$servername"_nether
rm /$gamepath/$servername/$server/"$servername"_the_end
mkdir /$gamepath/$servername/$server/plugins
echo -e "\e[96mStop server "$servername"-"$number" on Port $port \e[5m...\e[0m"
exit 0
;;
restart)
$0 stop && $0 start
exit 0
;;
see)
screen -r $number$servername
exit 0
;;
clear)
echo -n > /$gamepath/$servers/$server/server.log
echo -e "\e[96mServer.log wurden geleert.\e[0m"
;;
backup)
tar cfv /$backuppath/$servername/backup_"$servername"_"$number".tar /$gamepath/$servers/$server
echo -e "\e[96mserverbackup beendet! Beginne mit dem komprimieren.\e[0m"
gzip /$backuppath/$servername/serverbackup.tar
echo -e "\e[96mDas eben erstellte Backup wurde erfolgreich komprimiert.\e[0m"
;;
export)
echo -e "\e[96mDieser Befehl geht noch nicht. In Arbeit\e[0m"
;;
*)
echo -e "\e[96mUse ( start | restart | top | see | clear | backup | export )\e[0m"
;;
esac
exit 0
Alles anzeigen
Meine Probleme:
1. Ich möchte n autostart machen wenn der Server Crasht
2. Wenn der Server Crasht soll er mir die Letzten 50 zeilen der Log senden
3.Die Ordner werden mit dem Cp Befehl ned Kopiert :O
Folgendes Steht in der Konsole:
Code
./start_minecraft.sh startcp: omitting directory `/home/minecraft/worlds/lobby/lobby/'Welten werden Kopiert...cp: omitting directory `/home/minecraft/plugins/lobby/lobby3/plugins'cp: omitting directory `/home/minecraft/plugins/lobby/allgemein/plugins'Plugins werden Kopiert ...Start server 3lobby on Port 20024 ...
4. Mit dem rm befehlt werden im Skript die Ordner ned gelöscht
5. Sind euch Sont irgend welche fehler oder Bugs aufgefallen oder habt ihr irgend welche änderuns bzw. verbesserungsvorschläge??
Wenn ja Bitte unten hin!
Danke für eure Hilfe
Hochachtungsvoll
Thomas