Minecraft用Ubuntuサーバーの作成(5)

一応、動く状態に持っていったのですが、ここから快適に動くようにポート解放と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

次回は、停電に対応するため定期的にバックアップを取るようにしていきます。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です