Bonsoir,
Comme le titre l’indique je loue un serveur dédié chez OVH sur lequel je fait tourner plusieurs serveurs Counter Strike ( CS 1.6 ; CZ ; CSS : … ) et je souhaiterai savoir si quelqu’un saurait comment administrer ces serveurs par le biais d’une page web.
Actuellement pour administrer le serveur je dois me connecter en SSH avec putty, me logger, puis lancer la commande pour démarrer le serveur ( ex pour lancer pour CSS : screen -dmS serveur1 ./srcds_run -game cstrike -tickrate 100 +maxplayers 16 +map de_dust2 -port 27015 ), une autre pour le stopper, et si je le changer de mod je dois le stopper puis taper la commande en fonction du mode de jeu désiré.
Mon but précis serai de pouvoir démarrer, stopper ou redémarrer ( le stopper et le relancer en un seul clic ) le serveur en cliquant sur un simple bouton sur une page web.
Et pouvoir aussi avoir un petit menu déroulant permettant de choisir le mode de jeu désiré avec un bouton pour valider ( le bouton devra stopper le serveur et le relancer avec la ligne de commande du mod choisi ).
En l’attente de vos réponses.
Merci d’avance à tous et à toutes.
Miloose
PS : J’ai déjà fait quelques recherches mais j’ai rien trouver de bien concret, seul info que je peux donner en plus c’est qu’à priori ce serai du javascript qui permettrait de faire ca ( Je connais rien au javascript :S ).
Edité le 26/05/2008 à 01:45
Déjà, je te le dis direct, si tu veux faire partit de ces 400000 revendeurs de serveurs, bon courage.
Ensuite il me semble qu’il faut que tu utilise la commande exec en php, c’est clairement pas du javascript ( enfin, ça pourrait être en ajax, mais c’est une autre histoire )
Cependant, la commande exec devrait poser un problème, puis ce que dès que ta page se fermera , tout s’arrêtera ( le serveur aussi ).
De même, je ne crois pas que php soit autorisé ( du moins apache, le processus httpd ) a executé un “screen” sous linux.
Alors peu de solutions… si tu es doué ( pas le cas ? ) crée un script lancé en ssh qui cherchera les infos automatiquement que la page php indiquera.
Salut,
j’ai trouvé ca : WebMod.
Ca permet :
-Pour la partie utilisateur, d’avoir les stats du serveur (Map, nb de joueur, etc…)
-Pour la partie admin, de lancer des commandes.
Il n’y a pas de menus aussi poussés que tu le souhaites, mais ca peut etre un bon début.
Salut,
il y en a plein d’autres dans la section “Remote Control” sur ce site
Merci à vous pour vos réponses rapides.
En ce qui concerne l’utilisation de la fonction exec en php après quelques recherches on m’as dit de source sur que si ta commande d’exec fini par un & ca permet de fermer le script php sans fermer le process.
Pour la réponse de oneshot47 je vais regarder de suite !
Bon ben un grand merci à Proutie66 qui m’as très bien orienté, effectivement avec la commande exec en php.
La utilisé est system().
Il faut installer apache et php sur le serveur hébergant le(s) serveur(s) de jeu.
Et rajouter quelques variables.
Exemple de la page start.php pour lancer le serveur :
if ($_GET["source"]!=1)
$executable="hlds_run";
else
$executable="srcds_run";
$commande="cd /home/serv{$_GET["serveur"]} && screen -dmS serveur{$_GET["serveur"]} ./$executable -game {$_GET["game"]} +maxplayers {$_GET["maxplayers"]} +map {$_GET["map"]} +port {$_GET["port"]}";
system($commande);
echo "ok";
?>
Ensuite il suffit de faire un bouton avec comme url :
[ip_du_serveur...](http://ip_du_serveur/start.php?serveur=1&game=cstrike&maxplayers=16&map=de_dust2&port=27015)
[ip_du_serveur...](http://ip_du_serveur/start.php?serveur=1&source=1&game=cstrike&maxplayers=16&map=de_dust2&port=27015)
A vous de modifier pour le port le nombreux de joueurs et la map.
Et surtout un grand merci a CgX sans qui je n’aurai jamais pu pondre ce code !
Edité le 13/06/2010 à 11:49