こんにちは、横ぴーです。
10月頭にVAULTROOMとCrazy Raccoonが主催するストリーマーイベント「VCR ARK」が開催され、多くのストリーマーがサバイバルゲームであるARK: Survival Evolvedを同じサーバーでプレイするイベントが実施されました。
それを見た弊社社員がふとこんなことを…
社内Slackでも反応があったので、オフィスで余ってたゲーミングPCを使ってARKサーバーを建てることにしました。
Minecraft等のゲームサーバーを建てる際に個人規模で建てるのであれば、古から使われているHamachiで仮想プライベートネットワークを超簡単に作成することができます。
ただ、Hamachiの場合、接続ユーザー(ホスト含め)が5人までしか接続できずそれ以上は課金となっています。
VPS(仮想専用サーバー)をレンタルして建てることも可能でこちらも便利ですが、レンタルコストが掛かるので、今回のARKサーバーはランニングコストが発生しない「SoftEther VPN」にて挑戦してみました。
目次
SoftEther VPNとは
日本の天才プログラマである登大遊さんが開発したVPNソフトウェアであり、VPNを構築しファイル交換などの様々なことができます。
SoftEther VPN (パケティックス ブイピーエヌ) は、個人向け・家庭向けネットワーク、中小規模のビジネス用のネットワーク、および大企業やインターネットサービスプロバイダなどが必要とする広帯域および高い負荷が発生する高度なネットワークなどの、すべての範囲をカバーすることができる、安定性が高く拡張性および柔軟性に富んだ、次世代の VPN ソフトウェアです。引用
SoftEther VPN Serverの建て方
まず、VPNサーバー(ホスト)を作成する必要があるので、ゲームサーバーを稼働させたいPCにSoftEther VPN ServerをDL&インストールを行います。
SoftEther VPN Serverインストール
インストールする際にソフトウェアの選択画面が出てきますが、一番上のSoftEther VPN Serverで問題ありません。
仮想HUB作成
SoftEther VPN Serverを立ち上げると、下のような画面が出てくるので接続ボタンをクリックし、パスワードを設定します。
また、簡易セットアップが出てきますが一旦閉じて問題ありません。
管理画面が表示されたら仮想HUBを作成していきます。DEFAULTは削除等せずにそのままの方がいいらしいので、仮想HUBの作成から新しい仮想HUBを作成します。
ローカルブリッジ設定
仮想HUBと物理的なEthernetをブリッジする必要があるので、作成した仮想HUBを選択後、ブリッジを行うEthernetデバイスを選択します。
VPN Azureの設定
IPsec/L2TPやSoftEther VPN Clientで仮想HUBへアクセスすることできます。前者では簡単ですが、ホストやクライアントのセキュリティ設定や環境により接続できない or 解決できないことがままあります。
後者ではセキュリティ設定やポートなどを気にしなくてもいいですが、設定が煩わしくなります。
VPN Azureを設定することで、簡単且つセキュリティやポート設定等の難しいことをすっ飛ばす事ができます。
VPN Azure設定を選択後、VPN Azureを有効にすると「現在のVPN Azureホスト名」が自動生成されます。
ホスト名は任意に変更することが可能です。
ユーザー作成
仮想HUB選択 → 仮想HUB選択の管理 → ユーザーの管理 → 新規作成の順に進むとユーザーの新規作成画面が出てくると思います。
ここでは、任意のユーザー名を入力し認証方法はパスワード認証とします。そして認証用パスワードを設定します。
仮想HUBに接続したいユーザー(クライアント)がいれば、ユーザー名とパスワードを渡すことでユーザー(クライアント)は仮想プライベートネットワークへアクセスすることができます。(後述)
また、ユーザー設定では各ユーザー(orグループ)にセキュリティポリシーを適用することができます。
例えば、ネットワーク帯域を逼迫させないために、同一ユーザーの同時アクセス端末数を制限したり、そもそも仮想HUBへのアクセス禁止させたりすることも可能です。
ユーザーが仮想HUBの接続方法
ユーザー(クライアント)が仮想HUBへアクセスするためには、WindowsのVPN接続を行う必要があります。
通知領域にあるパソコンマークを右クリックすることで「ネットワークとインターネットの設定を開く」から設定を開きます。
VPN → VPN接続を追加するからVPNの設定を行います。
サーバー名またはアドレスには、VPN Azureで設定したホスト名を入力します。
ユーザー名とパスワードはSoftEther VPN Serverで設定したユーザー名とパスワードを入力します。
今回はVPN種類はSSTPを選択しています。IPsecでも接続可能ですが、SoftEther VPN Server側で設定を行う必要があります。
これで、ユーザー(クライアント)側は仮想プライベートネットワークにアクセスできたので、グローバルIPがホストと同一になります。グローバルIPアドレスはこちらで確認することができます。
ARKのサーバー建て
ARK Server Managerインストール
ARKのサーバー建てはARK Server Manager(通称:ASM)から設定することが可能です。
ASMはSoftEther VPN Serverと同じPCにインストールを行います。
Latest.exeからダウンロード&インストールを行ってください。
ASM起動時に管理者権限で起動を求められるので、はいを選択後、ASMのサーバー設定とSteamCMDをインストール場所を設定します。
再度、ASMを起動するとSteamCMD等のセットアップが実行されます。
初期設定では日本語はサポートされていないので、ARK: Survival Evolved Wikiから最新版の日本語ファイルをお借りします。
ASMインストールフォルダのGlobalization/に解凍した日本語化ファイルをいれ、ASMのLanguageから言語を変更することで日本語化が完了します。
ARK Server Managerを立ち上げる
日本語化を完了後、緑の+ボタンを押すことでARKサーバーの設定を行うことができます。
まず、インポートボタンを押しSteamやゲームのアップデートを行いましょう。
(自身のパブリックIP=グローバルIPが表示されますが、セキュリティの観点で削除しています。)
その間に、プロファイル名やサーバー名、パスワード、マップ等を変更します。
また、Steam Web APIをあわせて入力します。
歯車マークから「ウェブApiキーの取得」を押すことでSteamにログインし、WebAPIキーを取得できます。
他、細かいゲーム設定についてはここでは割愛します。
ポートを開放する
VPN Azureでファイアウォールを貫通することができるはずですが、念のためにASMで使用するポートを開放の設定を行います。
標準ではサーバーポート「7777」、ピアポート「7778」、クエリポート「27015」となっています。
ここから大きく異なるポート番号をしていすると接続できない可能性があります。Steamソフトウェアでは27014‐27030辺りを使用しているらしいので、これから外れないほうがいいかと思われます。(Steam接続に必要なポート)
ASMのサーバーが起動したときのみ該当のポートを開きたいので、Windowsのファイヤーウォールにルールを追加します。
コントロールパネル → システムとセキュリティ → Windows Defender ファイヤーウォール → 詳細設定 → 受信の規則へ移動し、新しい規則をクリックします。
プログラムを選択後、プログラムのパスを入力します。パスはASMを起動した時の設定場所から確認することができます。
例:C:\asmdata\Servers\Server1\ShooterGame\Binaries\Win64\ShooterGameServer.exe
ARKサーバー稼働&参加方法
後はゲーム設定後、起動ボタンを押し「Set New Years event location」まで表示されたらARKサーバーは稼働できています。
参加者はVPNを接続し、ARK起動後にゲーム検索からARKサーバーへ接続できるはずです!!!!
皆さんも大勢でわいわいとARKライフを楽しんでください~!
余談
SoftEther VPNを開発した登大遊さん高校生で本を出版したり、大学生時代には会社を作ったり、ITパスポート試験を行っている独立行政法人情報処理推進機構 (IPA)の室長に任命されていたり超天才なので、興味ある方は動画なども見てみると面白いかもしれません。
株式会社エイプリルナイツは、ゲームが好きという共通の価値観をベースに、楽しく働きやすい企業を作っていこうとしています。
ゲームが好きなエンジニアはぜひ弊社にご注目ください!
そのほか弊社へのご質問、意見はこちらから