【今更】CentOS8でマイクラ1.17のサーバを建ててみた

マイクラのサーバーを建ててくれという依頼が入ったので、ESXi上でVMを一つ追加して建ててみました。

既存の情報ですんなり行けるかと思いきや、java関連で引っかかってしまったので、今後も建てる場合に備えての忘備録。

OSはCentOS8のmininal版です。GUIはありません。操作端末はWindows10でTeraTermを利用してssh接続しています。

CentOS側ではSELinuxやファイアウォールは切ってます。本当はファイアウォールとかの設定もやってみたかったけれど、できるだけ早く使いたいという要望だったので、、

ファイル名のバージョン等は記述日のものです。そこは適当に直してください。また、足りないソフトウェアがあったりした場合は適宜インストールしてください。

※初心者向けに記しているわけではありません。あくまでも自分が1年後に楽するために書いています。

MinecraftサーバープログラムファイルのDL

はじめに、Minecraftサーバーのjavaファイルを公式サイトからダウンロードしました。

https://www.minecraft.net/en-us/download/server

ここのサイトの “minecraft_server.1.17.jar”というファイルのリンクをコピーして、

$ mkdir minecraft
$ cd minecraft
$ wget https://launcher.mojang.com/v1/objects/0a269b5f2c5b93b1712d0f5dc43b6182b9ab254e/server.jar

のようにして、フォルダを作成し、そこにjavaファイルをダウンロードします。

Javaのインストール

ここで私はつまづきました。既存の情報を用いて、javaをインストールしても、server.jarを起動できません。

依頼主から聞いたのですが、最近アプデが入ってjavaのバージョンが上がったという内容を耳にしました。

つまり、dnfコマンドでかんたんにインストールできるjavaではダメだってことですね。

なので、最新版のjava開発ツールをオラクルさんのサイトからダウンロードしてきます。

現時点ではJDK16.0.1が最新版らしいので、レッドハット系のrpmファイルをDLします。

https://www.oracle.com/java/technologies/javase-jdk16-downloads.html

ダウンロードファイル一覧に”Linux x64 RPM Package”という行があるので、wgetを使ってDLしようと思いましたが、うまくいきませんでした。空のページがDLされてしまうので、仕方なくWindowsのPCにDLして、TeraTermのウィンドウにドラッグアンドドロップして転送しました。転送したファイルはホームディレクトリに存在するはずです。

転送したRPMファイルのディレクトリまで移動して次のコマンドでjavaをインストールします。

$ sudo dnf install ./jdk-16.0.1_linux-x64_bin.rpm

依存関係とかいろいろ面倒ですので、rpmコマンドは使わず、dnfで行きます。これでjavaの環境は整いました。

server.jarを動かす

動かす前に、利用規約に同意する必要があります。minecraftディレクトリ(server.jarをDLしたディレクトリ)に移動して、eula.txtを生成します。テキストファイルには “eula=true”と記載します。

$ nano eula.txt

あとは、DLサイトに記載のコマンドを入力するとサーバが立ち上がるはずなので問題ありませんが、いちいち入力するのも面倒ですのでシェルファイルを作ります。

$ nano start.sh

をserver.jarファイルと同じディレクトリに生成して

#!/bin/sh
cd "$(dirname "$0")"
exec java -Xms1G -Xmx1G -jar server.jar --nogui

と記述します。

次に権限の設定を行います。

$ chmod a+x ./start.sh

で実行する権限を与えます。

$ ./start.sh

でサーバーを起動させることができます。

自宅サーバで実行するならば、ルータのポートマッピングが必要になると思うので、適宜行ってください。

screenを使って仮想ターミナルでバックグラウンド処理させたりもしましたが、後日書こうと思います。

参考文献

Tutorials/Setting up a server – https://minecraft.fandom.com/wiki/Tutorials/Setting_up_a_server