Я делаю панель управления Minecraft, но несколько путаюсь, как отправить команду на каждый экран. Я понимаю, как выполнить команду на экране, но я не понимаю, чтобы прочитать результат.
Ex. У меня есть экран A и экран B. Я хочу выполнить что-то на экране A и получить выход, а затем выйти из экрана.
Вот более простое решение: используйте Websend bukkit plugin (Download & info) на обоих серверах. PHP может просто выполнять команды и получать выходы, когда плагин установлен, и установлены классы php, также это может быть более сложным, чем экран bash, и намного проще в настройке и использовании.
Вот пример использования этого:
<?php include_once 'Websend.php'; //Replace with bukkit server IP. To use a different port, change the constructor to new Websend(ip, port) $ws = new Websend($ServerIP, $ServerPort); //Replace with password specified in Websend config file $ws->connect("password"); $ws->doCommandAsConsole("give ".$PlayerName." 64 1"); $ws->disconnect(); ?>
В этом примере элемент сценария для игрока, определяемого переменной. Вы можете выполнить команду пользовательской переменной с заменой $ws->doCommandAsConsole("give ".$PlayerName." 64 1");' to
$ws->doCommandAsConsole("give ".$PlayerName." 64 1");' to
$ ws-> doCommandAsConsole ("$ _ REQUEST ['customCMD']"); где customCMD – поле в форме GET или POST. `
На самом деле не нужен плагин, но имейте в виду, что shell_exec может открыть для вас огромный мир боли, когда дело доходит до безопасности.
Однако у меня была аналогичная проблема с внедрением панели управления в drupal, мне удалось запустить команды на экран, используя следующий код.
shell_exec("screen -S ScreenName -X stuff \"echo hello world\"'\n'");
Пожалуйста.