cmd — запустить Gameserver (и другие командные файлы) через переполнение стека

У меня есть Windows Server с XAMPP (Apache 2.4 и PHP 7 работает) и Я хочу создать скрипт PHP, который может запускать и останавливать несколько игровых серверов на одном компьютере.


Я борюсь с Сервер Майнкрафт прямо сейчас, давайте возьмем это в качестве примера:

У меня есть папка C:\_tekkitlite где находится сервер minecraft. В этих папках находятся эти файлы (и несколько других, которые не важны):

launch.bat
minecraft_server.jar
TekkitLite.jar

C:\_tekkitlite\launch.bat содержит следующий код:

java -Xmx3G -Xms2G -jar TekkitLite.jar nogui
pause

Мой текущий C:\_xampp\htdocs\startserver.php выглядит так:

system('C:\_tekkitlite\launch.bat');

Когда я выполняю строку выше, я получаю следующее сообщение

C:\_xampp\htdocs>java -Xmx3G -Xms2G -jar TekkitLite.jar nogui C:\_xampp\htdocs>pause Dr�cken Sie eine beliebige Taste . . .

Проблема в том, что на компьютере не запущен Java-процесс, и, следовательно, сервер Minecraft отключен.


Когда я меняю C:\_xampp\htdocs\startserver.php к следующему:

system('java -Xmx3G -Xms2G -jar C:\_tekkitlite\TekkitLite.jar nogui');

я не получаю сообщения от php (я думаю, потому что нет pause в конце этого кода) НО я получаю процесс Java и работающий сервер.

Проблема в том, что вы не можете присоединиться к этому серверу, потому что кажется, что сервер ничего не делает. Обычно сервер minecraft создает кучу файлов после запуска, а мой — нет, когда я запускаю его с помощью приведенного выше сценария.


Отныне я не знаю, что делать. Я где-то ошибся?

Я думаю, что разрешения не проблема, потому что, когда я создаю пакет на C: с

echo "TestTestTestTest"pause

php выводит этот TestTestTestTest просто отлично.

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]