Setting up a server/ja: Difference between revisions
>Nogajun m (fix page link) |
>Nogajun m (fix page link) |
(No difference)
|
Revision as of 18:31, 27 September 2021
ハードウェアの選択
ゲームサーバーを公開する場合、VPSもしくは専用サーバーの利用をお勧めします。家庭用インターネット回線は信頼性が低く、アップロード速度も低い傾向があります。また、自宅でホスティングを行う場合、24時間、常にサーバーを稼働させることができない可能性もあります。
とはいうものの、オンラインにできるハードウェアがあり、十分なインターネット接続環境があれば自宅でのホスティングはうまくいきます。
Minetestクライアントを使ってサーバーのホスティングはできますが(LAN内のゲームでは問題ありません)、Minetestの専用サーバーモードを使って公開サーバーをホスティングすることをお勧めします。
サーバーを起動する
Linux
- 端末(ターミナル)を開きます。
YOUR/MINETEST/DIRECTORY/bin/minetestserver
(/YOUR/MINETEST/DIRECTORYは実際のディレクトリの場所に置き換えて)と入力するか、(/Minetest/bin/
ディレクトリにある)minetestserverの実行ファイルを端末にドロップします。(以下の注意も読んでください)- 特定のゲームIDを指定する場合は、コマンドの最後に
--gameid thegameid
を追加してください(ゲームIDは、/Minetest/games/
ディレクトリにあります)。 - "Multiple worlds are available."(複数のワールドが利用可能です)というエラーが表示された場合、コマンドの最後に
--worldname theWorld
を追加してください(ワールドのリストは、/Minetest/worlds/
ディレクトリにあります)。
- 特定のゲームIDを指定する場合は、コマンドの最後に
- サーバーがクラッシュした場合は、
/Minetest/bin/
にあるdebug.txt
を見てください。 - サーバーをダメージから保護するようにしてください。
簡単に実行できるように、minetestserver.shという名前のファイルを作成します。そして、以下の行を追加して、/Minetest/bin/ディレクトリ以下に置きます。サーバーを実行するには、ターミナルでこのファイルを実行するだけです。
#!/bin/bash while true do ./minetestserver --gameid minetest --worldname world sleep 10 done
Windows
- Minetestをインストールしたフォルダを開きます。「bin」フォルダの中でShiftキーを押しながら空ファイル(minetest.exeではありません)を右クリックして「コマンドウィンドウをここで開く」を選び、コマンドプロンプトを開きます。
minetest.exe --server
と入力します。- "Multiple worlds are available."(複数のワールドが利用可能です)というエラーが表示された場合、変わりに
minetest.exe --server --worldname world_name
を使ってください(world_name
はワールドの名前です)。
- "Multiple worlds are available."(複数のワールドが利用可能です)というエラーが表示された場合、変わりに
- サーバーがクラッシュした場合は、
/Minetest/bin/
にあるdebug.txt
を見てください。 - サーバーをダメージから保護するようにしてください。
クラッシュしたサーバーを起動したくない場合は、以下のコードのバッチファイルからサーバーを起動します。
@echo off :crash minetest.exe --server --worldname world_name goto crash
外部のプレーヤーの接続を許可する
ポートフォワードしない限り、ネットワークの外にいるプレーヤーはサーバーに参加できません。
- サーバーを実行するポート番号を選択する。デフォルトの30000を推奨します
- サーバーを実行しているコンピューターのIPアドレスを確認する
- Linux: 端末を開き、
ifconfig
と入力してEnterキーを押します。そして、wlan0またはeth0の近くにある「inet adr」を探します。(ifconfigが時代遅れで無い場合はip a
使います。) - Windows
- コマンドプロンプトを開く: スタート→ファイル名を指定して実行を開き、
cmd.exe
と入力してEnterキーを押します。 ipconfig
と入力してEnterキーを押します。IPv4 Address
を探します。
- コマンドプロンプトを開く: スタート→ファイル名を指定して実行を開き、
- macOS: コマンドプロンプトを開いて、
netstat -nr
と入力します。
- Linux: 端末を開き、
- ルーターにログインして見つけたIPアドレスの選択したポート番号のUDPをポートフォワーディングする
- 選択したポートへのトラフィックを許可するためにファイアーウォールの設定を変更する
- minetest.confに以下の設定を行い、サーバーリストにサーバーを掲載する
server_announce = true
- Minetestがサーバーリストにサーバー情報を掲載します。server_name
- サーバー名を設定します。server_description
- サーバーについての説明を設定します。server_address
- サーバーにドメイン名がある場合、ドメインを設定します(ドメイン名が必要な場合にドメイン名を取得する方法)。server_url
- サーバー用のウェブサーバーがある場合、ウェブサイトのURLを設定します。motd
- プレーヤーが参加したときに送信されるメッセージ。 歓迎メッセージを送るために使用します。- 変更した設定が適用されたことを確認するため、サーバーを再起動する。
サーバーを保護する
Minetestのワールド/サーバーを守る
新しいサーバーをセットアップするとき、どのような保護が必要であるか、検討する必要があります。これは公開サーバーにとって非常に重要なことです。 なぜなら、誰が接続して、彼らがあなたのサーバーで何をするのか予想できないからです。
一般的な問題としては以下のようなことがあります。
- 偶然、または意図的に他のプレーヤーの作品を破壊(嫌がらせ行為)。
- チャットスパム(悪口やスパム広告も含まれます)。
- プレーヤー間での攻撃、嫌がらせ、その他、好ましくない行為。
- BANをすり抜けるトラブルメーカー
- MTコミュニティ内の有名人物のなりすまし。
- modによって引き起こされるバグを利用して、悪意のあるプレーヤーが任意のシステムコマンドを実行。
これらの問題の多くは、事前の計画と問題を認識しておくことで、取り除いたり最小限に留めることができます。
- areasやprotectorsなどのプロテクトmodをインストールします。これにより、プレーヤーはエリアを守ることができます。他のプレーヤーは、保護されたエリアは変更できません。
- minetest.confに
enable_rollback = true
を追加して、ロールバックを有効にします。ロールバックは、どのプレイヤーがノードを配置したかを知ることができ、プレイヤーの行動を元に戻すことができます。 - xban2のような禁止行為の管理に役立つmodをインストールします。
- サーバーのルールを作成し、サーバーを監視してルールを破るプレイヤーを監視するのに十分な時間(またはモデレーターチーム)を確保してください。
- あなたが知っている名前を使っているだけで、プレーヤーに特権を与えないでください。プレーヤー名はサーバー間で確保されているわけではないので、プレーヤーが誰であるか常に確認する必要があります。
- 悪口や性的なチャットを防ぐために、チャットフィルターmod(filter)をインストールして設定してください。フィルターの回避は簡単ですが、これは強制的に従わせるためではなく、プレイヤーにルールを知らせるために有効です。
なお、シングルプレイではデフォルトで有効になっているTNTと燃え広がる炎は、サーバーのデフォルトでは無効になっています。
ContentDBのServer Moderation and Toolsも参照ください。
ホストマシンを守る
- Linux/Windowsサーバーセキュリティにについて標準的な勧告が適用されます。
- Linuxでは、Minetestサーバーを実行する専用ユーザーを追加できます。
- modセキュリティを絶対無効にしないでください。
- secure.trusted_modsに追加するmodが信頼できることを確認してください。
サーバーを管理する
サーバー設定
サーバー設定ファイルの詳細な説明は、minetest.confのページを参照してください。
また、ワールドのために別のデータベース バックエンドの使用も検討できます。
サーバーコマンド
役に立つコマンド一覧は、サーバーコマンドのページを参照してください。
また、/give
または/giveme
コマンドで使用するitemstringsについては、Itemstringsを参照してください。
特権システム
特権システムの詳細については、特権のページを参照してください。
関連項目
- Debian(Ubuntu)関連の情報については、Debianサーバーのセットアップをご覧ください。
- その他の利用可能なコマンドオプションについては、コマンドラインのページをご覧ください。
- フォーラムの「Illustrated Server Creation Guide」スレッドでは興味深い議論があります。
- 「How to create and maintain a server - Windows」(Windowsでのサーバー設置と管理)については、こちらのフォーラムのスレッドをご覧ください。
- 「Server performance settings」(サーバーのパフォーマンス設定)については、こちらのフォーラムのスレッドをご覧ください。