Let's Enjoy Unreal Engine

Unreal Engineを使って遊んでみましょう

UE4 インターネット上に公開できるSVNサーバーを立てよう 公開編

前回はVisual SVN ServerでSVNサーバーを構築するところまでやりました。

unrealengine.hatenablog.com

今回は構築したサーバーをインターネット上に公開できるようにしていきます。

Visual SVN ServerはインストールするだけでApache HTTP Serverとして機能するので、実は既にインターネット上へと公開されていることになります。

ただし、何も知識がない状態でこれらのことをやろうとすると、確実にトラブルを起こすことになるので、今回はその辺りについて解説します。


サーバーのポートを開放

サーバーを構築する上で最も大変なのがこのポートの開放です。外部に公開する以上には必ずポートを開放せねばなりません。ポートを開放することでグローバルIPアドレスを経由すると外部からのアクセスが可能となります。

これまでローカルサーバーしか使っていなかったので、プライベートIPアドレスを利用していましたが、ここからはグローバルIPアドレスを利用していきます。

ただしグローバルIPアドレスが振られていないルーターを使っていることもあります。ケーブルテレビなどの回線を使っている一部の方などが該当します。まずは自身のルーターグローバルIPアドレスが振られているかを確認しましょう。

www.cman.jp

プライベートIPアドレス「10.」「172.」「192.」などの数値で始まりますが、これ以外の数値の場合はグローバルIPアドレスです。まずはこれらの違いをしっかりと理解しておきましょう。

ポートを開放するにはルーターの設定をしなくてはいけません。また場合によってはファイアウォールでもポートの開放が必要になるので、セキュリティソフトの設定を見る必要もあります。

一通りの手順が以下のサイト上に書かれています。

www.geocities.jp

ポート開放の際にはサーバーとして使っているPCのプライベートIPアドレスの固定化が必要です。この手順もしっかりと確認してください。

次にファイアウォールルーターのポートを開放します。これは使っているセキュリティソフトとルーターによって設定が違いますので、一度調べてみてください。

ルーターごとのポート開放設定方法は自分が使っている『ルーター名+ポート開放』というような具合にGoogleで検索してみれば大体わかります。

Visual SVN Serverではデフォルトでサーバーポート番号「443」を利用します。もしくは「8443」を設定していることがほとんどのはずです。これは前回の手順を確認して、どのポート番号が必要になっているかを確認してください。

ポートが開放できたことを確認する時はグローバルIPアドレスを以下のサイト上で入力し、チェックするポート番号を入力してください。

www.cman.jp

無事ポートが開放されていることが確認できれば次へと進むことができます。

ドメインを取得する

ドメインが使えるとそっけないグローバルIPアドレスをWebブラウザーなどで入力しなくてもよくなり、見た目もわかりやすくなります。またグローバルIPアドレスはプロバイダーによって定期的に変わることがあります。そのためにドメインと紐付けてしまうことが一般的です。

ドメインは自分でDNSサーバーを構築することも可能ですが、非常に手間もかかるのであまりオススメはしません。無料のダイナミックDNSサービスというものがあり、上記で確認したグローバルIPアドレスと紐付けることで、IPアドレスの数値をドメイン名も文字列へと自動的に変換してくれます。

うちでは『MyDNS』というサービスを使っています。

www.mydns.jp

このサービスを使うと無料でドメイン名を取得でき、サービスが続く限りは永久に利用が可能です。使い方を説明するととても長くなってしまうので、以下のサイトを参考にドメインを取得してみましょう。

viral-community.com

ダイナミックDNSサービスでは固定で振られたグローバルIPアドレスでない場合、定期的に変化するので、これを毎度Webサイト上で設定する必要がありますが、非常に手間となるので、その自動化を行うツールがあります。

www.akakagemaru.info

『DiCE』というツールを使うことでIPアドレスの変化を自動的に通知し、ほぼ自動的にドメインの更新を行うことが可能です。通知を行わない場合、MyDNSでは定期的にドメインを削除されてしまうので、突然利用不可となってしまうことがありますので注意してください。

これでドメインの取得もできました。

Visual SVN Server上に反映する

ドメインの情報をVisual SVN Server上に反映していきます。

f:id:alwei:20170126221810p:plain

Visual SVN Server Manager上で、"VisualSVN Server(Local)"という一番上の項目を選択し、右クリックして"Properties"を選択します。

f:id:alwei:20170126222119p:plain

"Network"のタブを選択し、"Server name"にドメイン名を入力します。前回のままの場合だと、コンピューター名かlocalhostかローカルのプライベートIPアドレスになっているはずです。ここを入力すると、Repositories URLもドメイン名を反映したものに切り替わります。

これでVisual SVN Server上でも反映されました。設定後は必ずVisual SVN Serverサービスを再起動しておきます。

UE4プロジェクトで利用する

リポジトリーを利用したいUE4のプロジェクトを用意します。

f:id:alwei:20170126223925p:plain

TortoiseSVNを使って、そのプロジェクト上でSVNチェックアウトを行います。

f:id:alwei:20170126224031p:plain

リポジトリーURLがここまで設定してきたものになっているかを確認します。チェックアウト先のディレクトリーにはUE4プロジェクトの一番上のフォルダーを指定しておきます。OKを押すと"空でないフォルダーにチェックアウトする"かを聞かれますが、そのままOKしてください。

これでリポジトリーをチェックアウトしたUE4プロジェクトができたので、そのままUE4でプロジェクトを開きます。

f:id:alwei:20170126222854p:plain

エディターのツールバーから"Source Control"を選択し、"Connect to Source Control..."を選択していきます。

f:id:alwei:20170126224528p:plain

"Provider"を"Subversion"にして、"Repository"にVisual SVN Server上で設定したRepositories URLを入力します。ここではプロジェクト名も付加したものを入力します。あとは接続時のユーザー"User Name"とパスワード"Password"を入力して、"Accept Settings"を選択します。

これでエラーが何も出ずに成功の文字が出ていれば全て完了です!

f:id:alwei:20170126224816p:plain

成功していた場合にはツールバーのアイコンが上記のような表示になっています。ここまでの設定に成功していれば、インターネットを経由してLANを越えて外のネットワークからでも接続が可能になっています。

LANではない別のPCで接続してみるとわかります。また外部の人とやりとりする場合には新規ユーザーを作成し、パスワードを教えてあげましょう。

個人開発でも多人数開発でも

今回解説したSVNサーバーの構築&公開は個人の開発、複数人の多人数開発でも役立ちます。またゲーム開発は規模が大きくなると必ず多人数とのやりとりが必要になりますので、このようなサーバーの構築は必須です。

UE4メインの解説ではありましたが、途中までは他のエンジンや普通のゲーム開発でも同様に応用が可能です。今までソースコントロールを利用していても、インターネットを経由してのサーバーを構築したことがない人はぜひ活用してみてください。