Script Pour Démarrage Serveur Dédié Linux, Correction du script de démarrage CS |
![]() ![]() |
|
Group: Member Posts: 420 Joined: 28/12/2004 ![]() Team: CC+I7B_Ogames ![]() |
[B]Salut a tous, j ai crée sur mon serveur root ( suse 9.0 Linux) , des serveurs jeux dédié ( CS 1.6 - Source - DOD - Rally )qui fonctionne sans problèmes et s ´actualisent automatiquement après chaque reboot et restart automatiquement en cas de crash de ceux-ci .
Mon problème est de corriger mon script de demarrage des serveurs jeux pour qu il puissent automatiquement se mettre en fonctionement après un reboot complet du serveur root . Le script suivant fonctionne uniquement sur root ( je veus le démarrer en user pub24 uniquement )et de plus il ne fonctionne que après un démarrage manuel et non après un reboot serveur complet. Merci d´avance pour votre aide. voici les renseignements de mon serveur : exemple pour un jeux CS1.6 le jeux CS est dans le répertoire suivant : /home/pub24/cs16 le user qui devrais démarrer le serveur s ´appelle : pub24 j ai mis mon script (s appelle hlds) dans le répertoire : /etc/init.d/ et mis celui-ci en execution avec : chmod 755 /etc/init.d/hlds apres ca mis les links avec : ln -s /etc/init.d/hlds /etc/init.d/rc3.d/S90hlds :ln -s /etc/init.d/hlds /etc/init.d/rc3.d/K30hlds script: #!/bin/sh # # Start the Counter-Strike dedicated server as non-root. # # A modification of the CS Server startup script, to run the server # as a non-root user. # # ORIGINAL AUTHORS : # # Julien Escario ( pandemik@asylog.net ) # & # Cedric Rochat ( crochat@younics.org ) # # =========================================== # # What you need: # # Linux (IMG:http://forum.17buddies.rocks/style_emoticons/default/smile.gif) # awk # screen # the hlds_l & cstrike-files OR # a STEAM-installation # # YES, this script works fine with STEAM and CS 1.6 # # How to use: # # Edit the DIR-var to fit your system (just contains the path to the dir that contains hlds_run) # Edit the PARAMS-var to fit your needs # Edit the CS_USER-var to the name of the user that will run the server # # How to see the server-console: # # Just type in: screen -r hlds (or whatever you set $NAME to) # More info about screen can be found by typing "man screen" or using this nice link # http://server.counter-strike.net/server.ph...wto&show=screen # # The easist way is to use this script simple as a start-script for your server # If you want to use it as a script to start the server at boot-time: # # When this is done, copy the file to /etc/rc.d/init.d (or whereever your system stores the # scripts for starting the services # Now you can link the script to your runlevel-dir, here's an example for runlevel 3: # (THIS IS FOR DEBIAN! If you use e.g. Redhat you must change these dirs!!!) # # ln -s /etc/init.d/hlds /etc/rc3.d/S90hlds # ln -s /etc/init.d/hlds /etc/rc6.d/K50hlds # # Or use it manualy like: # /etc/rc.d/init.d/hlds start # /etc/rc.d/init.d/hlds stop # # If you don't want to start the server as root you have to change this: # add the var CS_USER and uncomment it # change the lines at the "start-block" # # You must be logged in as this user to re-attach the screen! # # DOC by jwm (jwm@counter-strike.de) # The user that will run the server CS_USER=pub24 # Leave this alone. NAME=hlds PATH=/bin:/usr/bin:/sbin:/usr/sbin # DON'T FORGET TO CHANGE THE PATH TO YOUR NEEDS! DIR=/home/pub24/cs16 # Leave this alone. DAEMON=hlds_run # Internet-server: PARAMS="-game cstrike +map de_aztec +maxplayers 16" # Leave this alone. DESC="Counter-Strike dedicated server" case "$1" in start) if [[ `su $CS_USER -c "screen -ls |grep $NAME"` ]] then echo "HLDS is already running!" else echo "Starting $DESC: $NAME" su $CS_USER -c "cd $DIR; screen -m -d -S hlds ./$DAEMON $PARAMS" fi ;; stop) if [[ `su $CS_USER -c "screen -ls |grep $NAME"` ]] then echo -n "Stopping $DESC: $NAME" kill `ps aux | grep -v grep | grep -i $CS_USER | grep -i screen | grep -i $NAME | awk '{print $2}'` echo " ... done." else echo "Coulnd't find a running $DESC" fi ;; restart) if [[ `su $CS_USER -c "screen -ls |grep $NAME"` ]] then echo -n "Stopping $DESC: $NAME" kill `ps aux | grep -v grep | grep -i $CS_USER | 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 $CS_USER -c "cd $DIR; screen -m -d -S hlds ./$DAEMON $PARAMS" echo " ... done." ;; status) ps aux | grep -v grep | grep hlds_r > /dev/null CHECK=$? [ $CHECK -eq 0 ] && echo "HLDS is UP" || echo "HLDS is DOWN" ;; *) echo "Usage: $0 {start|stop|status|restart}" exit 1 ;; esac exit 0 |
|
|
![]() |
![]() |
|
Group: Member Posts: 334 Joined: 02/04/2004 ![]() Team: #MCk'tC? ![]() |
godzilla, ton script qui lance CS on va considérer qu'il marche et on en parle plus.
maintenant, tu veux lancer un script au démarrage de ta machine(cs, ftp, hello). d'apres ce que j'ai lu, en plus de devoir rajouter ton script dans le init.d (endroit par defaut) tu dois rajouter un "lien" pour le rendre valide : http://www.alionet.org/lofiversion/index.php/t595.html (un exemple pour suse) Renseigne toi sur le fonctionnement de la commande rc-update (add - remove) pour activer/desactiver un service ... voila ... aide pas bien complète desole ... j'ai pas de serv sous la main, donc peux pas te dire mieux (IMG:http://forum.17buddies.rocks/style_emoticons/default/icon_neutral.gif) |
|
|
![]() ![]() |
![]() |
Lo-Fi Version |
Skin © Chapo
|