У меня есть 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 просто отлично.
Задача ещё не решена.
Других решений пока нет …