#1 Le 09/03/2011, à 00:30
- sco
Interfacer avec une application en console (resolu)
Bonjour,
Je rencontre un problème qui pour vous l'expliquer le plus clairement serait de vous écrire le contexte dans lequel je me trouve.
Une application java pour ne pas la nommer (minecraft_server.jar) une fois lancer donne l'accès a la console d'administration du jeu.
Je voudrais interfacer cette console au moyen de scripts bash ou autre pour que la finalité serait de pouvoir interfacer la console de minecraft serveur avec du code php.
J'ai déjà tenté plusieurs solutions comme par exemple, se loguer sur tty0 sur le serveur, lancer le serveur (java -jar... minecraft_server.jar) et ainsi pour interfacer avec avec l'application, envoyer a distance les commandes (de la console minecraft) dans le terminal ouvert (tty0) mais rien (ex: echo "stop" > /dev/pts/1)... En php j'ai aussi pensé au "exec('#commande bash#');" mais le problème de cette solution est quelle ne permet pas de garder la main dans la console de minecraft puisque celle-ci ne s'interrompt pas.
ex :
exec('java ... -jar minecraft_server.jar');
$result = exec('stop');
==> echo $result : Command no found
=====> je ne suis plus dans la console de minecraft_server
Pour simplifier ce qu'il me faudrait c'est un terminal ouvert en permanence dans lequel je pourrais y injecter des instructions (qui sont en faite frappé au clavier en temps normal) de façon a envoyer ces instructions dans la console OUVERTE de minecraft et non dans un autre terminal.
Voila en espérant que vous aurez des idées a me soumettre,
Cordialement,
Maxime G.
Dernière modification par sco (Le 10/03/2011, à 01:58)
Hors ligne
#2 Le 09/03/2011, à 22:59
- sco
Re : Interfacer avec une application en console (resolu)
me suis-je trompé de rubrique ?
Hors ligne
#3 Le 09/03/2011, à 23:44
- AnsuzPeorth
Re : Interfacer avec une application en console (resolu)
me suis-je trompé de rubrique ?
Ici ou programmation. Mais si tu n'as pas de réponses, c'est que c'est pas une requête habituelle (quoique sur le forum programmation , une demande identique à la tienne, mais pour un prog en C).
Ne connaissant pas comment fonctionnne ton serveur de jeux, mais disons qu'il fonctionne comme une console normale qui attend une frappe de l'user, en attente sur un read. Une solution est de passer par un FIFO.
#! /bin/bash
# name => Boucle.sh
# ce script se comporte comme le serveur de jeux,
# il est en attente sur un read (action user)
while true
do
read n
echo $n
[[ $n == 5 ]] && break
done
exit
Il faut lancer ce script (le serveur de jeux) comme suit.
# en aillant une redirection direct depuis le fifo, le script s'emballe
# ./Boucle.sh < /tmp/fifo
# peut être que le serveur agirait differement ?
# ce qui suit fonctionne
mkfifo /tmp/fifo
./Boucle.sh < <(while true; do read n < /tmp/fifo; echo $n; done)
Dans une autre console:
#pour sortir du script
echo 5 > /tmp/fifo
Voilà pour la forme ...
Sinon, je ne sais pas l'usage, mais si tu fais ça en graphique, tu peux voir glade2script, il y a un terminal dans lequel on peut envoyer des commandes simplement. Mais c'est peut un peu lourd si tu veux juste envoyer une commande dans un terminal
EDIT: Vois ce post qui parle de ça:
http://forum.ubuntu-fr.org/viewtopic.php?pid=3447173
Dernière modification par AnsuzPeorth (Le 10/03/2011, à 00:29)
Interface graphique pour bash, python ou autre: glade2script
Support Tchat: http://chat.jabberfr.org/muckl_int/inde … ade2script (Hors ligne)
Hors ligne
#4 Le 10/03/2011, à 00:43
- sco
Re : Interfacer avec une application en console (resolu)
merci AnsuzPeorth, je me em au boulo avec ce que tu ma ecrit !
Hors ligne
#5 Le 10/03/2011, à 01:01
- sco
Re : Interfacer avec une application en console (resolu)
Super sa fonctionne ! ! ! Merci beaucoup.
Hors ligne
#6 Le 10/03/2011, à 01:09
- AnsuzPeorth
Re : Interfacer avec une application en console (resolu)
Super sa fonctionne ! ! ! Merci beaucoup.
Tu as été voir le lien, il a plusieurs solutions pour y arriver. En plus, c'est des cadors du forum qui proposent leurs solutions
Tu pourras choisir celle que tu veux.
N'oublie pas de passer ton sujet en résolu.
Dernière modification par AnsuzPeorth (Le 10/03/2011, à 01:09)
Interface graphique pour bash, python ou autre: glade2script
Support Tchat: http://chat.jabberfr.org/muckl_int/inde … ade2script (Hors ligne)
Hors ligne