この記事は1年以上前の古い記事です。現状に即していない記述の場合があります。あらかじめご了承ください。
DockerでMinetestとMinetest realtime mapserverを動かしてリアルタイムで様子を見よう
nogajun
_ 昨日、DockerでMinetestサーバーが動いたと書きましたが夜、寝る前にMinetestの世界をリアルタイムに描画してくれるMapserverのMinetest realtime mapserverのDockerを追加したら、あっさり動きました。
ということでdocker-compose.ymlを載せておきます。mapserver以下の行が追記した部分です。ボリュームでMinetestのworldを共有しているところがポイントですね。
version: "3"
services:
minetest:
container_name: minetest
image: registry.gitlab.com/minetest/minetest/server:stable-5
volumes:
- "./data:/var/lib/minetest/"
- "./conf:/etc/minetest/"
ports:
- "30000:30000/udp"
mapserver:
container_name: mapserver
image: minetestmapserver/mapserver
volumes:
- "./data/.minetest/worlds/world:/minetest"
working_dir: "/minetest"
ports:
- "8080:8080"
これを使って docker-compose up して、ブラウザで http://(Dockerが動いているPCのIP):8080/ にアクセスすればリアルタイムでマップが変わる様子がわかります。
これにmapserver-modを追加すればプレーヤーの位置やラグの表示もできるようになって普通に使えるようになります。
mapserver-modは、アーカイブをダウンロードして展開したら、 data/.minetest/mods/ 以下に移動して、minetest.confに以下を追記すれば使えます。
mapserver.enable_crafting = true
デフォルトはパッシブモードなので、アクティブモードにする場合はもう少し追記が必要になります。詳しくはドキュメントを参照してください。
標準のsqlite3がどこまでの人数に耐えられるのかわからないけど普通に使えるし、50人、100人という規模でもなく身内で遊ぶぐらいならこれで十分な気がしてきた。