これはうまくいきません。なぜこれが起こるのですか? [閉鎖]

これはうまくいきません。なぜこれが起こるのですか? [閉鎖]
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。ゲームサーバーには複雑でまだ広く知られていない脆弱性が含まれていることがほぼ確実であり、root権限でゲームサーバーを実行している場合、これらの脆弱性を悪用する人は誰でもすぐにシステムを完全に制御できます。

一般ユーザーがハッキングされるほど悪いことですが(最近では、請求書の支払い中にクラウドサーバーを使用して侵入者のためにビットコインを採掘することが多いです)、侵入者に簡単にルートを得る能力を提供します。アクセスははるかに悪いです。これを回復するための信頼できる唯一の方法は、クラウドサーバーを削除して新しいサーバーを作成することです。

(私はcd意図的にこの回答で絶対パスと外部コマンドを使用しました。質問者は、コマンドライン技術とは別のシェルセッションとディレクトリツリーナビゲーションの概念でさえ、まだ少し不確実な初心者だと仮定します。)

関連情報