Экран -dmS работает из командной строки, но не из Java (скрипт перезапуска Spigot) - PullRequest
0 голосов
/ 13 октября 2019

Я недавно изменил свой выделенный сервер, и с тех пор скрипт, который я использую для перезапуска своего сервера Minecraft, больше не работает. Я могу вызвать сценарий, используя sh start.sh, и мой сервер запускается, однако, когда я использую внутриигровую команду / перезапуск или когда я приказываю серверу перезагрузиться из моего плагина, сервер закрывается и никогда не перезапускается.

Вот содержимое моего start.sh

screen -dmS mc_hub1 java -jar -Xmx2048M -DIReallyKnowWhatIAmDoingISwear server.jar

Если я не запускаю скрипт из командной строки, ничего не происходит, экран даже не создается.

Похоже, что проблема возникла из screen -dmS mc_hub1, потому что инструкция по перезапуску работает, если я ее удаляю, на самом деле мне кажется, что я не могу использовать что-либо, связанное с экранами из Java, но раньше он работал, поэтому я немногопотерян.

Выделенный сервер, на котором все работает, работает под управлением Debian 9.9, Screen 4.05.00, а на новом - Debian 9.11 и Screen 4.05.00.

  • Я пыталсядобавьте опцию -L, чтобы включить ведение журнала, но он даже не создает файл,
  • Все в папке имеет разрешения на чтение и выполнение,
  • Я пытался вызвать скрипт из своего плагина, используяjava.lang.ProcessBuilder,нет исключений, но все равно нет результатов
ProcessBuilder pb = new ProcessBuilder("start.sh");
                    pb.directory(new File("/home/minecraft/uhc/"));
                    pb.start();
  • Версия Java, похоже, не вызывает проблемы (я тестировал последнюю версию и версию с моего первого выделенного сервера, который старше)

Любая помощь будет оценена, спасибо

...