Script Pour Démarrage Serveur Dédié Linux, Correction du script de démarrage CS |
02/06/2005 - 19:57:54 |
Post
#1
|
|
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 |
|
|
02/06/2005 - 21:20:17 |
Post
#2
|
|
Group: Member Posts: 334 Joined: 02/04/2004 Team: #MCk'tC? |
simple question de non connaisseur : t'es bien sur que ton script se lance bien ? que tu rentres bien dans le start apres un reboot auto ?
t'as pas moyen de mettre a jour un fichier pour "tracer" le passage ? This post has been edited by Patxi: 02/06/2005 - 21:21:04 |
|
|
02/06/2005 - 23:00:16 |
Post
#3
|
|
Group: Member Posts: 420 Joined: 28/12/2004 Team: CC+I7B_Ogames |
en fait le script démarre uniquement si je met la commande suivante :
/etc/init.d/hlds start et ca uniquement si je change mon user en root que veut tu dire avec les tracantes ? tu parle du plugins ´pour mettre la derniere balle tracante quand tu meurt sur CS |
|
|
03/06/2005 - 01:20:39 |
Post
#4
|
|
Group: 17 Buddies Posts: 13 317 Joined: 27/02/2004 Team: nG |
j'aurais bienn voulu te repondre, mais je trouve que tu te melanges entre login, serveur ( materiel ) et serveurs de jeux (IMG:http://forum.17buddies.rocks/style_emoticons/default/blink.gif)
même en lisant 3 fois ton post, j'arrive pas a comprendre ce que tu veux exactement (IMG:http://forum.17buddies.rocks/style_emoticons/default/hum.gif) et ce que quand ton serveur demarre (materiel j'espere (IMG:http://forum.17buddies.rocks/style_emoticons/default/blink.gif) ) , ca te logge automatiquement en pub24 ? ou en root ? |
|
|
03/06/2005 - 01:24:04 |
Post
#5
|
|
Group: 17 Buddies Posts: 13 317 Joined: 27/02/2004 Team: nG |
QUOTE (godzilla @ 02/06/2005 à 20:57:54) j ai crée sur mon serveur root ( suse 9.0 Linux) exemple ici, un serveur root, ca se creeait pas , tu crees un serveur avec un login root (si c'est bien materiel ), QUOTE reboot et restart automatiquement en cas de crash de ceux-ci . serveur materiel ? This post has been edited by benneb: 03/06/2005 - 01:25:24 |
|
|
03/06/2005 - 07:16:35 |
Post
#6
|
|
Group: Moderator Posts: 3 612 Joined: 07/09/2004 Team: CooLClaN |
je me permet de repondre pour lui, lol je sais ou est le serveur..
le login est en root oui tu as compris.. le reste oui c est materiel, car en cas de plantage ou restart soft, c ets deja reglé; le blem c est que quand on fait un rebbot hardware apres faut tout relancer a la main. et si vous connaissez un dieu du script on cherche aussi afaire des bouton de gestion ( ex restart) a partir du web (IMG:http://forum.17buddies.rocks/style_emoticons/default/icon_ami.gif) (IMG:http://forum.17buddies.rocks/style_emoticons/default/icon_kimouss.gif) |
|
|
03/06/2005 - 08:50:08 |
Post
#7
|
|
Group: Member Posts: 334 Joined: 02/04/2004 Team: #MCk'tC? |
1)
QUOTE (godzilla @ 02/06/2005 à 23:00:16) que veut tu dire avec les tracantes ? tu parle du plugins ´pour mettre la derniere balle tracante quand tu meurt sur CS non non du tout, on oublie CS, on essaie de voir si ton script se lance correctement au reboot de ta machine (tu lancerais un ftp, ca serait pareil en gros). donc ce ue je veux dire par tracer c'est au lieu de faire des : CODE echo "HLDS is already running!" essayer de mettre des lignes dans un fichier texte, histoire de pouvoir le consulter et voir dans quelles lignes passe ton script. 2) es tu sur que le init.d peux executer des scripts sous un autre user que root (je connais pas assez linux pour savoir dsl) 3) as tu essayé de modifier ton cron plutot que de rajouter ton script dans le init.d ? |
|
|
03/06/2005 - 14:29:05 |
Post
#8
|
|
Group: Member Posts: 420 Joined: 28/12/2004 Team: CC+I7B_Ogames |
Merci pour les réponses , effectivement comme a dit klendhaar il sagit bien du problème après un démarrage (matériel) qui m empeche de relancer le serveur jeux ( software) automatiquement , je dois dire aussi que je suis sur la connaissance du system linux depuis 1 mois et que je ne connais pas encore vraiment le system ou toutes les possibiliées de celui-ci.
Je cherche une solution simple a realisée si possible pour démarrer comme tu la dit au dessus un soft automatiquement apres un reboot de la machine, quel sont les droits obligatoires pour le User qui devrais avoir l autorisation du démarrage sous init.d nécessaire ? ou a tu une autre solution plus simple comme cron ? ( j ai deja entendu mais je connais pas encore les commandes et comment l employer ) , qui aurait un script déjà en fonctionement que je pourrais employer ? merci encore pour les réponses bienvenu a tous sur nos serveur aussi http://www.coolserveur.com du coolclan |
|
|
03/06/2005 - 15:03:36 |
Post
#9
|
|
Group: 17 Buddies Posts: 13 317 Joined: 27/02/2004 Team: nG |
QUOTE j ai mis mon script (s appelle hlds) dans le répertoire : /etc/init.d/ pourquoi ne pas le mettre ailleurs ? |
|
|
05/06/2005 - 23:00:24 |
Post
#10
|
|
Group: Member Posts: 420 Joined: 28/12/2004 Team: CC+I7B_Ogames |
Voila , j ai trouvé un script qui fonctionne avec le user (pub24) et non pas sur root ( admin) et de plus il est facile a employer , la seule chose encore que j aurais besoin serait de me dire comment je dois faire pour démarrer le script automatiquement apres un reboot de la machine (materiel), le script ici est mis dans le repertoire du jeux et est demarrer par l odre ./serv_start avec la console manuellement .merci d avance
en fait il existe 2 scripts mis dans le repertoire du jeux: le 1 donne l acces au 2 voici le 1:( s appelle serv_start) #!/bin/sh /home/pub24/cs16/serv_astart & voici le 2: (s appelle serv_astart) #!/bin/sh dir="/home/pub24/cs16/" MAP="de_dust" PORT="27015" IP="192.168.1.8" PLAYERS="12" logfile=$dir"/serv_astart.txt" while : ; do echo "Serveur lancé sans problèmes" start=`date '+%d%H%M%S'` echo "Serveur lancé : `date`" >> $logfile export LD_LIBRARY_PATH=$dir:$LD_LIBRARY_PATH cd $dir ./hlds_run -game cstrike +maxplayers $PLAYERS +map $MAP -port $PORT -ip $IP -pingboost 3 stop=`date '+%d%H%M%S'` echo "Serveur Arreté: `date`" >> $logfile t=`expr $stop - $start` if test 0 -le $t -a $t -lt 5 ; then failcount=`expr $failcount + 1` else failcount=0 fi if test $failcount -gt 5 ; then echo "Arrêt du serveurs, problème interne à HLDS,Veuillez regarder la configuration" >&2 exit 1 fi sleep 10 done |
|
|
06/06/2005 - 08:58:25 |
Post
#11
|
|
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) |
|
|
06/06/2005 - 12:13:26 |
Post
#12
|
|
Group: 17 Buddies Posts: 13 317 Joined: 27/02/2004 Team: nG |
apres un reboot, si ca te loggue automatiquement en pub24, tu mets la commande dans ton .bash_profile.
jamais testé sur Suse, mais doit etre pareil This post has been edited by benneb: 06/06/2005 - 12:14:01 |
|
|
08/10/2005 - 15:26:20 |
Post
#13
|
|
Group: Member Posts: 1 Joined: 03/05/2005 Team: *! C&C !* |
faut que tu mettes un lien symbolique de ton script vers tt les run level de ta distrib
comme ca a chaque demarrage de ta machine le script se lancera automatiquement renseigne toi la sessus et tu devrais trouver ton bonheur |
|
|
08/10/2005 - 16:52:01 |
Post
#14
|
|
Group: 17 Buddies Posts: 5 245 Joined: 15/01/2004 Team: KiNdReD |
QUOTE (godzilla @ 02/06/2005 à 19:57:54) 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 [B]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 tu es sur de démarrer en runlevel 3 ? regarde dans le fichier /etc/inittab tu dois avoir un ligne du style QUOTE # The default runlevel. id:2:initdefault: avec à la place de 2 le runlevel (IMG:http://forum.17buddies.rocks/style_emoticons/default/icon_biggrin.gif) et place tes liens symbolique dans le bon répertoire rc2.d, rc3.d ou rc4.d ensuite, tout les scripts de démarrage sont executer par root, mais tu peux dire à root d'executer une commande en tant qu'un autre utilisateur, c'est entre autre ce que fait ton script avec la commande su, tu pourrais également regarder du coté de la commande start-stop-daemon par exemple, au lieu d'utiliser screen un bon moyen de verifier que tes serveurs tournent bien sous l'utilisateur pub52 est de taper : ps -fe |grep hlds_run et de regarder quel est l'utilisateur propriétaire du process (IMG:http://forum.17buddies.rocks/style_emoticons/default/icon_biggrin.gif) |
|
|
08/10/2005 - 18:38:16 |
Post
#15
|
|
Group: Member Posts: 420 Joined: 28/12/2004 Team: CC+I7B_Ogames |
Merci a vous tous , pour les réponses a mes questions , j ai pris l habitude de démarrer les serveur jeux semi automatique , ce qui veut dire que apres un reboot de la machine complete je vais démarrer les scripts des serveurs jeux manuellement pour verifier aussi les actualisations de ceux -ci en plus , l avantage est aussi le moyen de voir la console de démarrage du jeux et de résoudre les problémes eventuels , ceci est évidemment avec 2 machines differentes et + de 6 serveur jeux et 1 teamspeak un peus de boulot , mais aureusement les serveurs linux sont assez stable et me permet de ne pas devoir redemarrer trop souvent ceux-ci.
merci encore a+ a tous |
|
|
08/10/2005 - 22:29:56 |
Post
#16
|
|
Group: 17 Buddies Posts: 9 162 Joined: 01/01/2004 Team: 17's buddies |
sinon perso a l epoque de clubic pour les lancer sans problmee et les relancer en cas de crach je me servait du cron
c'etait parfait (IMG:http://forum.17buddies.rocks/style_emoticons/default/icon_kimouss.gif) |
|
|
08/10/2005 - 22:46:12 |
Post
#17
|
|
Group: 17 Buddies Posts: 5 245 Joined: 15/01/2004 Team: KiNdReD |
monsieur l'administrateur reseau, je ne sais pas qui est ce monsieur cron qui m'envoi des mails tous les soirs, mais veuillez lui dire de cesser de me harceler sinon je me plaindrais à la direction !
|
|
|
10/10/2005 - 07:56:35 |
Post
#18
|
|
Group: Member Posts: 334 Joined: 02/04/2004 Team: #MCk'tC? |
QUOTE (Nosferatu @ 08/10/2005 à 22:46:12) monsieur l'administrateur reseau, je ne sais pas qui est ce monsieur cron qui m'envoi des mails tous les soirs, mais veuillez lui dire de cesser de me harceler sinon je me plaindrais à la direction ! (IMG:http://forum.17buddies.rocks/style_emoticons/default/icon_ane.gif) (IMG:http://forum.17buddies.rocks/style_emoticons/default/icon_ane.gif) |
|
|
Lo-Fi Version |
Skin © Chapo
|