Отправить команду на консольный процесс из сети

1

Я запускаю Unturned (game) -сервер с консоли, набирая "C:\Program Files (x86)\Steam\steamapps\common\Unturned\Unturned.exe" -nographics -batchmode +secureserver/MyServer а затем я могу ввести там команды как

Give 1254235/125/3       or
Kick 131245654/cheats    or
Night

Я хочу разрешить пользователям делать такие вещи с веб-сайта. Например, пользователь нажимает кнопку "День" на веб-сайте и отправляет запрос на файл PHP, который подключается к серверу и набирает эту команду. Любая идея, как его реализовать?

  • 0
    Управляется ли сервер запуском нового процесса с параметрами или передачей команды уже запущенному процессу?
  • 0
    Таким образом, в основном вы запускаете другой процесс с параметрами, и эти параметры (команды) передаются на ваш работающий сервер. Это верно?
Показать ещё 1 комментарий
Теги:
cmd

1 ответ

3

Простой способ - команда exec() ', которая отправляет ваши команды (т.е. Give 1254235/125/3) самому игровому серверу) при нажатии асинхронно на пользователя (см. Этот ответ для выполнения async).

Обобщенный пример: должен открыть Блокнот (да, неудобно, чтобы показать, как передать текст в уже открытое окно консоли) из PHP:

script.php:

public function runScript() {
    exec("AutoIt3.exe script.au3 > NUL 2>NUL");
}

script.au3:

WinActivate("Command Prompt")
WinWaitActivate("Command Prompt")
Send("nodepad.exe")

Зачем нужен другой скрипт?

AutoIt позволяет легче взаимодействовать с сторонними приложениями, чем PHP. Я даже не уверен, что это возможно с PHP.

  • 0
    Я не уверен, что понимаю тебя. Можете ли вы, пожалуйста, написать полный пример? exec () будет запускать много экземпляров или отправлять команду на существование?
  • 0
    @JohnnyDinner Изменил AutoHotKey на AutoIt - в первую очередь перепутал названия инструментов. Добавленный пример - вы должны быть в состоянии адаптироваться к вашему случаю, изменив то, что делает скрипт AutoIt.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню