Minecraftサーバのストレージ
第8世代Coreのmini-ITXで組んだサーバ上にハイパーバイザをどすんして、仮想マシンを以下3個動かしてます。
- Minecraft forgeサーバ
- Minecraft Webサーバ(Dynmapへのリダイレクトやインフォメーション)
- discord botサーバ
サーバ上にあるストレージがNVMe SSDだけなのでforgeで動かしているdynmapのアクセスが急に不安になった。
Synology NASにMariaDBをインストール
SynologyのNASソフトウェアのDSMはサードパーティーソフトとして、MariaDBをインストールして動作させることができる。なのでインストールする。
MariaDBインストール後の設定からTCP/IPを受け入れる設定を忘れずに。
一緒にphpMyAdminを入れて、dynmap用のDBを作ったりアクセス用のユーザを作ったりする。
dynmapにjdbcドライバを組み込む
これにたどり着くのが一番面倒だった。
$CLASSPATHで、jdbcドライバを指定してもうまくいかなかったので、ここを参照にdynmapのjarに直接おうぶちこんでやるよをした。
簡単にまとめると、7zipなどでdynmapのjarと、jdbcのjarを開いた状態でjdbcの中身をdynmapのjarに入れるだけです。
あとはdynmapのconfiguration.txtを修正。
storage:
# typeをfiletreeからmariadbに変更
# Filetree storage (standard tree of image files for maps)
#type: filetree
~中略~
type: mariadb
hostname: IP_ADDRESS
port: MARIADB_PORT
database: DB
userid: USER_ID
password: USER_PASSWORD
結
dynmap公式wikiのstorage節にも設定の資料がないし、日本語の資料が無かったので、記事にしました。
記事を全部書いた後に気づいた追記
Minecraft mod用のjdbcがあった・・・
https://www.curseforge.com/minecraft/mc-mods/mysql-jdbc
追記2
上記のwikiに手順が追加されてました。
また公式おすすめの方法としては、前追記のJDBC Modを使う手順を推奨してるようです。
この記事は無意味になりました。チーン。