Setting up a server/Debian/ja
簡単な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に変更するだけです。 (訳注: 自分がシングルプレーヤー遊んでいるクライアントにも同じ設定ファイルがあるので、わからなければ、それを参考にするのもいいでしょう。)
詳細情報
- サーバー設定ファイルの詳細な説明については、minetest.confのページを参照してください。
- ワールドに別のデータベースバックエンドを使用する
- Minetest Gitをインストール/コンパイルする1行スクリプト(Debian / Ubuntu / Mint用)
- Debian WikiのMinetestページ
- Debianで高速なminetestサーバーを作るガイド
- サーバーコマンドのページ。便利なコマンドの一覧。
- アイテム文字列は、
/give
や/giveme
コマンドで使用するアイテム文字列です。 - 権限システムの詳細は、権限のページをご覧ください。