発端
マインクラフトサーバーとして、安心・手軽とはどのようなものだろうか。
基本的なマインクラフトサーバーの作り方は、この記事を見ている人ならば既にご存知であろう。単純なマインクラフトサーバーにおいて安全でない部分としてポート開放というものがある。
そしてこのポート開放を安全に行うには、ある程度の知識や手順が必要なことからも手軽ではない。
本企画の目的は安全・手軽なマインクラフトサーバーを作ることにある。
先行事例
本企画は勉強のために既存のサービスを再現する形となる。
えずこ氏が開発したSecureShare.netでは、ポート解放を必要とせず、サーバーの公開を安全なものとすることができる。尚、プレイヤーは従来同様にアドレスとポートを入力すればサーバーにアクセスできるため、手軽さはそのままである。
詳しいロジックは上記のサイトに記載があるため、参考にしてほしい。
実現方法
SecureShareNetの説明にもあるとおり、リレーサーバーというものを間に挟むことで実現している。
よって今回は以下のように、リレーサーバーとサーバーPCアプリケーションを追加することで実現をしようとしている。

各セクションでの動作内容を整理する
Player層
- 各プレイヤーは通常のサーバーにアクセスするのと同様に
アドレス、ポート番号を入力することでサーバーにアクセスしたと認識する - だが実際には
クラウド上のリレーサーバーにアクセスを行う
Player側からは通常の認識同様の動作が期待できるため、今回はPlayerセクションに変更は加えないこととする。
サーバーPC層
- 通常のサーバーは外部からのアクセスを許すことで通信を確立するが、本構造においてはサーバーPC上に存在するアプリケーションから、
クラウド層に存在するリレーサーバーにアクセスすることでデータのリクエストを行う - リレーサーバーに
Player層からの通信が存在した場合にアプリケーションにはリレーサーバーにリクエストした圧縮データが返ってくる - 圧縮データを解凍し、マインクラフトサーバーにアクセスすることで通信が確立する
- この際、マインクラフトサーバーからはPlayerがアクセスしてきているのと同様に見えているため、マインクラフトサーバーは通常のものと同様に動作する
クラウド層
-
リレーサーバーは通常のサーバー同様にポートを開放し、Playerからのアクセスを待つ - Playerからのアクセスがあった場合、動作クロック内の通信内容を
圧縮してサーバーPCからのリクエストに応える - サーバーPCからデータの返答があった場合、Player層からのリクエストに返答する形でデータをPlayer層に返す
Part 1を終えて
Part 1は以上となる。
実現可能性および、今後必要な知識や制作範囲の決定が行えたため、目標達成とする。
次回に続く。