Pro-Linux.de

Pro-Linux

Pro-Linux Diskussions- und Hilfeforum
Aktuelle Zeit: 16. Dez 2018 12:28

Alle Zeiten sind UTC+01:00




Ein neues Thema erstellen  Auf das Thema antworten  [ 4 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Server Startscript Problem
BeitragVerfasst: 28. Jan 2011 18:53 
Hallo guten Abend liebe Linux Gemeinde,
hoffe mit euch das Problem lösen zu können :>

Das folgende Script existiert 6 mal wobei immer nur der `NAME` als TDM,CTF,FFA,DUEL,FREEZE geändert ist, doch wenn man einen der anderen startet ist der erste zwar noch im `screen -ls` zu lesen doch da ist er nicht mehr.

Alles manuell zu starten klappt ohne Probleme
Code:
G_USER=root
NAME=CA 
DESC="Quakelive Server" 
PARAMS="+set sv_pure 1 +set dedicated 2 +exec CA.cfg" 
DIR=/home/QL
SCRIPT=qll
DAEMON=$DIR/$SCRIPT 
 
case "$1" in
	start)
    	if [[ `su $G_USER -c "screen -ls | grep $NAME"` ]]
		then
			echo "$DESC is already running!"
		else
			echo "Starting $DESC: $NAME"
			su $G_USER -c "cd $DIR; screen -d -m -S $NAME $DAEMON $PARAMS"
		fi
    ;;
 
	stop)
		if [[ `su $G_USER -c "screen -ls | grep $NAME"` ]]
		then
			echo -n "Stopping $DESC: $NAME "
			kill `ps aux | grep -i screen | grep -i $NAME | awk '{print $2}'`
			echo " ... done."
		else
			echo "Coulnd't find a running $DESC"
		fi
	;;
 
	restart)
		if [[ `su $G_USER -c "screen -ls | grep $NAME"` ]]
		then
			echo -n "Stopping $DESC: $NAME "
			kill `ps aux | grep -i screen | grep -i $NAME | awk '{print $2}'`
			echo " ... done."
		else
			echo "Coulnd't find a running $DESC"
		fi
 
		echo -n "Starting $DESC: $NAME"
		su $G_USER -c "cd $DIR; screen -d -m -S $NAME $DAEMON $PARAMS"
		echo " ... done."
	;;
 
	status)
		ps aux | grep -v grep | grep $SCRIPT > /dev/null
		CHECK=$?
		[ $CHECK -eq 0 ] && echo "$DESC is UP" || echo "$DESC is DOWN"
	;;
 
	*)
		echo "Usage: $0 {start|stop|restart|status}" 
		exit 1 
	;; 
 
esac 
 
exit 0
Dachte er macht schön alles in einzelnen screens stattdessen immer nur der eine Socket. Muss der `Deamon` vielleicht umbenannt werden?

Und evt. noch eine Idee das ganze für alle 6 Server in einem Script zu vereinen?

Danke im Voraus


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 28. Jan 2011 21:18 
Offline
Benutzeravatar

Registriert: 11. Feb 2006 19:10
Beiträge: 3569
Wenn ich dich recht verstehe, möchtest du mehrere Instanzen des Quakelive-Servers starten. Bei dir verwenden aber alle Skripte dieselbe Konfiguration für den Daemon.

Was ich *vermute* ist folgendes (kenne Quakelive nicht): Der in der Konfiguration angegebene Netzwerk-Port zum Connecten kann nur einmal pro Rechner benutzt werden. Den will aber jeder der Daemons aufmachen, und das klappt natürlich nicht, wenn er schon von einem anderen belegt ist. Vermutlich löst sich dein Problem, wenn du jedem Daemon eine eigene Konfigurationsdatei mit jeweils anderem Netzwerk-Port gibst.

Janka

_________________
Ich vertonne Spam immer in /dev/dsp statt /dev/null.
Ich mag die Schreie.


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 29. Jan 2011 10:30 
Hallo guten Morgen,

das mit dem Netport können wir ausschließen da bei jedem Serverscript auch bei den `Params` eine eigene *.cfg angegeben ist wo jeder einen anderen Netport und andere Zeit/Powerup/Teamdamage/etc. Einstellungen bekommt.
Wenn ich alle 6 auf einmal starte sehe ich sie für einen kurzen Moment in der Prozessliste stehen jedoch sind kurz darauf alle anderen 5 wieder weg. Auch das mit den Netports ist dort gut zu sehen das jeder einen anderen Port nutzt. In welcher logfile könnte ich da evt. fündig werden? mfg miCha


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 12. Feb 2011 15:39 
Offline

Registriert: 03. Mär 2006 23:16
Beiträge: 430
Das noch gefunden:
Zitat:
Code:
sudo ./qll +set dedicated 2 +set sv_pure 0 +set fs_homepath = ~/.quakelive +set fs_basepath = ~/qlded ...
also jeder Instanz einen eigenen homepath/basepath geben?
(Hardlinks für die pk3)

(Warum muß daß Ding eigentlich 'su root' laufen?)
-> verschiedene Benutzer nehmen


Falls das binary dann noch die Prozeßliste abklappert,
hilft vielleicht sowas wie der openwall-Patch (bis Kernel 2.4)
http://www.openwall.com/linux/README.shtml :
Zitat:
Restricted /proc.
...
This option restricts the permissions on /proc so that non-root users can see their own processes only, and nothing about active network connections, ...
-> Moderner wäre grsecurity http://grsecurity.net/features.php, zBsp.
Zitat:
* /proc restrictions that don't leak information about process owners
oder ein anderes Kernelsecurity-Modell
oder ein chroot (die fetten pk3 können da ja hardlinked sein).

_________________
mfg komsomolze


Nach oben
   
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen  Auf das Thema antworten  [ 4 Beiträge ] 

Alle Zeiten sind UTC+01:00


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 0 Gäste


Sie dürfen keine neuen Themen in diesem Forum erstellen.
Sie dürfen keine Antworten zu Themen in diesem Forum erstellen.
Sie dürfen Ihre Beiträge in diesem Forum nicht ändern.
Sie dürfen Ihre Beiträge in diesem Forum nicht löschen.
Sie dürfen keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
cron
Powered by phpBB® Forum Software © phpBB Limited
Deutsche Übersetzung durch phpBB.de