一応、動く状態に持っていったのですが、ここから快適に動くようにポート解放とRAMDiskの設定を行います。
ユーザーはSudoの使えるユーザーに戻します。
minecraft@MineCraft:~$ exit
ログアウト
master@MineCraft:~$
ポート解放
master@MineCraft:~$ sudo ufw allow 25565/tcp
master@MineCraft:~$ sudo ufw reload
master@MineCraft:~$ sudo ufw enable
(Minecraftのポートを変更している場合は 25565/tcp を変更してください)
RAMDiskの作成
マウント先の作成
master@MineCraft:~$ sudo mkdir /ramdisk
master@MineCraft:~$ sudo chmod 777 /ramdisk
メモリの使用状況を確認
master@MineCraft:~$ df -Th
Filesystem Type Size Used Avail Use% Mounted on
/dev/mapper/GameServer--vg-root ext4 134G 2.0G 125G 2% /
none tmpfs 4.0K 0 4.0K 0% /sys/fs/cgroup
udev devtmpfs 2.0G 4.0K 2.0G 1% /dev
tmpfs tmpfs 396M 668K 395M 1% /run
none tmpfs 5.0M 0 5.0M 0% /run/lock
none tmpfs 2.0G 0 2.0G 0% /run/shm
none tmpfs 100M 0 100M 0% /run/user
/dev/sda1 ext2 236M 55M 169M 25% /boot
/dev/shmではなく/run/shmになっている上、2.0GBだったので2.5GBに拡張した上で/ramdiskにマウントします。
master@MineCraft:~$ sudo nano /etc/fstab
以下を最終行に追記
none /run/shm tmpfs nosuid,nodev,size=2560M 0 0
/run/shm /ramdisk tmpfs defaults,size=2560M 0 0
(ちなみに、/run/shmは/lib/init/fstabに書かれていますが、/etc/fstabで設定を上書きしています)
反映させるために再起動
master@MineCraft:~$ sudo reboot
RAMDiskができていることを確認
master@MineCraft:~$ df -h | grep ramdisk
/run/shm 2.5G 0 2.5G 0% /ramdisk
WorldデータをRAMDiskに移動
Minecraftのデータの読み書きは基本的にWorldデータなのでこれをRAMDiskに移動させ、高速化します。
まずは、ユーザーを切り替えし、作業フォルダに移動します。
master@MineCraft:~$ su - minecraft
minecraft@MineCraft:~$ cd 1.7.10/
world フォルダの中身を world_storage(保存用フォルダ) へコピー
minecraft@MineCraft:~/1.7.10$ mkdir world_storage
minecraft@MineCraft:~/1.7.10$ cp -rp world/ world_storage/
RAMDiskにminecraftフォルダを作成してWorldフォルダを持ってくる
minecraft@MineCraft:~/1.7.10$ mkdir /ramdisk/minecraft
minecraft@MineCraft:~/1.7.10$ mkdir /ramdisk/minecraft/1.7.10
minecraft@MineCraft:~/1.7.10$ mv world/ /ramdisk/minecraft/1.7.10/
world へ設定ファイルのリンクを作成する。(実際はRAM上で動くようになる)
minecraft@MineCraft:~/1.7.10$ ln -s /ramdisk/minecraft/1.7.10/world/ .
起動用スクリプトの作成
RAMDiskは電源が切れると消去されるので、起動時にRAMDiskにコピーし、終了時にRAMDiskから保存フォルダにコピーするように起動用スクリプトを書きます。
minecraft@MineCraft:~/1.7.10$ nano 00_StartServer.sh
#!/bin/bash
mkdir /ramdisk/minecraft
mkdir /ramdisk/minecraft/1.7.10
mkdir /ramdisk/minecraft/1.7.10/world
cp -rp /home/minecraft/1.7.10/world_storage/* /ramdisk/minecraft/1.7.10/world/
#起動
java -Xmx1024M -Xms1024M -jar forge-1.7.10-10.13.2.1232-universal.jar nogui
#終了時に保存用フォルダにコピー
rsync -av --delete /ramdisk/minecraft/1.7.10/world/ /home/minecraft/1.7.10/world_storage/
次に、実行権限を付与します
minecraft@MineCraft:~/1.7.10$ chmod +x 00_StartServer.sh
そして、実行
minecraft@MineCraft:~/1.7.10$ ./00_StartServer.sh
次回は、停電に対応するため定期的にバックアップを取るようにしていきます。