Я использую Linux, как вы, возможно, уже поняли.
Поэтому я написал панель игрового сервера на PHP и Python, которая может устанавливать, запускать и останавливать любую игру, для которой я пишу скрипт. После некоторого тестирования mumble я добавляю игры в список, и моя первая игра, которая будет поддерживаться, будет quakelive. Чего я хочу добиться, так это того, что я могу отправлять команды любому приложению, работающему в терминале, а также считывать вывод в окне консоли. . Следующими моими шагами будут Minecraft и некоторые другие игры. Я знаю, что в этих двух играх есть порт запроса, но а) я не знаю, как отправить запрос с php на этот б, и б) я хочу потенциально поддерживать все игры, которые есть.
Только для записи, я могу извлечь идентификатор процесса из уже запущенного процесса, если это поможет.
Итак, я побежал ps aux | grep qzero и он говорит, что сервер открыт на pts / 2. Таким образом, команда, с которой я тестирую, это pause, когда я набираю ее вручную, она возвращает некоторые вещи.
В сети я нашел команду
echo pause > /dev/pts/2
Но все, что он на самом деле делает, это выводит паузу в окно консоли.
Я искал в Интернете, но мне кажется, я не знаю, что искать. Может быть, это как-то связано со всем этим stdin и stdout.
Я знаю, что это возможно на других языках, так как я возился с PufferPanel, и у них тоже есть эта функция. Но у него есть некоторые недостатки, поэтому я решил написать свою панель.