J' héberge un serveur minecraft sur mon Synology. Pour le lancer, je dois exécuter une commande via SSH. Je souhaiterai le faire avec l'eedomus.
J'ai donc récupéré un script PHP qui me permet d'éteindre mon syno via SSH et je l'ai modifié. Bien sur, ça ne fonctionne pas !
Je pense que cela est du au fait que je ne lance pas qu'une seule commande comme le fichier original, mais plusieurs commandes les unes après les autres (remonter dans le répertoire parent, accèder au dossier minecraft, puis lancer le serveur). La syntaxe ne doit pas être la bonne ...
Je vous joins le fichier :
- Code : Tout sélectionner
<?php
set_include_path(get_include_path() . PATH_SEPARATOR . 'phpseclib');
include('phpseclib/Net/SSH2.php');
$ssh = new Net_SSH2('XXX.XXX.X.XX');
if (!$ssh->login('XXX', 'XXXXX')) {
exit('Login Failed');
}
echo $ssh->read('~ #'); // ce que vous voyez à l'invite SSH
$ssh->write("cd ..\n"); // remonte dans le répertoire parent, attention à ne pas oublier le \n qui simule la touche 'Entrée'
$ssh->write("cd volume2/minecraft\n"); // accès au répertoire minecraft
$ssh->write("nohup jre1.8.0_101/bin/java -Xmx1024m -jar minecraft_server.jar net.minecraft.server.MinecraftServer nogui\n"); // exécution de la commande pour lancer le serveur
echo $ssh->read('~ #');
?>
Si une âme charitable veux bien se pencher sur le sujet, merci par avance