从web发送命令到控制台进程


Send command to console process from web

我通过提示"C:'Program Files (x86)'Steam'steamapps'common'Unturned'Unturned.exe" -nographics -batchmode +secureserver/MyServer从控制台运行unturn(游戏)服务器,然后我可以键入这些命令,如

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

我想让用户从网站做这样的事情。例如,用户在网站上按下"Day"按钮,它将查询发送到连接到服务器的PHP文件,并键入此命令。你知道怎么实现它吗?

简单的方法- exec()'ing命令发送你的命令(即Give 1254235/125/3)到游戏服务器本身)在用户点击异步(参见这个答案异步执行)。

广义示例

:应该从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更容易与第三方应用程序交互。