Последние 10 часов я пытался найти способ запустить / остановить файл craftbukkit.jar, который находится в том же каталоге, что и мой скрипт php. Я перепробовал почти все решения, которые я смог найти в stackoverflow, и ни одно из них не сработало.
Я пробовал оба shell_exec("java -Xms1024M -Xmx1024M -jar craftbukkit.jar -o true");
а также exec("java -Xms1024M -Xmx1024M -jar craftbukkit.jar -o true");
Я также пытался положить java -Xms1024M -Xmx1024M -jar craftbukkit.jar -o true
во внешнем файле start.sh и затем запустив его с exec("start.sh")
Что я делаю неправильно? Предполагается, что все файлы конфигурации Bukkit будут создаваться при запуске процесса (так же, как при запуске на компьютере).
Я думаю, что вам нужна консоль для запуска сервера в …
я бы порекомендовал сеанс экрана для сервера:
Для запуска сервера команда может выглядеть так:
exec("screen -S bukkit sh /home/user/bukkit/start.sh")
опция -S — это название сессии.
поэтому, когда вы хотите подключиться к консоли через ssh, например, вы просто делаете
screen -r bukkit
может быть, вы должны использовать абсолютные пути для команды … не уверен, если это лучше или нет
есть способ послать несколько команд на этот сеанс, чтобы остановить сервер, но я не помню сейчас!
если вы не используете экран для чего-то еще, вы можете попробовать
exec("killall screen")
убить все скриншоты …
но будьте осторожны с этим, потому что сервер может не сохранить недавние изменения (без выключения bukkit-сервера)
Других решений пока нет …