Compass note

未踏の地へ踏み出すコンパス的エンジニアノート

【やってみた!】OCI上にマイクラサーバを構築してみた【Minecraft統合版(Java版)】

realms 契約するのはなんか負け組っぽいなぁーと思って、Oracle Cloud の always free でマイクラサーバを立ててみた!

基本的に AWS や GCP などのパブリッククラウドを触ったことがある人であれば、特につまずくことも無くできると思う。

今回は Mac からも接続できるように Java 版で構築。

AWS 上で過去に構築した時のメモは以下の記事でまとめています。

参考 >> 【やってみた!】マイクラJAVA版のサーバーをAWSに構築してみたよ【Minecraftサーバの立て方】

ここに書いていることを見て「ちょっと難しそうだなぁ・・・」と思った人は ConoHa VPS(レンタルサーバ)が画面の操作だけでマイクラサーバをポチポチ構築できるサービスを提供しているので一度試してみていいかも。超カンタン。

>> Minecraftサーバを簡単に作れる ConoHa VPS(レンタルサーバ)

Oracle Linux 上にマイクラサーバを構築する

Ubuntu でも良かったのですが、OCI を使うなら Oracle Linux でいってみよー!というノリのみで、RHEL 系ディストリビューションの Oracle Linux で構築。

OS 周りの設定

Firewall の設定

  • 25565/tcp
  • 19132/udp
  • 19133/udp

Minecraft ユーザの作成

# mkdir /opt/minecraft
# groupadd minecraft
# useradd --system --shell /bin/bash --home /opt/minecraft -g minecraft minecraft
# chown minecraft:minecraft /opt/minecraft

Oracle Linux に JDK をインストール

# dnf -y install java-11-openjdk-headless
# java --version

JDK のバージョンは最新を入れておけばよいかと。

Oracle Linux に Spigot インストール

1.ビルドに必要なアプリケーションをインストール

# dnf -y install git wget

2.Spigotをビルド

$ mkdir survival
$ cd survival
$ wget https://hub.spigotmc.org/jenkins/job/BuildTools/lastSuccessfulBuild/artifact/target/BuildTools.jar
$ java -jar BuildTools.jar

3.EULAに同意

$ java -jar spigot-1.16.4.jar
$ vi eula.txt
eula=false を eula=true へ変更

eula.txt
:
eula=true

4.メモリ使用量をサーバーのスペックに合わせる

# vi /opt/minecraft/survival/server.conf
server.conf
MCMINMEM=512M
MCMAXMEM=7168M

起動スクリプトを作成

1.Spigotを仮想端末内で実行するために screen をインストール

# dnf -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
# dnf -y install screen
  1. systemdスクリプトをダウンロード
# wget -O /etc/systemd/system/minecraft@.service https://raw.githubusercontent.com/agowa338/MinecraftSystemdUnit/master/minecraft%40.service

3.パーミッション変更

# vi /etc/systemd/system/minecraft@.service
  :
# Uncomment this to fix screen on RHEL 8
ExecStartPre=+/bin/sh -c 'chmod 777 /run/screen'
  :

4.自動実行設定

# systemctl enable minecraft@survival

5.起動確認

# systemctl enable minecraft@survival
# systemctl stop minecraft@survival

Geyser・Floodgateのインストール

  1. 「Geyser-Spigot.jar」をダウンロード
# su - minecraft
$ cd /opt/minecraft/survival/plugins/
$ wget https://ci.opencollab.dev//job/GeyserMC/job/Geyser/job/master/lastSuccessfulBuild/artifact/bootstrap/spigot/target/Geyser-Spigot.jar

2.「floodgate-bukkit.jar」をダウンロード

# su - minecraft
$ cd /opt/minecraft/survival/plugins/
$ wget https://ci.opencollab.dev/job/GeyserMC/job/Floodgate/job/master/lastSuccessfulBuild/artifact/bukkit/target/floodgate-bukkit.jar
  1. Bedrockユーザーの名前のプレフィックスを変更
# vi /opt/minecraft/survival/plugins/floodgate-bukkit/config.yml
  :
username-prefix: "BE_"

  :

4.Spigotを再起動

# systemctl restart minecraft@survival

これで、Java マイクラサーバの完成。

あとはいつものとおり、OCI 上のネットワークの通信許可設定をポチポチ入れていくのみ。

    Amazonチャージ