## インスタンスを立てる - firewallの設定 - name: allow-minecraft - ターゲットタグ: minecraft-server - IP範囲: 0.0.0.0/0 - プロトコルとポート: tcp:25565 - インスタンスを立てる - ネットワークタグにminecraft-serverを入れる - ディスクを追加 ## 環境構築 ```bash # diskのフォーマットとマウント # ref. <https://cloud.google.com/compute/docs/disks/add-persistent-disk> # diskの確認 $ sudo lsblk $ sudo mkfs.ext4 -m 0 -E lazy_itable_init=0,lazy_journal_init=0,discard /dev/DEVICE_ID $ sudo mkdir -p /mnt/disks/minecraft $ sudo mount -o discard,defaults /dev/DEVICE_ID /mnt/disks/minecraft $ sudo chmod a+w /mnt/disks/minecraft $ sudo cp /etc/fstab /etc/fstab.backup $ sudo blkid /dev/DEVICE_ID $ sudo vi /etc/fstab UUID=UUID_VALUE /mnt/disks/MNT_DIR ext4 discard,defaults,NOFAIL_OPTION 0 2 ``` ```bash # java入れる $ sudo apt-get install -yq openjdk-11-jdk git screen $ java -version # spigot入れる $ cd /mnt/disks/minecraft $ curl -OL <https://hub.spigotmc.org/jenkins/job/BuildTools/lastSuccessfulBuild/artifact/target/BuildTools.jar> $ java -jar BuildTools.jar $ java -Xms1024M -Xmx1024M -XX:MaxPermSize=128M -jar spigot-1.16.3.jar nogui # versionはその時の最新になるので適当に $ vi eula.txt eula=false -> true $ java -Xms1024M -Xmx1024M -XX:MaxPermSize=128M -jar spigot-1.16.3.jar nogui ``` ここまでできればクライアントからログインできる 動作確認ができればバックグラウンドで実行する ```bash # spigotのコンソールではstopと打てば停止する > stop [13:57:03] [Server thread/INFO]: Stopping the server # screenで実行する $ screen -AmdS spigot java -Xmx1024M -Xms1024M -XX:MaxPermSize=128M -jar spigot-1.16.3.jar nogui # screenの止め方 $ screen -p 0 -S spigot -X eval 'stuff "say SERVER SHUTTING DOWN IN 10 SECONDS. Saving map..."\\015' $ screen -p 0 -S spigot -X eval 'stuff "save-all"\\015' # ちょっと待ってからストップする(目安10秒) $ screen -p 0 -S spigot -X eval 'stuff "stop"\\015' ``` ## 参考リンク [https://mtdtx9.hatenablog.com/entry/2017/05/14/202820](https://mtdtx9.hatenablog.com/entry/2017/05/14/202820)