web-dev-qa-db-ja.com

Java / Minecraft "エラー:メインクラス–Xms​​1024Mが見つからないか、ロードできませんでした"

私はLinuxプロでもJavaプロでもありませんが、Ubuntu 16.04でMinecraftサーバーをセットアップしています。システムには8GBのRAMがあります。

サーバーをセットアップするためのすべての指示に従いました(非常に簡単です)が、コマンドを実行したとき:

Sudo Java –Xms1024M -Xmx1024M -jar minecraft_server.1.9.2.jar nogui

私はこれを得た:

Error: Could not find or load main class –Xms1024M

その後、さまざまなJREをインストールしようとして約1時間ハックした後、単に実行しました:Sudo Java -jar minecraft_server.1.9.2.jar noguiとそれは機能しました。

RAMを指定しない場合の違いと考えられる問題は何ですか?

さらに、MinecraftサーバーをSSH経由で起動し、切断後にバックグラウンドで実行させるための良い方法は何ですか?

編集:

Java -jar minecraft_server.1.9.2.jar noguiを実行すると、次の出力が表示されます。

2016-05-08 14:30:35,683 ERROR Cannot access RandomAccessFile {}) Java.io.FileNotFoundException: logs/latest.log (Permission denied)
2016-05-08 14:30:35,684 ERROR Unable to invoke method createAppender in class org.Apache.logging.log4j.core.appender.RollingRandomAccessFileAppender for element RollingRandomAccessFile Java.lang.reflect.InvocationTargetException
    at Sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at Sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.Java:62)
    at Sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.Java:43)
    at Java.lang.reflect.Method.invoke(Method.Java:498)

これらの無限のリストが続きます:

at kx.a(SourceFile:44) [minecraft_server.1.9.2.jar:?]
at kx.b(SourceFile:54) [minecraft_server.1.9.2.jar:?]
at kx.a(SourceFile:44) [minecraft_server.1.9.2.jar:?]
at kx.b(SourceFile:54) [minecraft_server.1.9.2.jar:?]
at kx.a(SourceFile:44) [minecraft_server.1.9.2.jar:?]
at kx.b(SourceFile:54) [minecraft_server.1.9.2.jar:?]
at kx.a(SourceFile:44) [minecraft_server.1.9.2.jar:?]
at kx.b(SourceFile:54) [minecraft_server.1.9.2.jar:?]
at kx.a(SourceFile:44) [minecraft_server.1.9.2.jar:?]
at kx.b(SourceFile:54) [minecraft_server.1.9.2.jar:?]
1
Jason

RAMを指定する


RAMを指定しないことによる問題は、Minecraftサーバーに十分なRAMが予約されておらず、クラッシュすることです。以下のように、RAMコマンドを最後に配置してみましたか?

Java -jar minecraft_server.jar -Xmx8192M

RAMを制限に合わせて調整してください。さらに、引数に-Xmsを指定する必要がないことに注意してください。また、Sudoを使用しないでください。システムが侵害される可能性があります。


バックグラウンドでMinecraftを使用する


Minecraftはさまざまな方法でバックグラウンドで実行できます。以下に例を挙げます。

方法1:screen

screenと呼ばれる気の利いたユーティリティを使用して、バックグラウンドでMinecraftセッションを実行できます。これを行うには、screenコマンドを実行してから、開始コマンドを実行します。その後、押すだけ Ctrl + A に続く D。ターミナルに戻ります。 screenセッションを再開するには、screen -rを実行するだけです。

いつでも戻ってコンソールにアクセスできるため、ほとんどの人はscreenを好みます。

方法2:bg/fg

Minecraftサーバーが起動したら、を押します Ctrl+Z キーボードで。そこから、bgと入力します。 Minecraftサーバーはバックグラウンドで実行されます。

個人的にはテストしていないので、YMMVに注意してください。

方法3:Nohup

Nohupコマンドを使用して、開始コマンドの前に追加します。 Minecraftサーバーが起動したら、SSHセッションを終了します。サーバーは稼働し続けます。

ただし、Nohupの使用には注意してください。これは、独自のログを保持するハードドライブのスペースを大量に消費するためです。これを回避するには、コマンドの最後に>/dev/null 2>&1を追加します。

方法4:初期スクリプト

Initscriptはvery複雑ですが、起動時または手動呼び出し時にサーバーを自動起動/停止できます。手順はオンラインで入手できます。多くの優れた方法がありますが、システムに合わせて調整する必要があります。


許可エラー


権限の問題は、Minecraftがすべてのファイルをルートとして作成したためです。したがって、rootのみがそれらにアクセスできます。これを修正するには、MinecraftフォルダーでSudo chown -R $USER:$USER .を実行します。

出典:Minecraftネットワークのシステム管理者

1
Kaz Wolfe

ケースに注意してください!

mは、次のように小文字にする必要があります。

Sudo Java -Xms1024m -Xmx1024m -jar minecraft_server.1.9.2.jar nogui

また、メモリオプションを最後に配置してみてください。

1
Android Dev