study071126@minecraft:~$ cd ~/minecraft/ && sh ./run.sh nogui
Error occurred during initialization of VM
Too small maximum heap
study071126@minecraft:~/minecraft$ ls
config forge-1.20.1-47.2.0-installer.jar logs run.sh
defaultconfigs forge-1.20.1-47.2.0-installer.jar.log mods user_jvm_args.txt
eula.txt libraries run.bat
study071126@minecraft:~/minecraft$ java -Xms10G -Xmx14G -jar ^C
study071126@minecraft:~/minecraft$ java -Xms10G -Xmx14G -jar forge-1.20.1-47.2.0-installer.jar --nogui
JVM info: Private Build - 18.0.2-ea - 18.0.2-ea+9-Ubuntu-222.04
java.net.preferIPv4Stack=true
Current Time: 07/02/2024 01:44:54
Exception in thread "main"
joptsimple.UnrecognizedOptionException: nogui is not a recognized option
at joptsimple.OptionException.unrecognizedOption(OptionException.java:108)
at joptsimple.OptionParser.handleLongOptionToken(OptionParser.java:510)
at joptsimple.OptionParserState$2.handleArgument(OptionParserState.java:56)
at joptsimple.OptionParser.parse(OptionParser.java:396)
at net.minecraftforge.installer.SimpleInstaller.main(SimpleInstaller.java:93)
study071126@minecraft:~/minecraft$ ^C
study071126@minecraft:~/minecraft$ cd ~/minecraft/ && sh ./run.sh nogui
Error occurred during initialization of VM
Too small maximum heap
study071126@minecraft:~/minecraft$ ^C
study071126@minecraft:~/minecraft$ ^C
study071126@minecraft:~/minecraft$ sudo java -Xmx9218m -Xms2048m -jar forge-1.20.1-47.2.0-installer.jar --noguiJVM info: Private Build - 18.0.2-ea - 18.0.2-ea+9-Ubuntu-222.04
java.net.preferIPv4Stack=true
Current Time: 07/02/2024 01:47:35
Exception in thread "main"
joptsimple.UnrecognizedOptionException: nogui is not a recognized option
at joptsimple.OptionException.unrecognizedOption(OptionException.java:108)
at joptsimple.OptionParser.handleLongOptionToken(OptionParser.java:510)
at joptsimple.OptionParserState$2.handleArgument(OptionParserState.java:56)
at joptsimple.OptionParser.parse(OptionParser.java:396)
at net.minecraftforge.installer.SimpleInstaller.main(SimpleInstaller.java:93)
study071126@minecraft:~/minecraft$ ^C
study071126@minecraft:~/minecraft$ cd ~/minecraft/ && sh ./run.sh nogui
Error occurred during initialization of VM
Too small maximum heap
study071126@minecraft:~/minecraft$ cd ~/minecraft/ && sh ./run.sh nogui
Error occurred during initialization of VM
Too small maximum heap
study071126@minecraft:~/minecraft$ sudo java -Xmx2048m -Xms9218m -jar forge-1.20.1-47.2.0-installer.jar --noguiError occurred during initialization of VM
Initial heap size set to a larger value than the maximum heap size
study071126@minecraft:~/minecraft$ sudo java -Xmx2048m -Xms9218m -jar forge-1.20.1-47.2.0-installer.jar --noguiError occurred during initialization of VM
Initial heap size set to a larger value than the maximum heap size
study071126@minecraft:~/minecraft$ sudo java -Xmx2048m -Xms2048m -jar -jar forge-1.20.1-47.2.0-installer.jar --nogui
JVM info: Private Build - 18.0.2-ea - 18.0.2-ea+9-Ubuntu-222.04
java.net.preferIPv4Stack=true
Current Time: 07/02/2024 01:48:42
Exception in thread "main"
joptsimple.UnrecognizedOptionException: nogui is not a recognized option
at joptsimple.OptionException.unrecognizedOption(OptionException.java:108)
at joptsimple.OptionParser.handleLongOptionToken(OptionParser.java:510)
at joptsimple.OptionParserState$2.handleArgument(OptionParserState.java:56)
at joptsimple.OptionParser.parse(OptionParser.java:396)
at net.minecraftforge.installer.SimpleInstaller.main(SimpleInstaller.java:93)
study071126@minecraft:~/minecraft$ cd ~/minecraft/ && sh ./run.sh nogui Error occurred during initialization of VM
study071126@minecraft:~/minecraft$ ^C
study071126@minecraft:~/minecraft$ sh ./run.sh
Error occurred during initialization of VM
Too small maximum heap
study071126@minecraft:~/minecraft$
답변1
왜냐하면 당신이 제대로 하고 있지 않기 때문입니다.
좀 더 구체적인 답변을 원하시면 "it"과 "work"를 올바르게 정의하세요.
좀 더 구체적으로(추론적으로는) 수정된 Minecraft 서버를 시작하려고 하는 것으로 보입니다. 이 모드의 설치 및 시작 지침을 참조하세요. 또한 받은 오류 메시지도 확인하세요. 사용 중인 스크립트를 확인하여 프로젝트 문서에 지정된 명령을 실행하고 있는지 확인하세요.
얻는 결과 중 일부와 그 의미는 문제가 있는 응용 프로그램의 사양에 따라 달라집니다.
Error occurred during initialization of VM
Too small maximum heap
실행 중인 애플리케이션은 이를 호출하는 JVM이 허용하는 것보다 더 많은 메모리 할당을 요청합니다.
Exception in thread "main"
joptsimple.UnrecognizedOptionException: nogui is not a recognized option
nogui
애플리케이션에서 인식되지 않는 런타임 옵션( )을 제공했습니다. 해당 애플리케이션의 설명서를 참조하세요.
(추가) 제쳐두고: 만약에누구나실행하라고 하더군요게임 서버sudo
, 로 시작하는 명령멈추다그 사람의 지시는 가난하고 정확하지 않을 수 있으며 온갖 위험이 도사리고 있으므로 따르십시오.
답변2
forge-1.20.1-47.2.0-installer.jar
이는 실제 Minecraft 서버가 아니라는 점에 유의하세요 .설치 프로그램그것을 위해. 이미 한 번 수행한 것이므로 다시 실행할 필요가 없는 것 같습니다.
텍스트 파일 이라는 파일이 있습니다 user_jvm_args.txt
. (예를 들어 를 사용하여) 살펴보면 less ~/minecraft/user_jvm_args.txt
다음과 같은 내용을 볼 수 있습니다.
# Xmx and Xms set the maximum and minimum RAM usage, respectively.
# They can take any number, followed by an M or a G.
# M means Megabyte, G means Gigabyte.
# For example, to set the maximum to 3GB: -Xmx3G
# To set the minimum to 2.5GB: -Xms2500M
# A good default for a modded server is 4GB.
# Uncomment the next line to set it.
# -Xmx4G
여기에 Java 메모리 매개변수를 추가할 수 있습니다. 마지막 줄의 기호를 제거 #
하고 거기에 옵션을 추가하거나, 끝에 새 줄을 추가하고 메모리 옵션을 포함할 수 있습니다.
echo "-Xms10G -Xmx14G" >> ~/minecraft/user_jvm_args.txt
(이 명령줄은 한 번만 실행해야 합니다. 이후에 옵션을 변경하려면 일반 텍스트 편집기를 사용하여 파일에 줄을 더 많이 추가하지 않도록 해야 합니다.)
그 후에 cd ~/minecraft/ && sh ./run.sh nogui
는 작동합니다.
이것은 run.sh
쉘 스크립트이므로 텍스트 파일이기도 합니다. 일반적으로 프로그램을 시작하기 위한 스크립트가 함께 제공되는 경우 이는 해당 스크립트가 매개변수 및 기타 사용자 정의를 위한 예상 위치라는 것을 의미하므로 실행하기 전에 스크립트를 읽어 보는 것이 좋습니다. less ~/minecraft/run.sh
내용을 보는 방법이 될 것입니다.
이 경우 다음과 같은 내용이 표시됩니다.
#!/usr/bin/env sh
# Forge requires a configured set of both JVM and program arguments.
# Add custom JVM arguments to the user_jvm_args.txt
# Add custom program arguments {such as nogui} to this file in the next line before the "$@" or
# pass them to this script directly
java @user_jvm_args.txt @libraries/net/minecraftforge/forge/1.20.2-48.1.0/unix_args.txt "$@"
네가 원한다면언제나nogui
수행할 작업을 알려주는 매개변수를 사용하여 서버를 실행합니다 . nogui
마지막 줄에 추가하면 다음과 같습니다.
java @user_jvm_args.txt @libraries/net/minecraftforge/forge/1.20.2-48.1.0/unix_args.txt nogui "$@"
그 후에는 이 모드 cd ~/minecraft/ && sh ./run.sh
에서 서버를 시작하는 것으로 충분합니다 .nogui
DopeGhoti가 답변에서 말했듯이안 돼요게임 서버를 실행하는데 사용합니다 sudo
. 게임 서버는 복잡하고 아직 널리 알려지지 않은 취약점을 포함하고 있는 것이 거의 확실하며, 루트 권한으로 게임 서버를 실행하는 경우 이러한 취약점을 악용하는 사람은 누구나 즉시 시스템을 완전히 제어할 수 있습니다.
일반 사용자가 해킹당할 만큼 나쁜 일이지만(요즘에는 청구서를 지불하는 동안 클라우드 서버를 사용하여 침입자를 위해 비트코인을 채굴하는 경우가 많습니다), 침입자에게 쉽게 루트를 얻을 수 있는 능력을 제공합니다. 액세스는 훨씬 더 나쁩니다. 이를 복구할 수 있는 신뢰할 수 있는 유일한 방법은 클라우드 서버를 삭제하고 새 서버를 만드는 것입니다.
(저는 cd
의도적으로 이 답변에서 절대 경로와 외부 명령을 사용했습니다. 질문자는 명령줄 기술과 별도의 셸 세션 및 디렉터리 트리 탐색의 개념조차 여전히 약간 불확실할 수 있는 초보자라고 가정합니다.)