Question

Contexte: Je suis en cours d'exécution d'un serveur Minecraft pour des amis sur un VPS, et je tente de créer une sorte de « page d'état » pour, en utilisant PHP. C'est la dernière chose que j'ai essayé de mettre en œuvre; J'ai un serveur haut / bas indicateur, de temps en ligne, etc.

Le script que je vais avoir des problèmes avec affiche une liste des joueurs. Idéalement, ce que je veux être en mesure de le faire est d'afficher une liste des noms des personnes qui jouent sur mon serveur, la couleur grise les gens qui sont en ligne, et le bleu ceux qui sont en ligne.

Maintenant, la partie que je vais avoir un problème avec:

le serveur minecraft jarfile est exécuté dans un « écran », marqué minecraft. Pour obtenir le ListOf joueurs en ligne, je devrais être en mesure d'exécuter (dans l'écran) « liste », suivie d'entrer, et il recrache une liste de joueurs.

J'ai essayé beaucoup de différentes manières d'exécuter la commande dans l'écran de PHP, tels que:

$online = shell_exec('screen -S minecraft -X  print "list\r"');
    echo "<pre>Players online: $online";

Le résultat toujours répercuté sur la page Web est

Players online: No screen session found.

Qu'est-ce que je fais mal? MY php est abyssale (je ne l'ai jamais appris PHP et je apprends d'emblée la référence), mais cela semble simple?

Sur une note de côté, ce qui est la meilleure façon d'obtenir une liste dynamique des personnages mis en évidence? Un tableau de caractères que le jeu, et explode () et comparer, ou devrais-je en train d'écrire à des bases de données et la comparaison de cela?

Merci à tout le monde avance.

PS: pour référence, le site est situé à http://fudgesminecraftserver.info , et vous pouvez voir ce qui se passe il.

Était-ce utile?

La solution

Ceci est probablement un problème d'autorisations Linux. Vous devez donner à l'utilisateur exécutant Apache (www-data?) L'autorisation d'exécuter la commande « écran »

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top