#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