見出し画像

Ubuntu22.04を用いたMinecraft1.20.4マルチサーバーの構築(ワールド作成)


1.はじめに

 今回は、Ubuntu22.04を用いてMinecraftマルチサーバーを構築します。公式推奨のマニュアルやネットを頼りに構築します。本記事はその備忘録です。なお、完全独学でほぼネットの知識です。悪しからず<(_ _)>。

以下前提
・linux(Ubuntu 22.04 LTS)上にサーバーを構築します。
・Minecraftのバージョンは、1.20.4です。
・linuxはVPSでWebArenaIndigoを使用しています(メモリは2GB)。
・linux機はTeraterm等によるssh接続が可能になっています。
・自分が操作しているPCはWindows11のノートPCです。
・ノートPCにはMinecraftがダウンロードされています。

用語の説明
自分のPC:自分が今操作しているPC(windows11)
linux機:サーバーを建てるPC
server.jar:マインクラフトのサーバーの本体であるプログラムファイル

自分のPCで使用するソフトウェア
Teraterm:自分のPCとLinux機をつなぎ、Linux機を遠隔で操作するためのソフトウェア。主にコマンドを入力してLinux機に命令するために使用します。
WinSCP:自分のPCとLinux機をつなぎ、Linux機を遠隔で操作するためのソフトウェア。主に自分のPCからLinux機へファイル転送のために使用します。


2.server.jarを自分のPCへダウンロード

 Minecraftサーバーの本体である、server.jarファイルを自分のPCにダウンロードします。
1.Minecraft Launcherを起動

2.起動構成をクリックし、新規作成をクリック

起動構成画面

3.サーバーボタンをクリックして、サーバーをダウンロード
 自分のPCで、Minecraftの新規ワールドを作成する時に用いる画面です。名前とバージョンを選択して作成をクリックすれば、ワールドが作成されます。しかし、今回はLinuxで使用するサーバーが必要です。影が薄いですが、「サーバー」ボタンがあり、サーバーはこのボタンからダウンロードできます。今回は、バージョン1.20.4を選択しています。

ワールド作成画面

 ダウンロードが完了したら、server.jarファイルがダウンロードフォルダに格納されています。

ダウンロードフォルダ

2章終わり


3.server.jarをLinux機へ移動

 自分のPCにダウンロードしたserver.jarファイルをLinux機へ移動させます。server.jarの格納場所となるディレクトリも作成します。

1.Linux機に置き場所となるディレクトリを作成。
 server.jarは、/opt/minecraftというディレクトリの中に格納します。なお、Indigoでは/optの所有者はrootであり権限がrwxr-xr-xなので、管理者権限でmkdirコマンドを実行します。

sudo mkdir /opt/minecraft

 管理しやすいように、/opt/minecraftの権限を自分が使用している一般ユーザに変更しておきます。

sudo chown [ユーザー名] /opt/minecraft

2.WinSCPを用いて/opt/minecraftにserver.jarファイルを移動
 /opt/minecraftの所有者に設定したユーザで、WinSCPにログインします。WinSCPの左の画面は自分のPCを表しており、server.jarが格納されたフォルダに移動します。右の画面はLinux機を表しており、/opt/minecraftに移動します。その後、server.jarをドラッグして/opt/minecraftに移動させる。

WinSCP

3章終わり


4.server.jarの実行環境をlinux機に構築

 server.jarファイルを起動するための環境をLinux機に構築するため、OpenJDKというソフトをダウンロードします。2章で入手したserver.jarファイルはWindowsのexeファイルのようなものです。マイクラのサーバー本体であり、このプログラムファイルをLinux機で動かすことでマルチサーバーが構築され、遊ぶことができます。server.jarファイルは、Javaというプログラミング言語で書かれており、そのままでは実行できません。実行するには、Javaで書かれた.jarファイルを実行するための環境をLinux機に構築する必要があります。そのために、OpenJDKというソフトをダウンロードします。

1.コマンドを入力して、OpenJDKのバージョン17をダウンロードする
 公式ページが推奨するサーバー構築のWikiに乗っ取り、OpenJDKをLinux機へダウンロードします。Wiki内のCommon Instructionsでは、各OS毎の方法でダウンロードしてくださいと書かれています。今回はLinuxなので、Linux instructionsを参照します。

Common Instructions
Linux instructions

 Linux instructionsでは、Mincraftのバージョンが1.18以上であれば、OpenJDKバージョンは1.17にしてくださいと書かれています。ダウンロードで入力するコマンドは「Debian, Ubuntu, Raspbian」の2つ目の●を参考にします。Teratermを用いてLinux機に接続して、以下のコマンドを実行します。なお、参考元の";"以前の"sudo apt update"はあらかじめ実行しておきます。

sudo apt install openjdk-17-jdk

 OpenJDKが正常にインストールできたかどうかを確認するため、"java -version"というコマンドを入力します。インストールされていれば、以下のようなメッセージが表示されます。

java -version

4章終わり


5.server.jarの初回実行とeura.txtの編集

 server.jarファイルの初回実行と、eura.txtファイルを編集して利用規約にサインします。4章で、server.jarファイルを実行できるようになっています。しかし、まだMinecraftでは遊べません。その理由は、Minecraftの利用規約にサインしていないからです。利用規約のサインは、初回実行後に出てくるeura.txtを編集することでサインできます。

1.server.jarの初回実行
 Teratermでカレントディレクトリを/opt/minecraftにすると、server.jarの文字が赤くなっています。この状態で以下のコマンドを入力すると初回起動が完了します。なお、もしserver.jarファイルの名前が違う場合はserver.jarの部分を変更してください。

java -jar server.jar --nogui

 初回起動後、/opt/minecraftの中身をlsコマンドで確認すると、eura.txtとその他のファイルが出力されています。(その他ファイルは、削除したらダメ。マイクラを自分好みにカスタマイズすることに必要です。それができるようになると、マイクラやサーバー管理が一気に面白くなるかも…('Д'))

初回実行後

2.eura.txtの編集
 利用規約(のようなもの)にサインするため、eura.txtを編集します。eura.txtの編集には、Linuxのテキストエディタである"vi"というソフトウェアを用います。テキストエディタとは、文字通り"ファイルを編集するため"のソフトウェアです。以下のコマンドで起動します。

sudo vi eura.txt

 eura=falseとなっているので、falseをtrueに変更します。

編集後eura.txt(viの使用方法は割愛します…)

3.再度server.jarを実行
 もう一度1.のコマンドを使用して、server.jarを起動します。以下のようになっていれば、Linux機の中にワールドが作成されています。マルチで遊べるワールドが!!!

ワールド作成時のログ

5章終わり


6.自分のPCからマルチサーバーへ接続

 以上で、Linux機にワールドが作成されています。ここでは、自分のPCから、今建てたLinux機のマルチサーバーへアクセスしてみます。

1.マイクラを起動しマルチプレイを選択
 普段はシングルプレイかRealmsを契約している場合は、Minedraft Realmsを選択しますが、今回は「マルチプレイ」を選択します。

起動画面

2.サーバー名とIPアドレスを入力
 サーバー名は自分でつけることができます。IPアドレスは、Linux機のIPアドレスです。

マルチ接続ワクワク

3.ワールドが選択でき、右にアンテナが出ていることを確認
 0/20は最大20人までワールドに入れるということです。あと少し…!
(ちなみに、左の絵みたいなものも好きなイラストに変更できます)

マルチ接続ワクワク

4.ワールドをクリックすれば、マルチサーバーに入れる
 左上に(サードパーティーのサーバー)と出ていれば、マルチサーバーの構築の完了です。お疲れさまでした。

スポーン地点は木の上でした。。

6章終わり


7.まだまだ設定は足りません!!!

 この記事では、マニュアルに則って「サーバーを建てる」ことのみを扱っています。メモリの管理、systemdでの管理、ホワイトリスト設定…などいろいろやることがまだまだあります。(今のままではうまく運用できません…)それらを解説している記事はたくさんあります。ぜひ調べてみてください。

この記事が気に入ったらサポートをしてみませんか?