Screen en script linux

Résolu
indodada Messages postés 69 Statut Membre -  
indodada Messages postés 69 Statut Membre -
Bonjour,

J'administre actuellement un serveur de jeu, installer sous Debian 5. Je voulais, par un soucis de simpliciter, au lieu de lancé toutes les commandes à la main pour lancer chaque serveur de jeu dans des screens, écrire un script me permettant de les lancer tous :

Actuellement je tape toutes les commandes pour démarrer les serveurs les uns après les autres

Ce que je demande c'est par exemple créer un fichier du genre start_server.sh que je pourrais éxécuter et qui e lancerai tout les serveurs automatiquement, dans des screens séparés.

Par exemple, pour mon serveur cod4, voici la commande que j'utilise actuellement :
screen -dmS cod4 ./cod4_lnxded +exec server.cfg +map_rotate +set dedicated 2

Qui plus est, je souhaiterai (j'ai 5 serveur de jeu et un 6ème à venir) que dans ce script tous les serveurs de jeu se lance les uns après les autres, mais si possible avoir une petite tempo entre chaque serveur, histoire de ne pas surchargé le serveur avec 5 serveurs de jeux qui démarre en même temps...

Merci d'avance à tous ceux qui me répondront, je reste bien sur à votre entière disposition pour toute informations complémentaires...

Cordialement,

14 réponses

  1. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 660
     
    et si tu vas dans ../game/cod4
    et exécutes, comme au post #1
    screen -dmS cod4 ./cod4_lnxded +exec server.cfg +map_rotate +set dedicated 2
    1
  2. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 660
     
    hello
    tu peux mettre tes commandes avec un délai entre, dans le fichier start_server.sh, que tu rends exécutable avec chmod +x start_server.sh

    screen -dmS cod4 ./cod4_lnxded +exec server.cfg +map_rotate +set dedicated 2
    sleep 5
    commande
    sleep 5
    etc

    pour l'exécuter: ./start_server.sh
    0
  3. indodada Messages postés 69 Statut Membre 2
     
    oki mais le pb c'est que lorsque je test juste en mettant une commande de base par exemple là juste la commande pour lancé le serveur cod4 ça ne fait rien du tout.

    Voici mon fichier actuel :

    #!/bin/bash

    screen -dmS cod4public ../game/cod4/cod4_lnxded +exec server.cfg +map_rotate +set dedicated 2

    le chemin d'accès est le bon mon utilisiteur (adminjeux) et bien propriétaire du dossier game pas de problème la dessus sauf que lors que je tape ./start_server.sh il ne fait rien, par rien j'entends que le serveur cod4 ne se lance pas et que le screen n'apparait pas lorsque je tapes un screen -ls
    0
  4. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 660
     
    si dans ton fichier, tu mets
    #!/bin/bash

    screen -dmS cod4public sleep 60
    tu le démarres, tu le vois avec screen -ls ?
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. indodada Messages postés 69 Statut Membre 2
     
    oui je le vois, cela voudrait dire qu'il ne prends pas en comptes mon chemin d'accès ou les options pour l'exécution?
    0
  7. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 660
     
    es-tu dans le bon répertoire ? que répond
    ls -l ../game/cod4/cod4_lnxded
    0
  8. indodada Messages postés 69 Statut Membre 2
     
    -rwxr-xr-x 1 adminjeux adminjeux 2278332 jui 2 2008 ../game/cod4/cod4_lnxded

    Voilà la réponse que j'obtiens.
    0
  9. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 660
     
    et démarrer dans le terminal:
    screen -dmS cod4public ../game/cod4/cod4_lnxded +exec server.cfg +map_rotate +set dedicated 2
    ou
    ../game/cod4/cod4_lnxded +exec server.cfg +map_rotate +set dedicated 2
    fonctionne ?
    le chemin de la commande est différent dans le post #1
    0
  10. indodada Messages postés 69 Statut Membre 2
     
    Lorsque je tape la deuxième commande voilà ce que j'otient

    ../game/cod4/cod4_lnxded +exec server.cfg +map_rotate +set dedicated 2
    CoD4 MP 1.7 build linux-i386 Jun 28 2008
    begin $init
    ----- FS_Startup -----
    Sys_Error: Error during initialization:
    No IWD files found in /main

    cela voudrait-il dire que je dois spécifier le chemin d'accès du fichier server.cfg
    0
  11. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 660
     
    oui si tu n'es pas dans le répertoire où il se trouve
    0
  12. indodada Messages postés 69 Statut Membre 2
     
    Losque je tape c'est commande en direct il me retourne la même erreur

    ../game/cod4/cod4_lnxded +exec ../game/cod4/server.cfg +map_rotate +set dedicated 2

    ../game/cod4/cod4_lnxded +exec ../game/cod4/main/server.cfg +map_rotate +set dedicated 2

    lorsque je tapes :

    ls -l ../game/cod4/main/server.cfg

    Voilà la réponse :

    -rw-r--r-- 1 adminjeux adminjeux 13674 jan 23 14:31 ../game/cod4/main/server.cfg

    Je comprends plus là même en spécifiant l'emplacement du cfg il rejette ma commande...
    0
  13. indodada Messages postés 69 Statut Membre 2
     
    ça ça fonctionne c'est comme ça que je lance mon serveur actuellement
    0
  14. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 660
     
    essaye dans le script
    #!/bin/bash

    cd ../game/cod4
    screen -dmS cod4public ./cod4_lnxded +exec server.cfg +map_rotate +set dedicated 2
    0
  15. indodada Messages postés 69 Statut Membre 2
     
    Je te remercie, en fait c'était tout bête je ne vois même pas pourquoi j'ai pas pensé à changer de répertoire actif à chaque fois... Encore merci de ton aide dubcek
    0