gpt4 book ai didi

java - 从我自己的程序中运行 minecraft 服务器

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:27:47 24 4
gpt4 key购买 nike

为了好玩,我正在尝试设置一个 Minecraft 服务器,并希望添加一个控制面板以简化管理。该控制面板的一部分是从面板运行服务器,以减少误按退出按钮等情况。 (我的世界服务器是一个不可运行的 .jar 文件,这意味着你必须制作一个 .bat 才能从命令行运行它)我知道如何在我的程序中运行服务器,以及打印输出,在这里:

ProcessBuilder pb = new ProcessBuilder("java", "-jar", "gscale.jar");
pb.redirectErrorStream(true);
pb.directory(new File("F:\\Documents and Settings\\Administrator\\Desktop"));

System.out.println("Directory: " + pb.directory().getAbsolutePath());
Process p = pb.start();
InputStream is = p.getInputStream();
BufferedReader br = new BufferedReader(new InputStreamReader(is));
for (String line = br.readLine(); line != null; line = br.readLine()) {
System.out.println( line ); // Or just ignore it
}
p.waitFor();

但是,有了这个,我不确定如何实现输入法。例如,如果我单击一个按钮,它会将输入“停止”发送到外部 jar 以停止服务器,就像没有此命令面板时一样。我将如何实现?上面的代码我计划在它自己的线程中运行,但也许我做错了?

提前致谢!

最佳答案

看起来 Process 类有一个 getOutputStream() 方法。你可以尝试这样的事情:

OutputStream os = p.getOutputStream();
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(os));
bw.write("stop");
bw.newLine();
bw.flush();

关于java - 从我自己的程序中运行 minecraft 服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21143234/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com