Я пишу программу, которая должна иметь возможность открывать и завершать работу сервера Minecraft через командную строку. Код, который у меня есть для этого:
Runtime.getRuntime().exec("cd ./Server"); //go to the server directory
Process server = Runtime.getRuntime().exec("java -Xmx1024M -Xms1024M -jar minecraft_server.exe nogui"); //run minecraft server in nogui mode
Thread.sleep((long)(1000*60*.5)); //wait 30 seconds
Runtime.getRuntime().exec("stop"); //terminate the server
Thread.sleep((long)(1000*60*.5)); //wait 30 seconds
server.destroy(); //forcibly terminate the server assuming it hasn't already
System.exit(0);
Это просто базовый логический код, который я придумал. Я пытался использовать BufferedWriters, но они просто не работают, и он получает ошибку даже при выполнении команды cd. Я использую Minecraft_Server.exe, который находится по адресу minecraft.net/download.jsp. Команда «stop» выполняется, пока процесс активен, и сообщает программе сохранить сервер, а затем завершить работу. Нужно ли использовать потоки каким-то образом? Пожалуйста, помогите :) Я потратил несколько часов, пытаясь найти ответ, и я просто не знаю, смеется.