Multi processus SM sous linux

Parlez de tout ce qui est lié à Shootmania.

Moderator: French Moderator

P1n0u
Posts: 202
Joined: 31 Jul 2012, 06:36

Re: Multi processus SM sous linux

Post by P1n0u »

Bon alors je te propose une version modifier du shell de lancement il ne fonctionnera qu'a condition d’être a la racine du dossier maniaplanet (de ton client). j'ai vue que tu utilisai une variable pour le fichier de config du serveur (/dedicated_cfg=$SERVERCONFIG) il est possible de rajouter un argument supplémentaire au shell mais ça tu seras le faire toi même (enfin j’espère :s )

pour résumé au start le script crée un fichier pid purge les logs et lance le serveur, au restart il stop le serveur (s'il tourne encor) purge les log et démarre un nouveau serveur, et stop il tue le PID du serveur en cours.

maintenant si cela n'est toujours pas adapté personnellement je ne pourrais plus rien pour toi :)
bon courage

Code: Select all

    #!/bin/bash                                                                                
    #
    
    OPTION= /title=SMStorm /dedicated_cfg=dedicated_cfg.txt /game_settings=MatchSettings/SMStormRoyal.txt
    
    start() {
            if [ -e "ManiaPlanetServer.pid" ]
            then
                    PID=$(cat "ManiaPlanetServer.pid")
                    if ps -p $PID > /dev/null
                    then
                        echo "Server ManiaPlanetServer(pid:$PID) : already running !"
                    fi
            else
                    cd Logs/
                    rm *
                    cd ..
                    ./ManiaPlanetServer $OPTION
                    ps aux | grep "ManiaPlanetServer" | grep -v "grep" | awk '{ print $2 }' > "ManiaPlanetServer.pid"
                    echo "Server ManiaPlanetServer : started !"
            fi
    }
    stop() {
            if [ -e "ManiaPlanetServer.pid" ]
            then
                    PID=$(cat "ManiaPlanetServer.pid")
                    kill -9 $PID
                    rm "ManiaPlanetServer.pid"
            fi

            echo -n "Stopping Server : "

            if [ -e "ManiaPlanetServer.pid" ]
            then
                    PID=$(cat "ManiaPlanetServer.pid")
                    kill -9 $PID
                    rm "ManiaPlanetServer.pid"
                    echo "Server ManiaPlanetServer : stopped"
            else
                    echo "Server ManiaPlanetServer : already stopped"
            fi
    }
    status() {
            if [ -e "ManiaPlanetServer.pid" ]
            then
                    PID=$(cat "ManiaPlanetServer.pid")
                    if ps -p $PID > /dev/null
                    then
                        echo "Server ManiaPlanetServer(pid:$PID) : running"
                    else
                        echo "Server ManiaPlanetServer : stopped"
                    fi
            fi

    }

    case "$1" in
            start)
                    start
            ;;
            stop)
                    stop
            ;;
            status)
                    status
            ;;
            restart)
                    stop
                    start
            ;;
            restartall)
                    stop 1
                    stop 2
                    stop 3
                    start 1
                    start 2
                    start 3
            ;;
            *)
                    echo "Usage: {start|stop|restart|status}"
                    exit 1
            ;;
    esac
    exit 0
shadowgaming
Posts: 32
Joined: 08 May 2013, 16:15

Re: Multi processus SM sous linux

Post by shadowgaming »

la ligne OPTION est obligatoire ou je peux laisser la mienne de démarrage ?
P1n0u
Posts: 202
Joined: 31 Jul 2012, 06:36

Re: Multi processus SM sous linux

Post by P1n0u »

il est obligatoire que tu place la tienne a la place :D (c'était un exemple)
mais par contre la variable $SERVERCONFIG que tu as sur le paramètre /dedicated_cfg=$SERVERCONFIG je ne sais pas d’où elle sort mais tu ne doit pas la placer directement elle devras être défini a l'avance.

juste comme ça tu as site de ta boite qui loue des serveur ?

edit : il y a une erreur sur la ligne option, la valeur doit etre entre ""

Code: Select all

OPTION="/title=SMStorm /dedicated_cfg=dedicated_cfg.txt /game_settings=MatchSettings/SMStormRoyal.txt"
shadowgaming
Posts: 32
Joined: 08 May 2013, 16:15

Re: Multi processus SM sous linux

Post by shadowgaming »

et si je fais :

./votrescript /game_settings=MatchSettings/SMStormElite.txt /dedicated_cfg=$SERVERCONFIG /title=SMStormElite@nadeolabs

et j’enlève le OPTION dans le script ?
P1n0u
Posts: 202
Joined: 31 Jul 2012, 06:36

Re: Multi processus SM sous linux

Post by P1n0u »

non tu ne peut pas faire ca. par contre si tu le souhaite je tu le souhaite voila ce que tu peux faire :

Code: Select all

#!/bin/bash                                                                               
    #
   
    OPTION="/game_settings=MatchSettings/SMStormElite.txt /dedicated_cfg="$2" title=SMStormElite@nadeolabs"
   
    start() {
            if [ -e "ManiaPlanetServer.pid" ]
            then
                    PID=$(cat "ManiaPlanetServer.pid")
                    if ps -p $PID > /dev/null
                    then
                        echo "Server ManiaPlanetServer(pid:$PID) : already running !"
                    fi
            else
                    cd Logs/
                    rm *
                    cd ..
                    ./ManiaPlanetServer $OPTION
                    ps aux | grep "ManiaPlanetServer" | grep -v "grep" | awk '{ print $2 }' > "ManiaPlanetServer.pid"
                    echo "Server ManiaPlanetServer : started !"
            fi
    }
    stop() {
            if [ -e "ManiaPlanetServer.pid" ]
            then
                    PID=$(cat "ManiaPlanetServer.pid")
                    kill -9 $PID
                    rm "ManiaPlanetServer.pid"
            fi

            echo -n "Stopping Server : "

            if [ -e "ManiaPlanetServer.pid" ]
            then
                    PID=$(cat "ManiaPlanetServer.pid")
                    kill -9 $PID
                    rm "ManiaPlanetServer.pid"
                    echo "Server ManiaPlanetServer : stopped"
            else
                    echo "Server ManiaPlanetServer : already stopped"
            fi
    }
    status() {
            if [ -e "ManiaPlanetServer.pid" ]
            then
                    PID=$(cat "ManiaPlanetServer.pid")
                    if ps -p $PID > /dev/null
                    then
                        echo "Server ManiaPlanetServer(pid:$PID) : running"
                    else
                        echo "Server ManiaPlanetServer : stopped"
                    fi
            fi

    }

    case "$1" in
            start)
                    start
            ;;
            stop)
                    stop
            ;;
            status)
                    status
            ;;
            restart)
                    stop
                    start
            ;;
            restartall)
                    stop 1
                    stop 2
                    stop 3
                    start 1
                    start 2
                    start 3
            ;;
            *)
                    echo "Usage: {start|stop|restart|status}"
                    exit 1
            ;;
    esac
    exit 0
et donc tu lanceras comme ca : ./NomDuScript.sh start $SERVERCONFIG
shadowgaming
Posts: 32
Joined: 08 May 2013, 16:15

Re: Multi processus SM sous linux

Post by shadowgaming »

ce n'est pas plutôt ./NomDuScript.sh /dedicated_cfg=$SERVERCONFIG
P1n0u
Posts: 202
Joined: 31 Jul 2012, 06:36

Re: Multi processus SM sous linux

Post by P1n0u »

non non le script fonction comme ça : ./script.sh ARG1 ARG2

ARG1 il y a 4 options : start,stop,restart et status
ARG2 je m'en suis servis pour que tu définisse ton fichier de cfg

maintenant si je n'est pas fait de connerie dans le script (ce qui est pas impossible). ça doit fonctionner comme je te le dit.
shadowgaming
Posts: 32
Joined: 08 May 2013, 16:15

Re: Multi processus SM sous linux

Post by shadowgaming »

non il ne marche pas, il ne me copie pas les fichier, je n'ai que pack et userdata
P1n0u
Posts: 202
Joined: 31 Jul 2012, 06:36

Re: Multi processus SM sous linux

Post by P1n0u »

désoler mais la j'ai fait mon maximum je ne comprend pas ta réponse, je pense que tu devrais être en mesure de te dépanner en temps qu’hébergeur professionnel.
Post Reply

Return to “Shootmania”

Who is online

Users browsing this forum: No registered users and 1 guest