【マイクラ統合版】自宅サーバーの構築方法(サーバー設定とアップデート方法も含む)

Minecraft(マイクラ)統合版のサーバーといえば、公式サーバーの『Realms』、レンタルサーバーの『ConoHa VPS』や『Xserver VPS』等を使うことが一般的です。

しかし、これらは維持するために結構お金が掛かったり、機能に制限があったりして自身のニーズに合わない場面もあります。

そんなときの選択肢の1つとして、自分のPC上にマイクラサーバーを立てるという方法があります。実はMicrosoftからサーバー用のソフトウェアが提供されており、意外と簡単に自分のPC上にマイクラサーバを構築できます。

ここでは自宅のPCにマイクラサーバーを構築する方法を解説します。また、例としてNintendo Switchのマイクラから構築したサーバーへアクセスする方法について紹介します。

目次

マイクラサーバーの立て方

前提条件

まずは前提としてPCは以下を満たす必要があります。(一部は推奨条件)

OSWindows(Windows 10 version 1703以降 or Windows Server 2016以降)
Linux(Ubuntu 18以降)
プロセッサx86-64系(IntelやAMDのプロセッサ)
2コア以上推奨
メモリ1GB以上余裕がある(同時接続人数によっては更に必要)
ストレージ1GB以上の空き(サーバーソフト全体は300MB弱)

ARM系プロセッサ用のバイナリは出ていないので要注意(ラズパイとかには基本構築できない)

マイクラサーバー構築手順

ここからはマイクラサーバの構築手順を解説します。(Windows版を例に説明しますが、Ubuntu版も基本的には同じです。)

STEP
サーバーソフトのダウンロード

公式の配布ページにアクセスして、マイクラサーバー用のソフトウェアをダウンロードします。

Windows用とUbuntu用があるので、自身が構築するOSのバイナリをダウンロードしてください。

STEP
サーバーソフトのインストール

「bedrock-server-(version).zip」というファイルがダウンロードされるので、このファイルを解凍します。

STEP
サーバーの起動

解凍するとフォルダ内に「bedrock_server.exe」というファイルがあるので、こちらを起動します。

起動すると以下のようにコンソール立ち上がり、マイクラサーバーが動き始めます。(ファイアウォールの許可を求めてくる場合があるので、その場合はアクセスを許可してください。)

以上でマイクラサーバーの立ち上げは完了です。簡単すぎー!

ちなみに、Minecraftサーバーを構築するPCはIPアドレスを固定にしておくことをおすすめします。なぜなら、DHCPでIPがコロコロ変わると、サーバーにアクセスする度にIPアドレスを指定し直す必要があるからです。

マイクラサーバーの設定

マイクラサーバーには以下の3つの設定ファイルが用意されています。

それぞれの内容について簡単に説明するので、自身の環境や用途に合わせてカスタマイズしてください。

server.properties

マイクラサーバーの全体的な設定を行います。

設定項目設定値
※太字はデフォルト値
初期値備考
server-name文字列Dedicated Serverサーバー名

※ 文字列にセミコロンは含めないこと
gamemodesurvival
creative
adventure
survivalゲームモード

survival:サバイバル
creative : クリエイティブ
adventure : アドベンチャー
force-gamemodetrue
false
falseデフォルトのゲームモード設定をプレイヤーに強制するかの設定

true : ゲーム中にゲームモードを変えたとしても、再ログインするとサーバー設定のゲームモードになる
false : ゲームモードを変えてログアウトし直した場合、ログアウト時の設定で再開する
difficultypeaceful
easy
normal
hard
easy難易度

peaceful:ピースフル
easy : イージー
normal : ノーマル
hard : ハード
allow-cheatsture
false
falseチートコマンドの許可/不許可

true : チートコマンドを許可する
false : チートコマンドを許可しない
max-players整数値10サーバーの最大同時接続数
online-modetrue
false
true接続プレイヤーに対してMinecraftのアカウントデータベースと照合する/しない

true : チェックを行い、照合できたアカウントだけ接続を許可する
false : チェックをせず、どのようなアカウントでも接続を許可する

基本的にはtrue推奨だが、インターネットに接続していないサーバー等で照合できない場合にfalseにする
allow-listtrue
false
false"allowlist.json" による接続許可アカウントの振り分け有効/無効

true : "allowlist.json" に登録されているアカウントだけ接続を許可する
false : "allowlist.json"を参照せず、どのアカウントも接続を許可する
server-port1〜6553519132サーバーのポート番号(IPv4)

不特定多数の外部に対して公開する場合は、マイクラのデフォルトポート「19132」のままにしておいた方が良い
server-portv61〜6553519133サーバーのポート番号(IPv6)

不特定多数の外部に対して公開する場合は、マイクラのデフォルトポート「19133」のままにしておいた方が良い
enable-lan-visibilitytrue
false
trueLANの視認性

サーバーがデフォルトポート番号から変更した状態でも、クライアントから初期値(19132,19133)のポート番号で問い合わせが来たときに応答するかどうかの設定する

true : ポート番号を変えていてもクライアントの問い合わせに応答する
false : ポート番号を変えていた場合、そのポート番号の問い合わせのみに応答する

trueは利便性が高いが、同一LAN内に複数のマイクラサーバーを運用しているような場合はfalseにする必要がある
view-distance5以上の整数値32描画距離(単位 : チャンク)

値を低くするとサーバー処理を軽くできるが、その分遠くのものが描画されなくなる
tick-distance4〜124シミュレーション距離(単位 : チャンク)

プレイヤーからどれだけ離れたところまでmobや作物などの処理を行うかを設定する

値を高くするとより遠くのmobが成長したり作物が育ったりするが、その分サーバー処理が重くなる
player-idle-timeout0以上の整数値30キックするまでの放置時間(単位 : 分)

指定した時間プレイヤーが未操作の場合、サーバーからキックする
0の場合はどれだけ時間経過してもキックしない
max-threads0以上の整数値8サーバーが使用する最大スレッド数

0または設定項目を削除した場合、可能な限り多くのスレッドを使用する
level-name文字列Bedrock levelワールドの名前とワールドデータが保存されるディレクトリ名

※ 文字列にセミコロンとファイル名に使用できない以下の文字は含めないこと
/\n\r\t\f`?*\<>|\"
level-seedシード値空白ワールドシード値

シード値を指定して生成したい場合に使用する
default-player-permission-levelvisitor
member
operator
memberプレイヤー権限レベル

ワールドに初めてプレイヤーが参入した時、この設定に応じた権限が付与される

visitor:探検はできるがブロック破壊などの操作は不可能
member:通常プレイが可能
operator:member権限に加え、各プレイヤーの権限設定、世界全体を細かく操作できるコマンドの利用が可能
texturepack-requiredtrue
false
falseテクスチャパックの強制

true : ワールドに適応されたテクスチャパックをクライアントに強制する
false : ワールドに適応されたテクスチャパックをクライアントに強制しない
content-log-file-enabledtrue
false
falseコンテンツエラーのログファイル出力

true : コンテンツエラーのログファイルを出力する
false : コンテンツエラーのログファイルを出力しない
compression-threshold0-655351圧縮対象サイズ

圧縮するネットワーク ペイロードの最小サイズを設定する
compression-algorithmzlib
snappy
zlibネットワークで使用する圧縮アルゴリズム

zlib : zlibを使って圧縮する
snappy : snappyを使って圧縮する
server-authoritative-movementclient-auth
server-auth
server-auth-with-rewind
server-authサーバーとクライアント間での位置ズレの補正

client-auth : クライアント側で位置ズレ補正する
server-auth : サーバー側で位置ズレ補正する
server-auth-with-rewind : server-authに加え、サーバーが是正を行うとクライアント側でも巻き戻って補正する

補正はcorrect-player-movementがtrueに設定されている場合のみ有効
player-movement-score-threshold整数値20異常動作検知のしきい値

異常動作とレポートされる不一致時間の間隔
server-authoritative-movementの設定によっては無効化される ※1
player-movement-action-direction-threshold0〜10.85プレイヤーのアクションずれしきい値

1に近いほどプレイヤー視点の方向とプレイヤーが攻撃している方向を正確に一致させる
0は2つの方向が最大 90 度まで異なる可能性がある
player-movement-distance-threshold小数点含む数値0.3プレイヤーの位置ずれ検知しきい値

プレイヤーの位置について、ゲーム内の位置とサーバー内の位置がズレていると検知されるまでの距離に対する閾値を設定する
server-authoritative-movementの設定によっては無効化される ※1
player-movement-duration-threshold-in-ms整数値500プレイヤーの位置ずれ修正間隔

プレイヤーの位置について、ゲーム内の位置とサーバー内の位置のズレを修正する時間の間隔をミリ秒単位で設定する
server-authoritative-movementの設定によっては無効化される ※1
correct-player-movementtrue
false
falseプレイヤー補正の有効/無効

true : 移動量がしきい値を超えた場合、クライアントの位置がサーバーによって補正される
false : クライアントの位置がサーバーによって補正されない
server-authoritative-block-breakingtrue
false
falseブロック破壊の検証

true : サーバーはクライアントと同期してブロックのマイニング操作を計算。クライアントがブロック破壊をしようとしたとき、ブロックを破壊できるかどうかをサーバーが検証する

false : サーバーはブロック破壊の検証しない
chat-restrictionNone
Dropped
Disabled
Noneゲーム内チャットの有効/無効

None:チャット使用可能
Dropped:チャットを無効化
Disabled:管理権限のプレイヤーのみチャットが使用可能
disable-player-interactiontrue
false
false用途不明(初期値のまま推奨)

クライアントがワールドとやりとりするとき、他のプレイヤーを無視する必要があることをクライアントに通知する
client-side-chunk-generation-enabledtrue
false
true用途不明(初期値のまま推奨)

サーバーはクライアントに対して、プレイヤーのインタラクション距離外でビジュアル レベル チャンクを生成する機能があることを通知する
disable-personatrue
false
falseペルソナ機能の有効/無効

true : ペルソナ機能を無効にする
false : ペルソナ機能を有効にする
disable-custom-skinstrue
false
falseカスタムスキン機能の有効/無効

true : カスタムスキン機能を無効にする
false : カスタムスキン機能を有効にする

※1 "server-authoritative-movement" の設定によっては無効化されると記載されているが、正しくは "correct-player-movement" と思われる。以前は"server-authoritative-movement" の設定値がtrue/falseだったので、その名残と思われる。

allowlist.json

"server.properties" の "allow-list" が "true" の場合、この "allowlist.json" に登録されているユーザだけがサーバーに接続できるようになります。

ignoresPlayerLimit最大参加人数に含むかどうか
true : 含む
false : 含まない
nameXbox Live ゲーマータグを入力
xuidxuidを入力 (未入力でもOK)

以下は特定の2名を登録する場合の設定例

[
    {
        "ignoresPlayerLimit" : false,
        "name" : "username1",
        "xuid" : "1234567890123456"
    },
    {
        "ignoresPlayerLimit" : false,
        "name" : "username2",
        "xuid" : "9876543210987654"
    }
]
permission.json

ユーザーの権限を個別に設定することができます。

permission権限の設定

visitor:探検はできるがブロック破壊などの操作は不可能
member:通常プレイが可能
operator:member権限に加え、各プレイヤーの権限設定、世界全体を細かく操作できるコマンドの利用が可能
xuid権限設定する対象のxuid

以下は特定の2人の権限を設定する場合の例

[
   {
      "permission" : "operator",
      "xuid" : "1234567890123456"
   },
   {
      "permission" : "member",
      "xuid" : "9876543210987654"
   }
]

マイクラサーバーのアップデート手順

マイクラのバージョンアップが行われると、合わせてサーバー側もアップデートする必要があります。クライアントとサーバーのバージョンが一致していないとダメってことですね。

アップデート手順は以下の通りです。

STEP
マイクラサーバーを停止

「bedrock_server.exe」を実行して立ち上がったコンソールを閉じます。

STEP
最新のサーバーソフトをダウンロード

公式の配布ページにアクセスして、マイクラサーバー用のソフトウェアをダウンロードします。

STEP
サーバーソフトを上書き

起動していた「bedrock_server.exe」があるフォルダに対して、ダウンロードした最新のファイル・フォルダ一式を上書きコピーするのですが、以下のファイルはコピーしないようにしましょう。

  • server.properties
  • allowlist.json
  • permission.json

これらはマイクラサーバーの設定ファイルなので、上書きしてしまうと設定がデフォルトに戻ってしまいます。

STEP
サーバーの起動

あとは通常通り「bedrock_server.exe」を起動します。

起動すると以下のようにコンソール立ち上がり、マイクラサーバーが動き始めます。

以上でマイクラサーバーのアップデートは完了です。これまた簡単すぎー!

まとめ

マイクラサーバーを立ち上げる方法を解説しましたが、かなり簡単だったと思います。

自宅サーバーを立ち上げるとサーバー設定を自由にカスタマイズできます。また、PCの性能によりますが、ゲーム機をホストにしていた環境から飛躍的にレスポンスが向上したりします。

さらに、Realmsやレンタルサーバーよりも維持費は経済的です(PCを持っていない or 性能が低いとかだと初期費用が掛かるけど)。といってもLAN外の人が接続するためには、ポート開放などを行い公開する必要になりますが、それはまた別の機会に紹介。

自分でも出来そうだなと思ったら、ぜひ一度お試しあれ。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

目次