この連載が書籍になりました! 『マインクラフトでマルチサーバーを立てよう!』好評発売中です。

全体的なサーバー運用を検討する

2016年9月7日(水)
ecolight

前回はPvPサーバーの立て方や、BungeeCodeを使用したサーバーの分散化などについて紹介しました。今回はこれまでに紹介したサーバー構築・運営方法を踏まえた全体的な作業について解説したいと思います。

準備期間~公開開始

まず、サーバーの準備から公開に向けて検討すべき項目を簡単に紹介します。

サーバーの準備

サーバーを準備する場合は、長期間の運用を考えたサーバー構成と、サーバー設置に適した環境を整備しましょう。サーバーは極力故障する可能性のある部品を減らしたり、UPSなどで停電などの異常事態にも備えたりすることで、より長期的な運用に耐える構成になると考えられます(図1)。

図1:故障する可能性が高いハードディスクは特に注意したい。最近だと「ひと昔前のメインメモリ並みの速度」と言われるM.2 SSDも選択肢の1つだろうか

Webサイトや関連サービスの整備

マルチサーバーを運用するにあたり、ユーザーからの連絡や報告、相談などを「いかにして受け取るか」は非常に重要です。今時はスマートフォンを携帯している方が多いでしょうから、対応速度を考えればスマートフォンに通知が上がるような連絡方法が望ましいでしょう。

また、管理者からマルチサーバーのルール説明や告知事項を伝えるためのWebサイトがあると良いでしょう。利用者同士でコミュニケーションできる掲示板や共同編集が可能なWiki(図2)などがあると、ユーザー側からさまざまな企画イベントの開催も見込めます。

図2:サーバーWikiの設置例

公開と告知まで

サーバーを立ち上げ、ポートなども開放して外部からアクセスできるようにしたら、サーバーの公開を告知しましょう。あらかじめSNSなどでサーバーの公開時期を告知しておくと、遊びに来てくれる人が増えるかもしれません。

さまざまな問題への対応

サーバーの運用を開始すると、さまざまな問題と直面することになります。いくつか紹介しましょう。

公開開始初期の問題

サーバーの公開直後やアップデート直後はエラーが発生しやすいです。エラーが発生せずにいきなりサーバーが停止することもあります(ログも出力されない)。

こういった事態にも迅速に対処できるように、利用者向けにSNSのアカウントやメールアドレスなど管理者の連絡先を提示しておきましょう。原因不明でサーバーが停止した場合は即座に再起動せず、放置して別の環境で原因究明を進めるのも1つの手です。

意図しない問題が発生していないかを監視する

サーバーを常時監視するのは難しいですが、サーバーログを後から見直す事で異常が発生していないかを確認できます。Minecraftサーバーのログは「logs」ディレクトリに「yyyy-mm-dd-n.log.gz」(yyyyは年、mmは月、ddは日、nは世代)のファイル形式で蓄積されていきます。

また、最新のログは「latest.log」の名前で格納されます。latest.logは次回のサーバー起動時や日付変更時に前述の「yyyy-mm-dd-n.log」形式で退避され、gz形式で圧縮されます。古いログファイルを閲覧するにはgzファイルに対応した解凍ツールを使用してください。

ログを毎日確認する必要はありませんが、サーバーで遊んでいた利用者から不具合のような報告を聞いた際や、サーバー構成を変更した直後などのタイミングでエラーログや警告ログが出力されていないかを確認すると良いでしょう(図3)。

図3:ログファイルの蓄積例、日付が変わったタイミングやサーバー再起動のタイミングで増えていく

試験環境での対応と本番環境への適用

運用開始後に問題が発生した場合は、試験環境を準備して動作検証を行うことになるでしょう。そうすれば、運用環境を動作させたまま問題解決を図ったり、機能追加のための動作確認を行ったりが可能になります。

具体的な作業内容と注意点等については、「マルチサーバーの運用管理に必須のプラグインを導入する」で紹介した「サーバーをアップデートする際の注意点」の項を参考にしてください。

ハードウェア故障

長期間にわたってマルチサーバー運用を継続すれば、サーバーの耐久度もいずれ限界が来ます。その時に備えた予防保守としてあらかじめ部品を交換するか、ハードウェア故障後に迅速に交換するかのいずれかの対応を行う必要があるでしょう。

一番壊れやすいと考えられるのは、ハードディスクを初めとする可動部品が用いられたパーツです。ハードディスクやSSDなどはS.M.A.R.T.機能で部品の情報を調べておけば、メーカー公証の耐久限界値にどれだけ近づいているか分かるため、予防保守も可能と考えられます。UPSなどもバッテリー液が劣化・消耗することから定期的に交換する必要があります。

また、ハードウェア保守のためにサーバーを止める場合や急にハードウェア故障が発生してしまった場合などは、以下のような作業が必要でしょう。

  • ユーザーへの通知(復旧見込み時間を含む)
    →サーバーの停止を通知することは、利用者に余計な心配を掛けないだけでなく、余計な問い合わせを受ける事もなくなるため、実施しておくと良いでしょう。またサーバーの復旧見込みも伝えておけば、その時間帯に遊びに来てくれる人を増やせるかもしれません。
  • 故障部品の特定と発注
    →故障した部品を特定するには、最悪すべての部品でスペアを用意し、順に交換しながら確認する必要が生じるかもしれません。故障部品が特定できていれば迅速に代替品を入手し、サーバーの復旧作業ができるように予定を立てましょう。
  • 部品交換による復旧とサーバーのデータ損傷の確認
    →部品を交換してサーバーが起動したらマルチサーバーが正常に起動するか確認します。必要に応じてバックアップからデータを戻すといった作業も必要になるでしょう。このとき、どういった影響が出るかについては利用者に事故報告として説明すべきであると考えられます。
  • 必要に応じたユーザー保障
    →ハードウェア故障により利用者への補填も都度検討が必要でしょう。ただし公平性を保てなくなる可能性も考えられるため、補償内容をよく吟味する必要があります。また、実質的に影響したすべての利用者への補償が難しい場合には、その旨を利用者に対して説明した上で諦めてもらう場合もあるかもしれません。

停電時の対処(UPSによる自動停止と復旧)

マルチサーバーの安定稼働や停電によるデータ損傷を防ぐには、UPS(無停電電源装置:バッテリー)によるサポートが必要不可欠と言えるでしょう。単純に言えば、停電時には安全にサーバーを停止し、復電した場合には速やかにサーバーを立ち上げ、Minecraftのマルチサーバーまで起動する必要があります。

なお、最近では、意外とどこでもUPSを入手できます。通販サイトなどで「UPS」と検索すれば、人気のUPSが沢山表示されるでしょう。下記の実行例を参考に、自身のサーバーや運用形態に合った機能が搭載された製品を選んでください。

【自動検知による停止】
概ね2種類の方法が考えられます。

  1. UPSなどに添付されている専用ソフトによるシャットダウン
  2. SNMPTrapによる信号受信など

いずれの場合も、シャットダウンを実行する際に任意のプログラムが起動できる機能を持っている必要があります。具体的には、「生活サーバーや経済サーバーを立てる」で紹介した「指定時刻にMinecraftサーバー停止させる」方法で用いたサーバー停止スクリプトを停電検知+シャットダウン時に実行させるようにする必要があります。

【電源復旧による自動起動(BIOS設定)】
サーバーの起動直後に[F2]キーや[DEL]キーで起動するBIOS画面を開き、電源供給時に自動で電源投入するように設定します。

BIOSの種類によって設定項目が異なりますが、いくつか例を挙げると以下のようなバリエーションがあります。

  • 「Power Managment Setup」メニューの「AC Back Function」の項で「Full-On」を選択
  • 「Main」メニューの「Boot Features」サブメニューから「Restore after AC Power Loss」の項で「On」を選択

他にもあるので、ご自身で使用しているサーバーのBIOS設定の説明を探して設定しましょう。

もちろん、起動後にはWindowsであればタスクスケジューラーで、Linuxであれば起動スクリプトなどでMinecraftサーバーが自動的に起動するようにしておきましょう。

サーバーの宣伝

マルチサーバーを立てただけでは、利用者は来てくれません。ある程度ポリシーを持って宣伝していく必要があります。

サーバーリストの存在

Minecraftのマルチサーバーを探す場合に利用されるサービスとして「マルチサーバーリスト」があります。国内で大規模なところでは「Japan Minecraft Servers」(図4)などが有名でしょう。ここではPC版やWindows10版、PE(PocketEddition)版に対応したマルチサーバーなども公開できます。

図4:マルチサーバーリストサイトの例

この他にも「Minecraft Japan Server List 」や、PE版であれば「Minecraft PE Wiki」にサーバー一覧があります。また「Minecraft 海外 サーバーリスト」のような形で検索すれば海外のサーバーリストも色々と見つかるので、活用してみてください。

注意しなければならないのは、海外のユーザーを大々的に受け入れると、日本語による注意書きやメッセージでの応対が難しくなります。そういったメリット・デメリットも鑑みてマルチサーバーを宣伝していきましょう。

ソーシャルネットの活用

宣伝という観点でSNSを使用する場合、殆どの場合でしつこくない方法を取るのが無難でしょう。例えばBOTなどを利用して定期的に広告メッセージを配信する方法も考えられますが、「広告である」という印象が強すぎて参加を倦厭する人も多いでしょう。SNSを使用するのであれば、常日頃から培っているマルチサーバーの魅力をどう伝えるかに主眼を置くべきと考えられます。

例えば、マルチサーバー内にある素晴らしい建築物を紹介するためにスクリーンショットを公開したり、後述するイベント告知を行ったりなど、普段のマルチサーバーの様子が汲み取れる内容が望ましいでしょう。利用者が目にするSNS上で応対するのも運営面での信頼に繋がるかもしれません。

イベントの開催

マルチサーバーで管理者または住民主導のイベントを開催すれば、マルチサーバー利用者のモチベーション維持や対外的な広告効果を得ることができるでしょう。定期的に開催しているイベントなどがあれば、それがそのサーバーの文化の1つにも成り得ると思います。そういった形でサーバーの独自色を作り上げ、より魅力的なサーバーにしていくことも重要です。

宣伝と併用した告知

イベントを開催するのであれば、サーバー利用者への告知も兼ねて大々的に宣伝すると良いでしょう。イベントの興味からサーバーへの参加を検討してくれる人もいるかもしれません。

1つの例ですが、Japan Minecraft Serversのシステムはイベント計画を公表して色々な情報を管理する機能も備えています。※登録直後のサーバーだと使用できない場合があります。

この他にもTwitterなどのSNSにおける告知や、普段からストリーミングで映像配信など行っている場合には、告知放送を行ったりするのも良いでしょう。

他サーバーの巻き込みを検討

現時点ではサーバーを跨ぐイベントの開催例が少なく具体的を紹介するのは難しいですが、複数のサーバーでイベントを開催できれば、イベント規模が大きくなり口コミによるイベント開催サーバー全体の広告効果も大きくなるはずです。サーバー利用者にとっても様々なサーバーを知る良い機会になります。

一方で自分のサーバーの住民が他のサーバーに行ってしまう懸念もあるかとは思いますが、それよりもMinecraft自体に興味を持ち続けて貰う方が筆者としては重要であると考えています。Minecraftへの興味を失っていなければ、または再びMinecraftに興味を持ってくれる機会があれば、いずれまた遊びに来てくれるはずです。

マルチサーバー界隈でそういった人を増やしていくことで、マルチサーバー利用者の総数も向上し、ひいては各々のマルチサーバーの利用者増加に繋がるでしょう。

ストリーミング配信などの盛り上げ方を検討

イベントの様子を外部の映像配信サービスで配信するだけでもかなりの広告効果が期待できると思います。それ以外にも、サーバーで活動している住民もイベントの様子を管理者視点で俯瞰的に知ることができるようになり、よりイベントへのモチベーションが高まることでしょう。

定期的な開催の検討

定期的にサーバー内イベントを開催することで、よりサーバーを活性化できます。例えば四季ごとのお祭りであったり、毎週恒例のPvPイベントを開催したりと、考えようによって色々な形で実施できます。イベントのために会場を用意する必要があれば、イベント前から人の出入りを活性化する効果も期待できるでしょう。

収益構造を考える

最後に、Minecraftで「収益を得る」ことを考えた際に、よく検討すべき事項について解説します。

ただし、筆者の説明が誤っていることも十分に考えられますので、重要事項については必ずご自身で関係機関に問い合わせたうえでご検討ください。

MinecraftのEULAについて

MinecraftのEULA(エンドユーザー使用許諾契約)には、開発元のMojangが認めた収益を得られるMinecraftの使用範囲が定められたページがあります(図5)。Minecraftを通じた活動で収益を得るためには、本規約について詳細に理解した上で活動する必要があるでしょう。

図5: Mojangの「Minecraftの商業目的使用に関するガイドライン」のページ

また、他のページの内容についても詳細に理解しておく必要があります。とは言え、これらを順守すれば「手作り製品」「動画およびストリーム」「サーバーおよびホスティング」といった分野で収益を得ることが許可されているので、上手くいけば運営負担を補う形でマルチサーバーなども維持できるようになるでしょう。

収益に伴う電気通信事業化について

インターネットサービスプロバイダや通信事業者が該当する有名な法律に「電気通信事業法」があります。Minecraftサーバーにおいても、場合によっては電気通信事業法の対象となり得る場合があります。詳細は総務省の資料などを参照してください。

特に「なぜ電気通信事業者とみなされるのか」については、「電気通信事業参入マニュアル[追補版]」あたりが分かりやすいかと思います。Minecraftサーバーとして考えると、以下の点が挙げられます。

  • 「電気通信設備を他人の通信の用に供する」かどうか
    →設備を用意して他人に通信させることから該当すると考えられる
  • 「他人の需要に応ずるものである」か「事業である」場合
    →どういった提供形態であっても、マルチサーバーに接続する動機を考えるといずれかに合致すると考えられる

上記から、Minecraftサーバーは電気通信事業であると考えられます。また、総務省への「登録・届出を要しない電気通信事業」かどうかは、以下のポイントが考えられます。

  • 「電気通信事業を営む(電気通信役務を利用者に反復継続して提供して、その対価として料金を徴収することにより電気通信事業自体で利益を上げようとする)」場合
    →1円でも収益があれば該当する。「現実に利益が上がることを要しない」とされているため、広告収益が発生する場合には損益が赤字でも該当する

上記から、Minecraftサーバーで収益を得る場合には「登録・届出を要する電気通信事業者」であると言えるでしょう。

なお、ガイドライン後半の事例集で「掲示板」や「ネット対戦ゲーム」が「登録及び届出が不要な電気通信事業」とされていますが、一方で「クローズド・チャット」や「電子メール運営のためのホスティング」が「登録又は届出が必要な電気通信事業」とも記載されています。このことから、Minecraftサーバーもその利用方法から登録又は届出を要すると判断されうることが分かります。

Minecraftの機能を考えてみれば、個人間でのみ聞こえるチャット機能などが標準実装されていることからも、記載通り登録又は届出が必要な電気通信事業と見なされる可能性があると考えられます。

実際には総務省や各地の総合通信局の判断によると思いますが、Google等で検索してみると「総務省の担当者と話した」というブログ記事や、実際に電気通信事業者の届出番号を公開しているマルチサーバーなども見つかります。Minecraftではありませんが過去に届出のないサーバー設置で検挙された事件も発生しているので、必要に応じて対応を検討しましょう。

なお、電気通信事業者となった場合は、当然電気通信事業法に基づいた義務が発生します。例えば、消費者保護ルールに該当する「秘密の保護」や「説明義務」が代表的でしょうか。

他にも、電気通信役務が提供できない(サーバーが停止した)状態が続くと事故報告の義務もあります。Minecraftサーバーの場合は緊急通報や音声を取り扱わない区分になると考えられるので、およそ2時間程度のサーバー停止で報告義務が発生します。2時間以上かつ3万人以上に影響を与える場合には重大事故としての報告義務が発生し、事故発生状況の報道資料に詳細が掲載されることになるでしょう。

このような様々な取り決めがあるため、電気通信事業者に該当する場合は、必ず総務省の各案内を把握した上で必要な措置を講じてください。

販売形態による特定商取引法などの制約や義務について

販売形態によっては「特定商取引法」に従って取引する必要があります。例えば基本的にインターネット上のやり取りで売買契約が発生する場合は特定商取引法に定義される通信販売に該当しますが、特定商取引法に基づく様々な義務が発生します。代表的なところでは「特定商取引法に基づく表記」が必要になるといった具合です。

詳細は消費者庁のガイドや、その他政府が公知する情報を参照してください。

また、販売方法によっては「電子契約法」、決済方法によっては「資金決済法」なども気に掛ける必要があるでしょう。

税金などについて

収益を得ると所得税などの税金も気に掛ける必要があります。例えば、サラリーマンが趣味でMinecraftサーバーを運営し収益を得た場合には、収益が何に分類されるかは正確にはケースバイケースですが、仮に雑所得だと20万円を超えれば確定申告の義務が発生します。

また、住民税は金額の如何に関わらず申告が必要です。無申告の場合は追加徴税や脱税による刑事罰に発展する可能性もあります。これはサラリーマンだけでなく年齢に関わらず発生する事柄なので、金銭をやり取りする場合は絶対に意識しておきましょう。

金券などで交換取引や寄付が発生する場合、相手との関係性によっては譲渡所得や雑所得とみなされ、確定申告における所得税の勘定に含める必要があったり、贈与として贈与税の対象になったりする場合もありそうです。民法559条などにより、前述の各種売買契約に係ってくる法律に抵触する可能性もあるでしょう。ここで述べた話は一部推測を交えた一例であり、心配がある場合には税理士などに相談してください。

今回は、全体的な運用保守やサーバー運営にまつわる話を紹介しました。次回は、直接的にはサーバー運営に関わりがないようにも思えますが、spigotプラグイン制作の基礎的な解説をしたいと思います。

本連載について

Minecraftの公式記事ではありません。本連載の内容はMojangから承認されているわけではなく、Mojangとは関係ありません。

Minecraftの非公式日本ユーザーフォーラム管理人

同フォーラムに付帯する生活系マルチサーバーもMinecraft製品版発売以降個人運営を続けている。ご相談などありましたらフォーラム(http://forum.minecraftuser.jp/)やTwitter@ecolightまで。

連載バックナンバー

Think ITメルマガ会員登録受付中

Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

他にもこの記事が読まれています