【マインクラフト】Windowsでマルチサーバーが重い場合の割当メモリの増やし方

マインクラフトのマルチサーバーをWindowsで起動している場合、メモリが足らずMobの動きがカクカクしてしまうことがある。

処理を追いつかせるため、マルチサーバーへのメモリを増やす。

1.batファイルを作成する

マインクラフトのマルチサーバーを起動するjarファイル(今回はminecraft_server.1.8.8.jarとする)のあるディレクトリ内に作成する。

@echo off
java -Xms2048M -Xmx2048M -jar minecraft_server.1.8.1.jar nogui
pause

テキストエディタを開き、以下を入力し「start.bat」などのファイル名で保存。
※ファイル名は起動するファイルだと分かればOK。拡張子は「.bat」で保存。

2.batファイルを実行する

2-1.コマンドプロンプトを起動

2-2.「start.bat」ファイルのあるディレクトリに移動

cd C:\Users\[ユーザー名]\Documents\minecraft

※アドレスバーからパスをコピー&ペーストする。

2-3.「start.bat」ファイルを実行

start.bat

これで起動すれば終了。

3.batファイル実行時にエラーが出た場合

上記で起動した際に以下のようなエラーが出ることがある。

Error occurred during initialization of VM
Could not reserve enough space for 2097152KB object heap
続行するには何かキーを押してください . . .

ひとまず何かキーを押下して終了させる。

Javaの32bitを使用している場合、最大メモリが1024Mまでしか使用できない。「start.bat」ファイルで「2048M」と指定したたことが原因。

4.[対処方法1]

4-1.「start.bat」ファイルのメモリを「1024M」に変更する

上記「1」で作成した「start.bat」ファイルの内容を以下のように変更する。

@echo off
java -Xms1024M -Xmx1024M -jar minecraft_server.1.8.1.jar nogui
pause

これで起動する。

[17:48:56] [Server thread/INFO]: Starting minecraft server version 1.8.8
[17:48:56] [Server thread/INFO]: Loading properties
[17:48:56] [Server thread/INFO]: Default game type: SURVIVAL
[17:48:56] [Server thread/INFO]: Generating keypair
[17:48:56] [Server thread/INFO]: Starting Minecraft server on *:25565
[17:48:56] [Server thread/INFO]: Using default channel type
[17:48:56] [Server thread/INFO]: Preparing level "world"
[17:48:57] [Server thread/INFO]: Preparing start region for level 0
[17:48:58] [Server thread/INFO]: Done (1.140s)! For help, type "help" or "?"

5.[対処方法2]

64ビットのJavaをインストールする

5-1.現状のJavaのバージョンを確認

コマンドプロンプトにて以下を実行。

java -version

32ビットの場合、以下のように表示される。

java version "1.8.0_131"
Java(TM) SE Runtime Environment (build 1.8.0_131-b11)
Java HotSpot(TM) Client VM (build 25.131-b11, mixed mode)

5-2.64ビットjavaのダウンロード、インストール

以下ページ、「Windows オフライン (64ビット)」をダウンロード。
全オペレーティング・システム用のJavaのダウンロード

ダウンロードしたファイルを実行、「正常にインストールできました」というダイアログが出れば完了。

5-3.再度javaのバージョンを確認

java -version

以下のように表示されれば64ビットになっている。

java version "1.8.0_131"
Java(TM) SE Runtime Environment (build 1.8.0_131-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.131-b11, mixed mode)

5-4.再度「start.bat」ファイルを実行

start.bat

※「cd」コマンドで「start.bat」ファイルのあるディレクトリまで移動していることが前提。

以下のようなダイアログが出るので、「プライベート ネットワーク(ホーム ネットワークや社内ねっとワークなど)」にチェック
→ 「アクセスを許可する」を押下

以下のようにサーバーが起動する。

[18:05:47] [Server thread/INFO]: Starting minecraft server version 1.8.8
[18:05:47] [Server thread/INFO]: Loading properties
[18:05:47] [Server thread/INFO]: Default game type: SURVIVAL
[18:05:47] [Server thread/INFO]: Generating keypair
[18:05:47] [Server thread/INFO]: Starting Minecraft server on *:25565
[18:05:47] [Server thread/INFO]: Using default channel type
[18:05:47] [Server thread/INFO]: Preparing level "world"
[18:05:47] [Server thread/INFO]: Preparing start region for level 0
[18:05:48] [Server thread/INFO]: Preparing spawn area: 38%
[18:05:49] [Server thread/INFO]: Done (1.696s)! For help, type "help" or "?"

サーバーを停止する場合

コマンドプロンプトに「stop」と入力→「Enter」キーを押下。

stop

以下のように停止する。

[18:13:44] [Server thread/INFO]: Stopping the server
[18:13:44] [Server thread/INFO]: Stopping server
[18:13:44] [Server thread/INFO]: Saving players
[18:13:44] [Server thread/INFO]: Saving worlds
[18:13:44] [Server thread/INFO]: Saving chunks for level 'world'/Overworld
[18:13:45] [Server thread/INFO]: Saving chunks for level 'world'/Nether
[18:13:45] [Server thread/INFO]: Saving chunks for level 'world'/The End
[18:13:45] [Server Shutdown Thread/INFO]: Stopping server
2017-07-09 18:13:45,247 ERROR Attempted to append to non-started appender ServerGuiConsole
Exception in thread "Server Shutdown Thread" org.apache.logging.log4j.core.appender.AppenderLoggingException: Attempted to append to non-started appender ServerGuiConsole
        at org.apache.logging.log4j.core.config.AppenderControl.callAppender(AppenderControl.java:89)
        at org.apache.logging.log4j.core.config.LoggerConfig.callAppenders(LoggerConfig.java:425)
        at org.apache.logging.log4j.core.config.LoggerConfig.log(LoggerConfig.java:406)
        at org.apache.logging.log4j.core.config.LoggerConfig.log(LoggerConfig.java:367)
        at org.apache.logging.log4j.core.Logger.log(Logger.java:110)
        at org.apache.logging.log4j.spi.AbstractLogger.info(AbstractLogger.java:1011)
        at net.minecraft.server.MinecraftServer.t(SourceFile:376)
        at net.minecraft.server.MinecraftServer$2.run(SourceFile:715)
続行するには何かキーを押してください . . .

マインクラフト の一覧