我目前正在设置一个经过修改的 Minecraft 服务器来与我的朋友一起玩,我下载了 SevTech Ages Modpack 服务器,安装了它,一切正常(我们都可以连接和玩),但我没有收到任何日志/ CMD 中的控制台输出就像我对“手工制作”服务器所做的那样(因为 start.bat 不是我制作的)...
这是start.bat文件:
@echo off
call settings.bat
:start_server
echo Starting SevTech Ages Server...
@echo on
"C:\Program Files\Java\jre-1.8\bin\javaw.exe" -server -Xms%MIN_RAM% -Xmx%MAX_RAM% %JAVA_PARAMETERS% -jar %SERVER_JAR%
pause
exit /B
goto start_server
问题是,在服务器的选项中,该jar是一个forge jar(“forge-1.12.2-14.23.5.2860.jar”),但有一个“minecraft_server.1.12.2.jar”是在服务器的文件夹,所以我认为它不会直接打开服务器,这就是我看不到控制台输出的原因......?
我试图删除java行末尾的“nogui”,但正如我所料,它只是将javaw.exe作为一个新窗口打开,当我只能打开一个窗口时,总共打开了2个窗口......
我想在start.bat CMD窗口中获取控制台,但如果我真的不能,我可以在删除nogui时让start.bat CMD窗口不可见吗?
当然,所以如果您想直接在 Minecraft 服务器的命令提示符窗口中查看控制台输出,您可以对 start.bat 脚本进行一些小调整。
您可以执行以下操作:
@echo off
call settings.bat
:start_server
echo Starting SevTech Ages Server...
"C:\Program Files\Java\jre-1.8\bin\java.exe" -server -Xms%MIN_RAM% -Xmx%MAX_RAM% %JAVA_PARAMETERS% -jar %SERVER_JAR%
pause
exit /B
goto start_server
此更改将
javaw.exe
替换为 java.exe
,这将使控制台输出直接显示在命令提示符窗口中。当服务器启动时,您将看到所有很酷的事情发生。
但是,如果您只注重简化的外观并且不希望服务器有单独的窗口,则可以保留
javaw.exe
并仍然捕获输出。只需像这样修改脚本即可:
@echo off
call settings.bat
:start_server
echo Starting SevTech Ages Server...
"C:\Program Files\Java\jre-1.8\bin\javaw.exe" -server -Xms%MIN_RAM% -Xmx%MAX_RAM% %JAVA_PARAMETERS% -jar %SERVER_JAR% > server_log.txt 2>&1
pause
exit /B
goto start_server
这会将标准输出和标准错误输出定向到名为
server_log.txt
的文件,保持整洁。
只需记住将
%SERVER_JAR%
替换为服务器 .jar 文件的实际名称,并确保您的路径都正常。