Willkommen Gast
Du bist nicht angemeldet, um alle Funktionen des Forums zu nutzen musst du dich registrieren und anmelden. Die Registrierung ist natürlich völlig kostenlos und kann jeder Zeit wiederrufen werden.

Aktuelle Zeit: 11. Feb 2012 12:47

FERA Server in screen "einsperren"

Forum für F.E.A.R. (First Encounter Assault and Recon) Gameserver.


FERA Server in screen "einsperren"

Beitragvon Haraldos am 25. Nov 2005 10:33

Hallo zusammen,
ich habe den FEAR dedicated Server für Linux auf meinem Suse fertig und lauffähig installiert. Mit einem ./start.sh startet der Server ohne Fehlermeldung. Den connect zum Server aus dem Game heraus konnte ich allerdings noch nciht ausprobieren.

Jetzt versuche ich den Server auf einen Screen zu sperren, und zwar so:

screen -d -m -S fear ./start.sh

startet der Server nicht sondern postet eine Zeile nach der anderen mit shutting down, shutting down usw. Und zwar so lange, bis ich den screen terminiere.

Jemand ne Idee?
Haraldos
Wiederkehrer
Wiederkehrer
 
Beiträge: 6
Registriert: 25. Nov 2005 10:30

Beitragvon AlexK2307 am 25. Nov 2005 19:52

Poste mal Dein start.sh.

Ich schreibe immer noch ein anderes Skript:

Code: Alles auswählen
#!/bin/bash
cd /mein/server/dir
./start.sh


Ansonsten kannst noch -d -m -S in -dmS abkürzen. ;)
Benutzeravatar
AlexK2307
Moderator
Moderator
 
Beiträge: 899
Registriert: 12. Jul 2005 09:55
Wohnort: Regensburg

Beitragvon MikeRivle am 26. Nov 2005 01:17

ich hab
Code: Alles auswählen
screen -dmS FEAR ./start.sh

gemacht und funktioniert einwandfrei
Benutzeravatar
MikeRivle
Mitglied
Mitglied
 
Beiträge: 336
Registriert: 30. Jul 2005 11:44
Wohnort: Bayern

Beitragvon Haraldos am 1. Dez 2005 10:56

Vielen Dank soweit, aber das Spiel ist immer noch so buggy, dass ich es aufgegeben habe und den Kram nicht noch mit nem eigenen Gameserver unterstüzen mag.
Haraldos
Wiederkehrer
Wiederkehrer
 
Beiträge: 6
Registriert: 25. Nov 2005 10:30

Beitragvon bobo am 9. Aug 2006 14:53

Ich habe den Server mit einem Script in einem Screen gestartet, wenn ich den Screen kille läuft der Server aber weiter wie kille den laufenden Server.
bobo
Mitglied
Mitglied
 
Beiträge: 58
Registriert: 28. Mär 2006 16:29

Beitragvon bwar am 11. Aug 2006 13:38

ps aux in die kosnole eingeben, die pid raussuchen und merken. Die steht in der linken Spalte.

Dann kill PIDNUMMER fertig
bwar
Mitglied
Mitglied
 
Beiträge: 473
Registriert: 27. Jul 2005 08:36

Beitragvon AlThor am 27. Aug 2006 20:39

Hallo hier ein Start script für FEAR,
damit sollte das Screen Problem gelöst sein. :D
Da es mit absoluten Pfaden arbeitet kann es auf dem Server liegen wo Ihr wollt, FEAR Startordner ist natürlich empfohlen.
Ich übernehme keine Garantie oder Gewährleistung - versteht sich von selbst.
Benutzung:
Script in eine leere Datei mit Namen fear.sh kopieren.
Absoluten Pfade in DIR=/home/.../FEAR eingeben
eine leere Datei mit Namen fearstart.log erzeugen
Absoluten Pfad in LOGDIR=/home/..../ eingeben
Aufruf:
./fear.sh start -> startet den FEAR Server
./fear.sh stop -> stoppt den FEAR Server
./fear.sh restart -> restart des FEAR Servers
./fear.sh status -> gibt an ob der Server läuft (Prozess) oder nicht

Sollten mehrere FEAR Server laufen kann die Datei fear.sh auch umbenannt werden. Der Aufruf ändert sich entsprechend.

da der Prozess von FEAR schwierig zu KILLEN ist, bitte ich um Rückmeldung ob es bei euch genauso gut Funktioniert wie bei uns.


So nun zum Script......


Code: Alles auswählen
#! /bin/sh
#########################################################
# STARTSCRIPT FÜR EINEN F.E.A.R. Combat SERVER #
#########################################################
# Benutzung auf eigene Gefahr!!!!! #
# SCREEN muss auf dem Server installiert sein! #
#########################################################
# Vars: #
# NAME Screen-Name #
# DESC Server-Beschreibung #
# PARAMS Start-Parameter #
# DIR Directory (absolut) #
# SCRIPT Serverstart-Script #
# DAEMON Daemon #
# LOGDIR Log Directory (absolut)#
# LOGDAT Log Datei Name
#########################################################
# OPTIONS: (start|stop|restart|restartdaily|status) #
#########################################################

################## User ################################
# Es wird empfohlen NICHT als root laufen lassen
################## Vars #################################
# Screen NAME
# Attach Screen : # screen -r NAME
# Detach Screen : # [CTRL]+[A]; [D]
# Don't press [CTRL]+[C] it will terminate screen
NAME=fearalfa
################## Server Description ###################
# Single Word DESC=myserver
# Multiple Words DESC="This is my Server"
DESC="F.E.A.R. Pub-Server"
################## Parameter ############################
# CAN USE: +servercfgfile server.cfg OR +exec server.cfg
# bleibt in der Regel frei
PARAMS=""
################## Directory ############################
# Pfad zum FEAR-Directory (absolute) ohne "/" am Ende
DIR=/home/.../FEAR
################## DAEMON ##############################
# Hier das Startscript platzieren, normalerweise fearserver.bin
# ohne "/" am Anfang
SCRIPT=fearserver.bin
################## LOGDATEI ##############################
#Falls eine LOG DATEI gewünscht wird muss diese DATEI von Hand
#als leere Datei erstellt werden z.B. fearstart.log
################## LogDatei PFad ##############################
# Hier den Pfad zur LogDatei (falls LogDatei gewünscht) absolut angeben
# ohne / am Ende
LOGDIR=/home/..../
################## LogDatei ##############################
# Hier den Namen der LogDatei angeben z.B. start.log
# ohne / am Anfang
LOGDAT=fearstart.log
##############################################################
####       NICHTS UNTER DIESER ZEILE VERÄNDERN ! ! !      ####
#  Wenn Du weisst, was Du tust kannst Du tun was du willst!  #
##############################################################
start=`date '+%H:%M on %d/%m/%y'`
DAEMON=./$SCRIPT

case "$1" in
start)
if [[ `screen -ls | grep $NAME` ]]
then
echo "$DESC läuft bereits!"
else
echo "Starte $DESC "
cd $DIR
export LD_LIBRARY_PATH=$PWD:$LD_LIBRARY_PATH
screen -dmS $NAME $DAEMON $PARAMS
#nächte Zeile verwenden zum Loggen (Datei muss von Hand erstellt werden, wenn noch nicht vorhanden)
echo "User Start F.E.A.R. Pub-Server     ->started@ $start" >>$LOGDIR/$LOGDAT
echo "Starte $DESC -> Done "
fi
;;

stop)
if [[ `screen -ls | grep $NAME` ]]
then
echo -n "Stoppe $DESC "
kill `screen -ls |grep $NAME |awk -F . '{print $1}'|awk '{print $1}'`
pid=$!
kill -s 9 -kill $pid `ps -A | grep $SCRIPT |awk -F . '{print $1}'|awk '{print $1}'`
wait $pid
#nächte Zeile verwenden zum Loggen (Datei muss von Hand erstellt werden, wenn noch nicht vorhanden)
echo "User Stop $DESC      ->stoped@ $start" >>$LOGDIR/$LOGDAT
echo " ... done."
else
echo "Kein laufenden $DESC gefunden!"
fi
;;

restart)
if [[ `screen -ls | grep $NAME` ]]
then
echo -n "Stoppe $DESC "
kill `screen -ls |grep $NAME |awk -F . '{print $1}'|awk '{print $1}'`
pid=$!
kill -s 9 -kill $pid `ps -A | grep $SCRIPT |awk -F . '{print $1}'|awk '{print $1}'`
wait $pid
#nächte Zeile verwenden zum Loggen (Datei muss von Hand erstellt werden, wenn noch nicht vorhanden)
echo "User Stop $DESC      ->stoped@ $start" >>$LOGDIR/$LOGDAT
echo " ... done."
else
echo "Kein laufenden $DESC gefunden!"
fi

if [[ `screen -ls | grep $NAME` ]]
then
echo "$DESC läuft bereits!"
else
echo "Starte $DESC "
cd $DIR
export LD_LIBRARY_PATH=$PWD:$LD_LIBRARY_PATH
screen -dmS $NAME $DAEMON $PARAMS
#nächte Zeile verwenden zum Loggen (Datei muss von Hand erstellt werden, wenn noch nicht vorhanden)
echo "User Start $DESC     ->started@ $start" >>$LOGDIR/$LOGDAT
echo "Starte $DESC -> Done "
fi
;;

restartdaily)
if [[ `screen -ls | grep $NAME` ]]
then
echo -n "Stoppe $DESC "
kill `screen -ls |grep $NAME |awk -F . '{print $1}'|awk '{print $1}'`
pid=$!
kill -s 9 -kill $pid `ps -A | grep $SCRIPT |awk -F . '{print $1}'|awk '{print $1}'`
wait $pid
#nächte Zeile verwenden zum Loggen (Datei muss von Hand erstellt werden, wenn noch nicht vorhanden)
echo "Daily Stop $DESC     ->stoped@ $start" >>$LOGDIR/$LOGDAT
echo " ... done."
else
echo "Kein laufenden $DESC gefunden!"
fi

if [[ `screen -ls | grep $NAME` ]]
then
echo "$DESC läuft bereits!"
else
echo "Starte $DESC "
cd $DIR
export LD_LIBRARY_PATH=$PWD:$LD_LIBRARY_PATH
screen -dmS $NAME $DAEMON $PARAMS
#nächte Zeile verwenden zum Loggen (Datei muss von Hand erstellt werden, wenn noch nicht vorhanden)
echo "Daily Restart $DESC  ->restarted@ $start" >>$LOGDIR/$LOGDAT
echo "Starte $DESC -> Done "
fi
;;


status)
ps aux | grep -v grep | grep $DAEMON > /dev/null
CHECK=$?
[ $CHECK -eq 0 ] && echo "$DESC is UP" || echo "$DESC is not RUNNING!!!"
;;
*)

echo "Benutze: $0 {start|stop|restart|restartdaily|status}"
exit 1
;;
esac

exit 0

---



Der Aufruf ./fear.sh restartdaily ist für unseren crontab um eine Unterscheidung in der Log Datei zu haben, da wir den Server täglich mit crontab restarten.

viel Spass damit :D
AlThor
Neuling
Neuling
 
Beiträge: 3
Registriert: 27. Aug 2006 08:08

Beitragvon CycoSven am 31. Aug 2006 13:25

Vielen Dank für das Script.
Ab dem nächsten FEAR-Server Restart, werde ich das Script benutzen.

Danke das Du das Script öffentlich anbietest, ich bekomme sowas noch nicht gescriptet.

Gruss Sven
CycoSven
Mitglied
Mitglied
 
Beiträge: 11
Registriert: 7. Mai 2005 21:20


Zurück zu F.E.A.R.




Ähnliche Beiträge

[CSS] Deathmatch Server
Forum: Clans
Autor: artiii
Antworten: 0
[Biete] Kostengünstigen CS:S Server ohne Vertrag
Forum: Marktplatz
Autor: AlphaSequenz
Antworten: 1
Css Server lagt?
Forum: Counter Strike Source
Autor: krolf
Antworten: 2
V-Server Angebot 30% Rabatt
Forum: Angebote
Autor: Gamewebi
Antworten: 1
Root-Server Restposten im Februar vorbestellen
Forum: Angebote
Autor: yLABS|nExUs
Antworten: 0


Wer ist online?

Mitglieder: Google [Bot], Google Adsense [Bot], MSN [Bot]