#!/bin/sh # Lancher serveur linux Counter Strike Source v001 par YnotnA # Info : ynotlovetitia@gmail.com # Repertoire de srcds_run (exemple : ~/Serveur/css) PATH=~/Serveur/css # Nombre de joueurs par defaut joueurs_def=32 # Nombre de joueurs mini joueurs_min=4 # Nombre de joueurs maxi joueurs_max=32 # Type de serveur par defaut 0=INTERNET 1=LAN lan_def=0 # Ne pas toucher ses paramètres /!\ /!\ lan_min=0 lan_max=1 # Port utilisé par défaut port_def=27015 # Map par defaut map_def="de_dust2" # Config serveur par defaut 1=Normal 2=Rapide config_def="2" # Ne pas toucher ses paramètres /!\ /!\ config_min=1 config_max=2 # Nombre de serveur a lancer par defaut serveur_def=1 joueurs_max() { echo "Joueurs max : $joueurs" } serveur() { if [ $lan == 1 ] then echo "Serveur LAN" else echo "Serveur INTERNET" fi } # Fonction permettant de mettre les valeurs par defaut si celle ci est null defaut() { # Si la variable est null if [ ! $2 ] then # Alors on applique la valeur par defaut echo $1 else # Sinon on garde la valeur echo $2 fi } # Fonction permettant de definir un interval a une variable interval() { # On recupere la variable afin de pouvoir la modifie si la valeure est en dehors de l'interval valeur=$3 while [ $valeur -lt $1 -o $valeur -gt $2 ];do echo "La valeure ne peut etre comprise que entre $1 et $2" read valeur # Si la valeur est null après un mauvais choix on met la variable en dehors de l'interval if [ ! $valeur ]; then valeur=$[$2+1] fi done return $valeur } # Fonction du demarrage normal config_normal() { clear # ===========JOUEURS========== # On demande le nombre maximal de joueur echo "Nombre maximal de joueurs ?" echo "DEFAUT : $joueurs_def" read joueurs # Si valeur null on met par defaut joueurs=$(defaut $joueurs_def $joueurs) # Parametre de l'interval pour les joueurs : Valeur min / Valeur max / Valeur enregistré interval $joueurs_min $joueurs_max $joueurs # Recuperation du return de l'interval joueurs=$? clear # ============================ # =======AFFICHAGE INFO======= joueurs_max # ============================ # ============LAN============= echo -e "\nType de serveur :" echo "0 : INTERNET" echo "1 : LAN" echo "DEFAUT : INTERNET" read lan # Si valeur null on met par defaut lan=$(defaut $lan_def $lan) # Si config en dehors de l'interval boucle jusqu'a obtenir une valeure souhaité interval $lan_min $lan_max $lan # Recuperation du return de l'interval lan=$? clear # ============================ # =======AFFICHAGE INFO======= joueurs_max serveur # ============================ # ===========PORT============= echo -e "\nPort du serveur :" echo "DEFAUT : 27015" read port # Si valeur null on met par defaut port=$(defaut $port_def $port) clear # ============================ # =======AFFICHAGE INFO======= joueurs_max serveur echo "Port : $port" # ============================ } # Fonction du demarrage rapide config_rapide() { # On met tout par defaut joueurs=$(defaut $joueurs_def $joueurs) lan=$(defaut $lan_def $lan) port=$(defaut $port_def $port) } # ========CORPS DU SCRIPT====== clear echo "Configuration serveur" echo "1 : Normal" echo "2 : Rapide" if [ config_def == $config_min ] then echo "DEFAUT : Normal" else echo "DEFAUT : Rapide" fi read config clear # ============================= # ===========SERVEUR=========== echo "Nombre de serveur a lancer ?" echo "DEFAUT : $serveur_def" read serveur serveur=$(defaut $serveur_def $serveur) # Si valeur null recuperation de la configuration par defaut config=$(defaut $config_def $config) # Si config en dehors de l'interval boucle jusqu'a obtenir une valeure souhaité interval $config_min $config_max $config # Recuperation du return de l'interval config=$? clear # ============================= if [ $config == $config_min ] then config_normal else config_rapide fi cd $PATH i=1 while [ $i -le $serveur ];do echo "Lancement serveur : $i" ./srcds_run -console -maxplayers $joueurs -autoupdate +map $map_def -port $port +sv_lan $lan -tickrate 100 +hostname "Serveur $x" i=$[$i+1] done