Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 16/02/2008, à 13:32

Ricco

[Help] Bash, Bat lancement en php ...Avant/Après

Bonjour
Depuis 2 ans j'avais fait un petit serveur Counter-Strike (Contidition Zero) sous Windows en réseau local. Il marchait bien mais malheureusement le disque dur à  laché...
On lancait le serveur à  distance sur la machine locale sur la page html  "index.htm" avec un bouton "start" qui executait start.php qui lui lancait "start.bat " sur le serv
On arrêtait le serveur à  distance sur la machine locale sur la page html "index.htm" avec un bouton "stop" qui executait stop.php qui lui lancait "stop.bat " sur le serv.

ca donnait ca:

pour le start.php :
---------------------------------

<?php

exec("start.bat");

header(

"Location: http://192.168.0.15");

exit;

?>

Pour le start.bat
---------------------------------
@echo off

cd\

cd d:\serveur\www\czserver

hlds.exe -console -game  czero +maxplayers 16 +map de_dust  +port 27020 -pingboost 3 +sys_ticrate 1000  +sv_lan 1 -insecure -nomaster

exit

Pour le stop.bat
---------------------------------

@echo off

taskkill /f /im hlds.exe /t

exit

C'était pas bien compliqué mais ca marchait très bien.

Maintenant, j'ai remplacé windows par Ubuntu. J'ai installé Xampp. (qui me procure apache+mysql+php5)
Le serv Condition Zero fonctionne mais je souhaiterais le lancer comme avant.

Soit donc par un bouton lancer la commande de démarrage  et par un autre la commande de kill de process.

J'ai créé 2 script en bash.

Le Start_CZ1
---------------------------------

#!/bin/sh
#Lancement du serveur_CZ1
# Kill du serv en cours
screen -dr serveur_CZ1 -X quit

cd /usr/serveurs/serveurs_CZ/CZ1

#Etape 2 test
screen -dmS serveur_CZ1 ./hlds_run -game czero +maxplayers 16 +map de_dust2 +port 27015 +pingboost 3 +sys_ticrate 10000 +sv_lan 0 +insecure +nomaster +tos

screen -r serveur_CZ1

Le Stop_CZ1
---------------------------------
#!/bin/sh
# Arrêt du serveur_CZ1
screen -dr serveur_CZ1 -X quit

-Quand je lance ces scipts ca marche très bien
(comment on fait d'ailleurs aussi pour que quand je double clic dessus il ne me dise pas :  "Voulez vous lancer Start_CZ1" et qu'il démarre dans "démarrer dans un terminal?)

Mon start.php sous linux me donne ca
-------------------------------------------------
<?php

exec("/usr/serveurs/www/Start_CZ1");

header(

"Location: http://192.168.0.6:2000");

?>

Mon stop.php
-------------------------------------------------
<?php

exec("/usr/serveurs/www/Stop_CZ1");

header(

"Location: http://192.168.0.6:2000");

?>


Ca fonctionne mais mon soucis : dans la liste des processus je ne retrouve pas "serveur_CZ1" !!
Je ne vois pas donc pour killer l'application c'est moins évident...

Alors que lorsque je lance à  la main mes fichers Start_CZ1 et Stop_CZ1 ca marche sans problèmes.
Maintenant par un script PHP c'est différent...

Qui pourrais m'aider ?

Merci d'avance