Comment executer un script en demarrage !
neospeed2
09/07/2009, 18h46
A tu lancer :
update-rc.d tonfichier.sh defaults 99
Bonjour j'ai un petit soucis, mes serveurs ne reboot pas quand je reboot ma machine.
Voici le code que j'ai mi dans etc/init.d
#!/bin/sh
#Lancement du serveur 2vs2
cd /home/cs/cs1/steam/ (l'endroit ou ce trouve le programme!)
su xxx -c 'screen -AdmSL 2vs2 taskset -c 0 ./hlds_run -game cstrike +maxplayers 06 +map de_dust2 +port 27014 -autoupdate -sys_ticrate 1000 -tos -ticrate 100'
Précisions : en passant directement par putty, étape par étape, les serveur ce lance parfaitement.
DSL si je suis pas dans la bonne rebrique pas fait attention, mais pourriez vous quand même me répondre.
feraridu13
19/03/2009, 22h36
Je me suis inscris juste pour dire:
C'est pas compliqué je vois pas pourquoi vous y arrivez pas c'est le premier*sh que je fais et il marche super
Code:
#!/bin/sh
#Serveur predator
cd /home/serveurcs/serveur1/steam
su predator -c 'screen -dmS serveur1 ./hlds_run -game cstrike +maxplayers 25 +map de_westwood +port 27015'
#Serveur zombie
cd /home/serveurcs/serveur2/steam
su predator -c 'screen -dmS serveur1 ./hlds_run -game cstrike +maxplayers 32 +map de_dust2 +port 27016'
#Serveur a franck
cd /home/serveurcs/serveur3/steam
su predator -c 'screen -dmS serveur1 ./hlds_run -game cstrike +maxplayers 12 +map de_dust2 +port 27014'
#Serveur surf
cd /home/serveurcs/serveur4/steam
su predator -c 'screen -dmS serveur1 ./hlds_run -game cstrike +maxplayers 16 +map surf_ski_2 +port 27017'
Je recapitule:
Code:
# Signifie que la ligne sera ignorée
su xXx -c va indiquer a la machine tu vas te conencter en tant que xXx et tu aurra la possibilité d'executer la commande definie par -c c'est a dire la suivante 'launch server'
screen veut dire dans le jargon Windows qu'il ne sera pas lancé en tant que programe mais en tant que processus systeme
le lancer avec un autre utilistateur que root permet d'empecher la connexion a partir du serveur de jeu hebergé et donc le hack
>VOila je garantis pas que c'est juste car je suis debutant en systemes linux et que c'est mon premier fichier script
Bref c'etait pas si compliqué que ca
PS: Avant que les rageux arrive j'ai reboot la machine via la commande reboot
puis apres ps aux pour verifier qu'ils soit bien lance sur l'user defini et puis top pour bien etre sur
Bonjour
je voulai savoir si sa lancer le serveur au demarrage du dedier ou juste qs on le rebbot avec hlsw??
merci beaucoup

Envoyé par
Jauffrey
Quand je tape:
Il est écrit :
Pourquoi ?
Par ce que ... ton script n'est pas exécutable !
Tape, en root:
chmod +x tonscript.sh
Jauffrey
01/06/2008, 08h43
Quand je tape:
rc-update add monfichicher.sh defaults 99
Il est écrit :
monficher.sh is not executable; skipping
Pourquoi ?
Salut !
J'aimerai savoir si il est possible de faire un fichier .sh avec dedans des commandes pour faire ouvrir d'autres fichier .sh ?
Si oui, qu'elle est la commande sous Gentoo ?
À bientôt !
toute l'install c'est bien passee mais quand je veut le lancer bah :/ rien aprés
lol de rien et fonction éditer
tout marche tout ca a cause d'un petit screen ^^
désolé je me suis rendu compte ke j'avai oublier le screen ;D lol
Code:
#!/bin/sh
#Lancement du serv01 des Bn'w
cd /home/serversbnw/serv01/
su serv -c './hlds_run -game czero +maxplayers 24 +map de_dust2_cz +port 27015 -pingboost 3 -autoupdate -sys_ticrate 5000 -tos &'
Peut-être avec un sleep entre chaque serveur, mais aussi la variable & qui permet de lancer en tache de fond...
Et lancer en screen est peut-être mieux...
Pour moi :
Code:
cd /home/warserv/serv/
su warserv -c 'screen -AmdS server_WAR ./hlds_run -game cstrike +maxplayers 11 +map de_dust2 +port 27030 -pingboost 3 +sys_ticrate 1000 +fps_max 1000 &'
re all ... voila j'ai un petit probleme ... j'ai quatres serveurs différents à lancer à chaque reboot. Voila mes quatres scripts (je suis sous gentoo 64 bits):
Code:
#!/bin/sh
#Lancement du serv01 des Bn'w
su serv -c 'cd /home/serversbnw/serverscz/serv01; ./hlds_run -game czero +maxplayers 24 +map de_dust2_cz +port 27015 -pingboost 3 -autoupdate -sys_ticrate 5000 -tos
'
Code:
#!/bin/sh
#Lancement du serv02 des Bn'w
su serv -c 'cd /home/serversbnw/serverscz/serv02; ./hlds_run -game czero +maxplayers 20 +map de_dust2_cz +port 27014 -pingboost 2 -autoupdate -sys_ticrate 2000 -tos
'
Code:
#!/bin/sh
#Lancement du serv03 des Bn'w
su serv -c 'cd /home/serversbnw/serverscz/serv03; ./hlds_run -game czero +maxplayers 11 +map de_dust2_cz +port 27013 -pingboost 3 -autoupdate -sys_ticrate 10000 -tos
'
Code:
#!/bin/sh
#Lancement du serveurcss
su serv -c 'cd /home/server1/ftp1/steam/css; screen -dmS serveur1 ./srcds_run -console -game cstrike +ip 91.121.70.16 -port 27010 +map de_dust2 +maxplayers 12 -pingboost 3 -autoupdate -tickrate 300
'
Tous les dossiers et fichier en jeux appartiennent à l'utilisateur serv ... le problème est que seul le serv01 se lance lorsque je reboot... J'ai essayé de regrouper tous les scripts en un seul ca n'a pas marché!
Pourtant lorsque je lance manuellement
Code:
su serv -c 'cd /home/serversbnw/serverscz/serv02; ./hlds_run -game czero +maxplayers 20 +map de_dust2_cz +port 27014 -pingboost 2 -autoupdate -sys_ticrate 2000 -tos
'
le serv02 se lance ... si quelqu'un pouvais m'aider, merci d'avance
ca ne te dérangerai pas de donner juste le lien de la réponse ... ca m'aiderai beaucoup

Envoyé par
Speedy
une fois le script uploader, connecté vous a votre serveur en ssh
et tapé la commande : update-rc.d tonfichier.sh defaults 99
et voila rebooter votre serveur et votre programme se lancera tout seul
J'ai un soucis, la console sous putty me retourne ca :
Code:
-bash update-rc.d command not found
J'ai un serveur kimsuffit avec gentoo dessus. Comprends ... peux tu m'aider?
Merci d'avance.
EDIT: Oups j'ai trouver la solution dans google qui me renvoyer un message avant celui ci?? Désolé.
Tout dépends de ta distribution, sur Debian ou Gentoo (je pense que tu as une de ces deux là) la commande est presque la même... Speedy les exposes dans le lancement automatique d'un serveur TeamSpeak...
Bonjour tout le monde ,
Lorsque je rentre la commande :
Code:
update-rc.d launchserv1.sh defaults 99
Putty m'affiche :
Code:
-bash: update-rc.d: command not found
Est-ce qu'une âme charitable pourrait m'expliquer ?

Envoyé par
hercut
Bonjour, jai pas de fichier init.d
Que dois je faire?
C'est un dossier :
TheYankee
06/06/2007, 00h21
Bonjour,
J'ai un problème de démarrage d'application Java, quelqu'un peut m'aider ?
Voici le post de référence.
http://forum.ovh.com/showthread.php?t=17431
Merci.
Bonjour, jai pas de fichier init.d
Que dois je faire?
places toi dans le dossier de ton serveur :
si dans cod1 tu as l'installation direct et bien tape
cd /home/francki/
cd ..
puis chmod -cvR 777 cod1
OU
cd /home/francki/cod1/autre_dossier
chmod -cvR 777 autre_dossier
ENSUITE
chown -cvR francki /home/francki/cod1/
OU
chown -cvR francki /home/francki/cod1/autre_dossier
pour lancer une commande screen sous linux avec un autre user, il faut mettre la commande à jour
POUR DEBIAN
Taper :
chmod 666 /dev/ptmx
Une fois la commande Screen attribuer au user pour DEBIAN
rebooter votre serveur tapper :
reboot
Une fois le serveur rebooté, reconnectes toi avec l'utilisateur francki puis faits :
cd /home/francki/cod1/ ou cd /home/francki/cod1/autre_dossier
Puis là tu devrais pouvoir lancer ta commande screen
francki28200
21/03/2007, 13h06
Voila Dsl j ai reparer
je n'arrive à avoir accès à l'image
francki28200
20/03/2007, 12h52
Voila J ai bien se que tu m as dit et sa marche pas du tout je suis vert il doit avoir un truc je me creuse la tete mais la sa commence a etre cho ^^
Alors voila tout se que j ai essayé
Debut:
cd /home/francki/cod1
puis regarde :
http://lolo28.1k.fr/jecomprendpas.JPG
je voit pas pourquoi sa marche pas
Voici ce que j'ai trouver
Ici
A la ligne de commande ./coduo_lnxded, ajoutez le paramètre +set dedicated auquel vous attribuez la valeur :
2 pour un serveur dédié internet
1 pour un serveur dédié en réseau local
Indiquez l’exécution du fichier de configuration complet du serveur que vous venez de créer, par l’ajout de l’instruction : +exec [nom de votre fichier de configuration serveur].
Indiquez l’exécution de la rotation de map par l’instruction : +map_rotate &.
Un serveur dédié internet Call Of Duty se lance avec la commande suivante :
./cod_lnxded +set dedicated 2 +exec server.cfg +map_rotate &
Un serveur dédié réseau local Call Of Duty se lance avec la commande suivante :
./cod_lnxded +set dedicated 1 +exec server.cfg +map_rotate &
Donc ta ligne de commande devrait être :
screen -dmS serveurcod ./coduo_lnxded +set dedicated 2 +exec server.cfg +map_rotate &
si kaka est un utilisateur il va falloir lui donner les accès à la fonction screen ou alors tu lance le serveur en root ( pas conseillé)
dans l'ordre :
cd /home/kaka/cod1
puis
screen -dmS serveurcod ./coduo_lnxded
francki28200
19/03/2007, 13h59
voila j ai eesayer tout se que tu ma dit et sa marche pas
Voila ma commande que je tape
screen -dms cd /home/kaka/cod1
-bash:screen : command no found
ou j ai essayer l autre
screen -dms ./coduo_lnxded
marche pas
screen -dms nom_que_tu_lui_donne ta_commande
francki28200
19/03/2007, 03h16
Bonjour
J aurais voulu savoir comment je peut executer mon jeux sur mon serveur linux avec console putty et qui reste allumer meme si je ferme putty .
Le jeux et Call Of Duty et je voudrais qui reste allumer et il veut pas sniifff des que j etteind la console !!
ader moi au secour !!!!
Lol merci de votre compréhention
francki
donne la solution ! la on la situation qu'il y a sur beaucoup de forum, tout le monde essaye d'aider la personne comme il le peut et tout , et une fois que la personne a trouver ailleur elle poste sur le forum :
c'est bon mon probléme est résolu
apres quand quelqu'un d'autre cherche et a le méme prôbleme que la personne qui a résolu son probléme sans mettre la solution, je vous jurge que ca fout la rage !
C'est bon mon problème est résolu
mon beauf m'a fait essayer avec
sudo -u serveur screen -dmS serveurwar ./hlds_run -game cstrike +maxplayers 11 +map de_dust2 +port 27003 -tickrate 100
Et bien ca ne fonctionne toujours pas
et ben on ne peut pas dire qu'il y ai foule
oui quand je tappe la commande à la main il me demande le mot de passe du user serveur ^^ ca je le sais puisque c'est mon user. Je rentre le mot de passe et le serveur démarre, normal.
Mais le problème est :
si je reboot le serveur (linux) le serveur CS Source ne redemarre pas tout seul
Rajouter le mot de passe dans la commande .??????.
#!/bin/sh
#Lancement du serveur war
cd /home/serveur/serveurwar/steam
su serveur:mot_de_passe -c 'screen -dmS serveurwar ./hlds_run -game cstrike +maxplayers 11 +map de_dust2 +port 27003 -tickrate 100'
Est ce qu'il faut faire un chmod -cvR 777 steam même si le repertoire a été créer par le user serveur ???
symphyle
19/02/2007, 08h47
Probablement le mot de passe SSH de l'user "serveur" ... non ?
Bonjour moi je me suis fait plusieurs script et aucun ne marche ^^
#!/bin/sh
#Lancement du serveur war
cd /home/serveur/serveurwar/steam
su serveur -c 'screen -dmS serveurwar ./hlds_run -game cstrike +maxplayers 11 +map de_dust2 +port 27003 -tickrate 100'
#!/bin/sh
#Lancement du serveur 1V1
cd /home/serveur/serveurts/tss2_rc2/
su serveur -c './teamspeak2-server_startscript start'
etc..etc...
LE plus drôle c'est que si je tappe
su serveur -c 'screen -dmS serveurwar ./hlds_run -game cstrike +maxplayers 11 +map de_dust2 +port 27003 -tickrate 100'
Dans le repertoire : /home/serveur/serveurwar/steam et bien ca me demande un mot de passe et ensuite ca marche ????
Merci à vous
cejimagie
06/02/2007, 17h57
Bonjour à tous , je voudrais savoir si il est possible de faire la mm chose sous un environement windows 32.
c'est a dire je veut creer un script qui me reboot le server et un qui permette de le rebooter auto tous les matin vers 4h00 avec une mise a jour auto tous les 15 jours si besoin ... peut on le faire et cmment svp merci a tous .
oui c'est ce que j'ai fait aussi et sa fonctionne tres bien
je sais pas si tu peut creer 1 script qui lancera la totalité de tes serveurs ! mes sinon tu en creer un pour chaque serveur moi c'est ce que j'ai fait
en fait sa me permet de creer des compte ftp different car chaque serveur est sous le meme jeu sa me permet de pas me melanger:
un CZ 12 slots pour les matchs
un cz 20 slots pour le ffa
les mod in game sont different donc je ne peut pas les lancer avec le meme users
bonjour a tous,
a votre avis je peu me servir de meme fichier pour lancer mes serveurs sous different users?
du genre:
Code:
#!/bin/sh
#Lancement du serveur CS
cd /home/serveurCS/steam/ (l'endroit ou ce trouve le programme!)
su speedy -c 'screen -dmS 1V1eas ./hlds_run -game cstrike +maxplayers 03 +map de_dust2 +port 27010 -pingboost 3 -autoupdate -sys_ticrate 1000 -tos'
#Lancement serveur CZ
cd /home/serveurCZ/steam/
su autreuser -c 'screen -dmS 1V1eas ./hlds_run -game cczero +maxplayers 16 +map de_dust2_cz +port 27015 -pingboost 3 -autoupdate -sys_ticrate 1000 -tos'
c possible ou le mieu est de recreer un autre fichier pour cet user?
Quelle est l'interet de lancer les serveurs sous différent nom ?
Dans ce cas créait un user qui s'appel par exemple: games et lance tout tes serveurs sous cet user la
bonjour a tous,
a votre avis je peu me servir de meme fichier pour lancer mes serveurs sous different users?
du genre:
Code:
#!/bin/sh
#Lancement du serveur CS
cd /home/serveurCS/steam/ (l'endroit ou ce trouve le programme!)
su speedy -c 'screen -dmS 1V1eas ./hlds_run -game cstrike +maxplayers 03 +map de_dust2 +port 27010 -pingboost 3 -autoupdate -sys_ticrate 1000 -tos'
#Lancement serveur CZ
cd /home/serveurCZ/steam/
su autreuser -c 'screen -dmS 1V1eas ./hlds_run -game cczero +maxplayers 16 +map de_dust2_cz +port 27015 -pingboost 3 -autoupdate -sys_ticrate 1000 -tos'
c possible ou le mieu est de recreer un autre fichier pour cet user?

Envoyé par
Speedy
bon j'ai trouver l'astuce grace a : "kimkof" que je remercie pour lancer le script au demarrage en USER et non en ROOT !!!
donc vous avez just a rajouter une petite ligne dans votre script :
mettez votre login a la place de speedy et rajouter le -c apres votre login et mettez entre apostrophe 'votre ligne de commande'
voila rebooter le serveur loguer vous en ssh et taper : ps aux
et vous verrez si votre programme et bien lancer avec votre login ^^
De rien
bon j'ai trouver l'astuce grace a : "kimkof" que je remercie pour lancer le script au demarrage en USER et non en ROOT !!!
donc vous avez just a rajouter une petite ligne dans votre script :
#!/bin/sh
#Lancement du serveur 1V1
cd /usr/serveur1V1/steam/ (l'endroit ou ce trouve le programme!)
su speedy -c 'screen -dmS 1V1eas ./hlds_run -game cstrike +maxplayers 03 +map de_dust2 +port 27010 -pingboost 3 -autoupdate -sys_ticrate 1000 -tos'
mettez votre login a la place de speedy et rajouter le -c apres votre login et mettez entre apostrophe 'votre ligne de commande'
voila rebooter le serveur loguer vous en ssh et taper : ps aux
et vous verrez si votre programme et bien lancer avec votre login ^^
Merci pour ce tuto qui m'a permis d'exécuter mon Iptables en auto
Enfin je pense xD A vrai dire je sais pas trop si il est lancé... en tout cas ça fonctionne.. mais je doute un peu si il se lance bien car je l'ai config à ma sauce mais j'ai fait mon fichier de démarrage/arrêt en suivant :
http://guide.ovh.net/fireWall
mais quand je lancé à la mano ça me sortait une erreur en début de fichier... maintenant c'est en auto et je vois rien qui bronche..
j'avais une question suite a ce script , j'arrive pas a trouver comment faire pour lancer une commande mes avec un user et non le root ! qu'au redemarrage de la machine sa lance la commande avec l'user automatiquement ! si vous pouvez m'eclaircir dessus
Je vais vous détailler comment executer un script lors du demarrage du serveur!
on va prendre l'exemple sur un serveur cs (la ou j'ai appris )
tout d'abord vous devez creer votre script !
Ouvrez votre bloc note et creer un fichier comme ceci :
#!/bin/sh
#Lancement du serveur 1V1
cd /usr/serveur1V1/steam/ (l'endroit ou ce trouve le programme!)
screen -dmS 1V1eas ./hlds_run -game cstrike +maxplayers 03 +map de_dust2 +port 27010 -pingboost 3 -autoupdate -sys_ticrate 1000 -tos (votre commande a lancer ! ici un serveur cs que vous avez installez! )
sauvegardé le en
votrefichier.sh
ensuite uploadé sur votre serveur dans le dossier /etc/init.d/
(pour l'uploader j'utilise
winSCP qui neccecite pas de prgramme ftp sur le serveur!
une fois le script uploader, connecté vous a votre serveur en ssh
et tapé la commande : update-rc.d tonfichier.sh defaults 99
et voila rebooter votre serveur et votre programme se lancera tout seul