はるさめ氏の日常

主に弱電とマイコンを扱っています。たまにネットワークも

Windows でマイクラ鯖を立てることの是非を書き連ねてみる

はじめに

あくまでも本稿は私はるさめの所見です。完全に私的な意見でありなにかしらの組織を代表するものではないことを予め明言しておきます また、Windows 10, 11 のことを単に Windows と称します。また、Linux 系の OS を代表して Ubuntu を取り上げます

書くに至った経緯

私はとあるマインクラフト系の Discord コミュニティでサーバの管理人(モデレータ)をしています。そのコミュニティには雑談チャンネルの他宣伝チャンネルや質問チャンネルなどがあるのですが、そこの質問チャンネルでよくマイクラ鯖を建てたい人の質問が出てきます。それは一向にかまわないのですが、そこでログを見せてもらう時によく目にするのが cmd.exeスクリーンショットコードブロックにコピペまたはテキストファイルにして送信しろという指摘はさておきここで毎度 WindowsEULA の話になります。毎回同じ話をするのも面倒ですし、既にし尽くされた議論を蒸し返すのも嫌なので、ここで記事という形で自分の意見をまとめておこうと思います。何かあれば都度追記していくつもりです

ちなみに結論は「Windows でマイクラサーバを建てるのは控えるべき」です

余談ですが、これに関するやり取りをしていた際、少々喧嘩腰で来られたのでイラッとしました。誰かと議論する際は対等な立場であることを意識しましょう。その方が平和に進みます

私の意見

さて本題です。いくつかあるので章に分けて書いていきますね

理由その 1

「サポートの人の判断 ≠ Microsoft の判断」

zenn.dev

よく「Windows でも 20 までならセーフ」という文脈とともに上記の記事を持ち出す人がいます。この記事ではまず Twitter のサポートに、次に Microsoft の問い合わせチャットに聞いています。そこでは「規約違反にはならない」とのことですが、私はこれに対し懐疑的な印象を持っています
というのも、サポートセンタの担当の人の発言・判断が、そのまま Microsoft の判断だとするのは誤りだと思っているからです。公式サイトにこの話題に言及した記述がある訳でもなく、FAQ に掲載されている訳でもないためです。公式のページに書いてあることであれば公開前に社内で十分協議され、問題ないとしたうえで公開されたものと考えていいですが、サポートセンタの人の場合あくまでもタイマンでのやり取りにしかみえず、裏でなにかしらの共通認識があるとも判断できません。少なくとも私はそう思うため、「Windows でマイクラサーバをホストしてもいい」という意見を補強するものにはならないと見ています。よくある質問・議題でしょうし、個人的には FAQ に乗せてくれてもいいんじゃないかとは思うんですが、一大プラットフォームとはいえ、わざわざ時間を割くほどのものでもないのでしょうか

また、「20 人まで」なら良いという文脈でよく引用されるのがこちら

Windows 10 の利用規約(下記リンク先)より、2.d.iii を引用します

https://www.microsoft.com/en-us/Useterms/Retail/Windows/10/Useterms_Retail_Windows_10_Japanese.htm#:~:text=(iii)-,%E3%83%87%E3%83%90%E3%82%A4%E3%82%B9%E3%81%AE%E6%8E%A5%E7%B6%9A%E3%80%82,-%E3%81%8A%E5%AE%A2%E6%A7%98%E3%81%AF%E3%80%81%E3%83%A9%E3%82%A4%E3%82%BB%E3%83%B3%E3%82%B9

(iii) バイスの接続。お客様は、ライセンスを取得したデバイスでファイルサービス、印刷サービス、インターネットインフォメーションサービス、インターネット接続の共有およびテレフォニーサービスを利用することを目的として、ライセンスを取得したデバイスにインストールされた本ソフトウェアに対し、最大 20 台の他のデバイスからの接続を許可することができます。お客様は、任意の数のデバイスに、デバイス間でデータを同期するために、ライセンスを取得したデバイス上の本ソフトウェアにアクセスすることを許可することができます。ただし、本項は、お客様がこれらの他のデバイスに本ソフトウェアをインストールしたり、本ソフトウェアの主要な機能 (本項に記載する機能を除きます) を当該デバイス上で使用したりする権利を有することを意味するものではありません。

この条文を読むと、「ファイルサービス、印刷サービス、インターネットインフォメーションサービス、インターネット接続の共有およびテレフォニーサービス」であれば最大 20 台の他のデバイスを接続できることがわかります

ここで気になるのは「インターネットインフォメーションサービス」でしょう。この文だけ見るとなんとも言えませんが、前後にファイルサービスやインターネット接続云々とある点から、「80/TCP や 443/TCP でやり取りされるサービス」をまとめて称したものと考えることができます

では、マイクラサーバはこれらに当てはまるでしょうか

マインクラフトで用いられている通信は TCP ベースのカスタムプロトコルであり、デフォルトで 25565 番ポートを使用するので、インターネットインフォメーションサービスにはあてはまらないと考えることができます。そもそもインフォメーションじゃないですしね

よってこの条文にも当てはまらないと判断できるため、人数に関係なくライセンス違反でないとは判断できません

理由その 2

「ライセンス条項の文面をそのまま読んだらどう考えてもアウト」

上記規約より 2.c.v を部分的に引用します

c.制限。(前略)このライセンスは、次の行為に関してお客様にいかなる権利も与えるものではなく、お客様は次の行為を行うことはできません。 (中略) (v) 本ソフトウェアをサーバーソフトウェアとして使用することもしくは商業的ホスティング用に使用すること、本ソフトウェアをネットワークを介して複数のユーザーが同時に使用できるようにすること(後略)

イクラサーバはこのうち「本ソフトウェアをネットワークを介して複数のユーザーが同時に使用できるようにすること」に該当し、この規約の制限を受けることは明白です
つまり、いつ「その使い方はアウトだね。だってこう書いてあるもんね」と言われてもおかしくないしその時何も言い返せません。言い返せるもんなら言い返してほしいですね。まあ言われる機会はまずないんですが

商用はダメだけど非商用ならいいと判断している人はこの条文の「本ソフトウェアをサーバーソフトウェアとして使用することもしくは商業的ホスティング用に使用すること」を読んでいるのでしょうが、読むべきはそこだけではありませんね

理由その 3

「規模が大きくなってきたら結局 Windows でホストできない」

仮に Windows を使えたとしても、サーバの規模が大きくなって 20 人を超えたら Windows でのホスティングで許容される人数制限としてよく言われている 20 人に引っかかってしまい、サーバを移行する必要が出てきます
その時の手間を考えると、最初から Linux 使う方が手間が圧倒的に少ない(server.properties を編集するだけで終わる)ので、わざわざ Windows にこだわる意味がないんですよね

規模が大きくなることはない場合には効きませんが、理由はまだいくつかありますのでめげずに頑張って読んでください

理由その 4

「OS が消費するリソースが大きい」

これはオマケ程度のものですが、Windows はアイドル時に消費するリソースが割と大きいと言えます
具体的な例としてメモリの消費を挙げてみましょう。十分量のメモリを搭載している場合、すべてのアプリケーションを閉じた状態でも Windows は 6 GB ほどメモリを消費します。対して Ubuntu の場合 300 MB を切ります。ただしこれはあくまでも我が家で飼っているマシンでの数値になります メモリ消費量が大きく、サーバの快適性にも直結するマイクラサーバをホストする上で、わざわざ OS のメモリ消費量が大きい Windows を採用するのは果たして賢明な判断だろうかと問われたら、皆さんはどう答えますか? 私は否です

理由その 5

Windows は複数人で同時に作業することに向いていない(というかできない)」

サーバを管理していると、時に複数人で同じホストにログインして作業したくなることがあります。例えば誰かがセーブデータのバックアップからロールバックしながら、別の人がプラグインの追加をするなどです。Ubuntu の場合は普通にそれぞれが SSHtelnet などでログインするだけですが、Windows ではそうは行きません。そもそも OS の構造が異なっていますからね。Linux は複数人で同一ホストにログインして使えるのに対し、Windows は一人のユーザが一つのホストを専有するといった具合です。複数のユーザを作れはしても、一度にログインできるのは一人だけです
これでは同一ホストで複数人で作業するということができません。そもそも Windows はゲーム用 OS でありサーバを建てるためのものではないので当然ですが

理由その 6

「十分使える代替手段が十二分に確立されている」

これはそもそもこんな議論をしなくて済むような手段なので本題からはやや逸れますが、一応書いておきます

わざわざ Windows を使わなくても、Ubuntu などのいわゆる Linux を使えばそもそもこんな話をしなくて済みますよね。ということです
CLI による操作に慣れていなくても、Ubuntu Desktop を使えば GUI 操作もできるため敷居は思っているより低いです
OS インストールの手間があるとの反論も考えられますが、そもそもマシンに OS をインストールできないレベルの人がサーバ運営をしようとするのが間違いでしょう。自分で選んだ OS をインストールできるようになってから出直してください。調べる力と取り組む力があれば余裕でできます

理由その 7

「ライセンスの無駄使いになりかねない」

忘れてはいけないことですが、Windows は有料の OS です。最近は格安のミニ PC にも Pro エディションが入っていることも多いのであまり意識しませんが、普通に買うと数万円する高級品です。そんな OS を個人でやるゲームサーバ用に使用するのって、どうなんですかね

ここまで 5k 文字近く一気に打ってるので頭が疲れてきた。次第に文が雑になってると思いますがご容赦を

それはさておき、本項が最後です

個人による趣味の活動であることが前提になっていると思いますが、そうなるとなるべく出費は減らしたいものです
仮にお金をためてマイクラサーバ専用マシンを用意したとしましょう。もちろん OS を入れないと行けない訳ですが、そこで何を選びますか?
ここまで真面目に読んできた真面目な方ならもう分かるでしょう。もちろん Ubuntu です。わざわざお金払って OS 買う必要もなく、情報量も多い。オマケに扱いも難しくない(慣れれば Windows より使いたくなる)。趣味で Linux を扱うと仕事でも使えるかもしれないので、わざわざ Windows固執することなく Linux にも手を伸ばしちゃいましょう。思っているほど難しくないです

あとがき

とまあ色々書いたわけですが、そもそも、なんのための Windows Server だよって話ですよね・・・

先に上げた通り Windows でマイクラサーバを建てるのは控えるべきという意見に変わりはありません。Microsoft の FAQ に「20 人までなら問題ない」と掲載されれば話は別ですが
ここまで長い間付き合っていただきありがとうございました。本稿は引用、リンク含め 5326 文字と無駄に大作に仕上がってしまいましたが、どこかで議論になったときに一意見として引用してくださるとありがたいです