ouh leute...
also erstmal vorneweg:
Sowas hat es hier schon 2000mal.
Dazu noch folgendes:
Man kann Variablen auch in Shell Scripts nutzen??
Desweiteren kann man sogar py oder lua startscripts verwenden.
Dazu hast du das ganze nichtmal global gemacht, was ich persönlich einfach nur peinlich finde...
sorry aber bei sämtlichen Servern, die ich gemacht habe läuft das alles über global commands.
Finde es einfach unnötig...
ich mein tut mir leid, aber das geht übersichtlicher und mit erheblich weniger aufwand...
Alleine schon wenn du nur shell functions und variablen genutzt hättest...
alleine schon nur deine channel auswahl:
das hier:
Code:
1*)
echo -e "\033[31m
Wie viele Channel möchtest du starten ? \n
1 - (1) Channel\n
2 - (2) Channel\n
3 - (3) Channel\n
4 - (4) Channel\n"
read anzahl2
case $anzahl2 in
1*)
echo -e "\033[31m Startet die Datenbank ..\033[0m"
cd db && ./db -I EURE-SERVER-IP &
sleep 2
echo -e "\033[31m Die Datenbank wurde gestartet.\033[0m"
echo -e "\033[31m Startet den Loginserver ..\033[0m"
cd auth && ./auth -I EURE-SERVER-IP &
sleep 2
echo -e "\033[31m Der Loginserver wurde gestartet[0m"
echo -e "\033[31m Starte Channel99 ..\033[0m"
cd Channel/channel99/core1 && ./ch99_core1 -I EURE-SERVER-IP &
cd Channel/channel99/core2 && ./ch99_core2 -I EURE-SERVER-IP &
sleep 2
echo -e "\033[31m Channel99 wurde gestartet.\033[0m"
echo -e "\033[31m Startet Channel 1 ..\033[0m"
cd Channel/channel1/core1 && ./ch1_core1 -I EURE-SERVER-IP &
cd Channel/channel1/core2 && ./ch1_core2 -I EURE-SERVER-IP &
sleep 2
echo -e "\033[31m Channel 1 wurde gestartet.\033[0m"
echo -e "\033[31m Der Server wurde erfolgreich\n
\n
hochgefahren.\033[0m"
cd ..
;;
2*)
echo -e "\033[31m Startet die Datenbank ..\033[0m"
cd db && ./db -I EURE-SERVER-IP &
sleep 2
echo -e "\033[31m Die Datenbank wurde gestartet.\033[0m"
echo -e "\033[31m Startet den Loginserver ..\033[0m"
cd auth && ./auth -I EURE-SERVER-IP &
sleep 2
echo -e "\033[31m Der Loginserver wurde gestartet[0m"
echo -e "\033[31m Starte Game99 ..\033[0m"
cd Channel/channel99/core1 && ./ch99_core1 -I EURE-SERVER-IP &
cd Channel/channel99/core2 && ./ch99_core2 -I EURE-SERVER-IP &
sleep 2
echo -e "\033[31m Game99 wurde gestartet.\033[0m"
echo -e "\033[31m Startet Channel 1 ..\033[0m"
cd Channel/channel1/core1 && ./ch1_core1 -I EURE-SERVER-IP &
cd Channel/channel1/core2 && ./ch1_core2 -I EURE-SERVER-IP &
sleep 2
echo -e "\033[31m Channel 1 wurde gestartet.\033[0m"
echo -e "\033[31m Starte Channel 2..\033[0m"
cd Channel/channel2/core1 && ./ch2_core1 -I EURE-SERVER-IP &
cd Channel/channel2/core2 && ./ch2_core2 -I EURE-SERVER-IP &
sleep 2
echo -e "\033[31m Channel2 wurde gestartet.\033[0m"
echo -e "\033[31m Der Server wurde erfolgreich\n
\n
hochgefahren.\033[0m"
cd ..
;;
3*)
echo -e "\033[31m Startet die Datenbank ..\033[0m"
cd db && ./db -I EURE-SERVER-IP &
sleep 2
echo -e "\033[31m Die Datenbank wurde gestartet.\033[0m"
echo -e "\033[31m Startet den Loginserver ..\033[0m"
cd auth && ./auth -I EURE-SERVER-IP &
sleep 2
echo -e "\033[31m Der Loginserver wurde gestartet[0m"
echo -e "\033[31m Starte Game99 ..\033[0m"
cd Channel/channel99/core1 && ./ch99_core1 -I EURE-SERVER-IP &
cd Channel/channel99/core2 && ./ch99_core2 -I EURE-SERVER-IP &
sleep 2
echo -e "\033[31m Game99 wurde gestartet.\033[0m"
echo -e "\033[31m Startet Channel 1 ..\033[0m"
cd Channel/channel1/core1 && ./ch1_core1 -I EURE-SERVER-IP &
cd Channel/channel1/core2 && ./ch1_core2 -I EURE-SERVER-IP &
sleep 2
echo -e "\033[31m Channel 1 wurde gestartet.\033[0m"
echo -e "\033[31m Starte Channel 2..\033[0m"
cd Channel/channel2/core1 && ./ch2_core1 -I EURE-SERVER-IP &
cd Channel/channel2/core2 && ./ch2_core2 -I EURE-SERVER-IP &
sleep 2
echo -e "\033[31m Channel2 wurde gestartet.\033[0m"
echo -e "\033[31m Starte Channel 3..\033[0m"
cd Channel/channel3/core1 && ./ch3_core1 -I EURE-SERVER-IP &
cd Channel/channel3/core2 && ./ch3_core2 -I EURE-SERVER-IP &
sleep 2
echo -e "\033[31m Channel3 wurde gestartet.\033[0m"
echo -e "\033[31m Der Server wurde erfolgreich\n
\n
hochgefahren.\033[0m"
cd ..
;;
4*)
echo -e "\033[31m Startet die Datenbank ..\033[0m"
cd db && ./db -I EURE-SERVER-IP &
sleep 2
echo -e "\033[31m Die Datenbank wurde gestartet.\033[0m"
echo -e "\033[31m Startet den Loginserver ..\033[0m"
cd auth && ./auth -I EURE-SERVER-IP &
sleep 2
echo -e "\033[31m Der Loginserver wurde gestartet[0m"
echo -e "\033[31m Starte Game99 ..\033[0m"
cd Channel/channel99/core1 && ./ch99_core1 -I EURE-SERVER-IP &
cd Channel/channel99/core2 && ./ch99_core2 -I EURE-SERVER-IP &
sleep 2
echo -e "\033[31m Game99 wurde gestartet.\033[0m"
echo -e "\033[31m Startet Channel 1 ..\033[0m"
cd Channel/channel1/core1 && ./ch1_core1 -I EURE-SERVER-IP &
cd Channel/channel1/core2 && ./ch1_core2 -I EURE-SERVER-IP &
sleep 2
echo -e "\033[31m Channel 1 wurde gestartet.\033[0m"
echo -e "\033[31m Starte Channel 2..\033[0m"
cd Channel/channel2/core1 && ./ch2_core1 -I EURE-SERVER-IP &
cd Channel/channel2/core2 && ./ch2_core2 -I EURE-SERVER-IP &
sleep 2
echo -e "\033[31m Channel2 wurde gestartet.\033[0m"
echo -e "\033[31m Starte Channel 3..\033[0m"
cd Channel/channel3/core1 && ./ch3_core1 -I EURE-SERVER-IP &
cd Channel/channel3/core2 && ./ch3_core2 -I EURE-SERVER-IP &
sleep 2
echo -e "\033[31m Channel3 wurde gestartet.\033[0m"
echo -e "\033[31m Starte Channel 3..\033[0m"
cd Channel/channel4/core1 && ./ch4_core1 -I EURE-SERVER-IP &
cd Channel/channel4/core2 && ./ch4_core2 -I EURE-SERVER-IP &
sleep 2
echo -e "\033[31m Channel3 wurde gestartet.\033[0m"
echo -e "\033[31m Der Server wurde erfolgreich\n
\n
hochgefahren.\033[0m"
cd ..
lässt sich ohne probleme durch das ersetzen (was für beliebig viele channel funktioniert):
Code:
1*)
echo -e "\033[31m
Wie viele Channel möchtest du starten ? \n
1 - (1) Channel\n
2 - (2) Channel\n
3 - (3) Channel\n
4 - (4) Channel\n"
ch=1
read anzahl2
echo -e "\033[31m Startet die Datenbank ..\033[0m"
cd db && ./db -I $ip &
sleep $sleeptime
sleep 2
echo -e "\033[31m Die Datenbank wurde gestartet.\033[0m"
echo -e "\033[31m Startet den Loginserver ..\033[0m"
cd auth && ./auth -I $ip &
sleep $sleeptime
echo -e "\033[31m Der Loginserver wurde gestartet[0m"
echo -e "\033[31m Starte Channel99 ..\033[0m"
for f in $channelcores
co=$(printf "./ch99_%s" "$f")
fold=$(printf "Channel/channel99/%s" "$f")
cd fold && $co -I $ip &
do
sleep $sleeptime
echo -e "\033[31m Channel99 wurde gestartet.\033[0m"
while [ $a -le $anzahl2 ]
do
txt=$(printf "\033[31m Startet Channel %i ..\033[0m" "$anzahl2")
txt2=$(printf "\033[31m Channel %i wurde gestartet.\033[0m" "$anzahl2")
echo -e $txt
for f in $channelcores
co=$(printf "./ch%i_%s" "$anzahl2" "$f")
fold=$(printf "Channel/channel%i/%s" "$anzahl2" "$f")
cd fold && $co -I $ip &
do
sleep $sleeptime
echo -e $txt2
a=`expr $a + 1`
done
echo -e "\033[31m Der Server wurde erfolgreich\n
\n
hochgefahren.\033[0m"
cd ..
;;
dann definiert man oben noch das:
Code:
channelcores="core1
core2"
ip="EURE-SERVER-IP"
sleeptime=2
und fertig.