Setting up a server/Debian/ja

From Minetest


簡単なMinetestサーバーは、minetestパッケージがインストールされているDebian(Ubuntu、Linux Mint、または派生ディストリビューション)で「ホストサーバー」にチェックを入れるとホスティングできますが、このような場合、ホストがゲームをプレイしている間だけしか利用できません。

このガイドでは、グラフィカルなデスクトップ環境を使わずに永続的で最小限のサーバー環境設定の提供を目的としています。

Buster BackportsからMinetest Ver 5をインストールする

(訳注: 2021年9月現在、DebianはBuster(10)の次のバージョンのBluseye(11)がリリースされており、Backportsを導入しなくてもバージョン 5.3.0がインストール可能です。また、バージョンが離れるとBuster同様にBullseye Backportsから新しいバージョンが提供されるはずです。)

2019年8月現在、MinetestはDebian Buster(10/安定版)ではバージョン 0.4.17、Buster Backportsではバージョン 5.0.1が利用可能です。

この2つのバージョンには互換性がなく、同じシステムに両方のバージョンをインストールするのは厄介です。ほとんどのサーバーは最新バージョンを使っているはずですし、プレーヤーも最新バージョンを使っているでしょうから、バックポートのバージョンを選択するのが自然です。

では、はじめにDebian Wikiで説明されているとおりにBackportsリポジトリを追加します。

そして、必要なMinetestパッケージをインストールします。

# apt install -t buster-backports minetest-server

サーバーの起動を管理する

Systemdは、Debianでサービスを管理するために使われる、デフォルトで推奨されているシステムです。

systemd

Debianのminetest-serverパッケージでは、バージョン 0.4.10+repack-3以降、Debian-minetestという名前の非特権ユーザーを自動的に作成します。このユーザーのホームディレクトリは、/var/games/minetest-serverです。すべての設定は、/etc/minetest/minetest.confで行います。すべてのログファイルは、/var/log/minetestに出力されます。

サーバーは、すでに起動しているはずです。起動しているかどうか(または、なぜ起動していないのか)を確認するには以下のコマンドを使います。

# systemctl status minetest-server

サーバーを起動するには

# systemctl start minetest-server

サーバーを停止するには

# systemctl stop minetest-server

起動時にサーバーの起動を無効にするには

# systemctl disable minetest-server

systemdのテンプレートユニット機能を利用すれば、設定の異なる複数のサーバーを起動できます。

# systemctl start minetest-server@pvp.service

このサーバー用の設定ファイルを/etc/minetest/pvp.confに保存しておけば、サーバーはこの2つ目の設定を使用して、すべてのログを/var/log/minetest/pvp.logに記録します。簡単に言えば、@の後ろにあるpvpを好きな名前に置き換えるだけです。

sysV-init

initシステムにデフォルトのsystemdではなく古いsysV-initスタイルの設定を使いたい場合は、serviceコマンドを使ってサーバーの起動、停止もできます。

# service minetest-server start

または

# service minetest-server stop

サーバーの設定

/usr/share/doc/minetest/minetest.conf.example.gzにコメント付きのサーバー設定ファイルがあります。gzipで圧縮されているので展開して利用します。

 # zcat /usr/share/doc/minetest/minetest.conf.example.gz > /etc/minetest/myservername.conf

興味深いと思われるパラメーターは、Server / Singleplayer セクションから始まっています。それよりも前にあるクライアントのパラーメーターは削除しても構いません。

modをインストールして有効にする

modのインストール

用意されたmodの好きなパッケージがインストールできます。

Debianで、まだパッケージ化されていないmod(mobs_animalやmobs_monsterなど)をインストールする場合は、/var/games/minetest-server/.minetest/modsディレクトリに追加できます。ディレクトリは必要に応じて作成してください。 (訳注: バグかわかりませんが認識されない場合、/usr/share/games/minetestディレクトリに置いてみてください。このとき、パッケージのファイルを削除しないように気をつけてください。)

modを有効にする

modのインストール後、modを有効にする必要があります。modの有効化は、サーバーの設定で行うのではなくワールドに設定します。

サーバーが起動するとワールドファイルが作成されます(自動的に作成されます)。そして、作成されたworld.mtファイルに利用するmodを設定する行を追加して設定を更新する必要があります。

 $ cat /var/games/minetest-server/.minetest/worlds/world/world.mt
 creative_mode = false
 auth_backend = sqlite3
 player_backend = sqlite3
 gameid = minetest
 enable_damage = true
 backend = sqlite3
 load_mod_mobs_animal = true
 load_mod_mobs = true
 load_mod_mobs_monster = false

まず、ワールドを動かしているサーバーを停止します。そして、このファイル(world.mt)を編集してmodを有効にします。modを有効にするには、load_mod_*の行のfalseをtrueに変更するだけです。 (訳注: 自分がシングルプレーヤー遊んでいるクライアントにも同じ設定ファイルがあるので、わからなければ、それを参考にするのもいいでしょう。)

詳細情報