Dockerイメージ
概要
Fusion Dedicated Server Docker Image Sample は、Fusion Dedicated Server を Docker Container
に入れ、Docker
環境で実行する方法を示すスクリプトとファイル群です。
Docker
プラットフォームは、コンテナ、特定のアプリケーションのセットを実行する "仮想マシン "のグループ、適切にセットアップされ囲まれており、プロセスの分離やホストマシンが使用しているOSを気にすることなく、自由に作成および破棄することができるという概念を中心に構築された、よく知られた仮想化システムです。
Dedicated Servers
の作成を扱う場合、コンテナーの使用は最高のソリューションの 1 つであり、ほとんどのゲーム サーバー ホスティング プロバイダーは、そのスケーラビリティを正確に下の Docker
の使用によって達成します。
ダウンロード
バージョン | リリース日 | ダウンロード | ||
---|---|---|---|---|
1.0.1 | Apr 13, 2023 | Fusion Dedicated Server Docker Image 1.0.1 Build 177 |
ファイルの説明
README.md
: サンプルのビルド方法と使用方法に関する一般的な情報を含む。Dockerfile
: コンテナの説明、Docker
がDocker Image
をビルドする際に使用する設定ファイルです。Fusion Game Server
はLinux
コンテナからfusion
ユーザで実行されます。Dockerfile
の詳細については こちらを参照してください。bin/entrypoint.sh
:Fusion Game Server
を実行するスクリプトです。オプションでコンテナに渡された引数を解析し、サーババイナリに変換します。run_server.sh
: オプションで引数を指定してコンテナを実行する方法のリファレンススクリプトです。
実行の仕方
これははあくまでも参考としてお使いください。より複雑なシナリオに合わせて変更が必要になる場合があります。
ゲームサーバーのオーケストレーションは行わず、Docker Container
を使った実行方法のみを紹介します。
Dockerのセットアップ
- docker.com/get-startedに移行。
- Docker Service をインストールし、設定します。
DockerイメージのためのFusionサーバーの準備
1.Fusion Dedicated Server sampleを元に作成します。
2. Dedicated Server
を構築します。
- ターゲットプラットフォームとして Linux
を設定し、アーキテクチャ
として x86_64
を設定します。
- Server Build
フラグをチェックします。
- 実行ファイル名を server.x86_64
に設定します。
3. すべてのビルドファイルを bin
フォルダにコピーします。
Fusion Server Docker イメージの作成
- カレントフォルダでターミナルを開きます。
- Docker` サービスが稼働していることを確認します。
- 実行:
docker build -t <your_custom_image_name>.
- 例:
docker build -t fusion-dedicatedserver .
を実行します。
- 例:
- ローカルリポジトリに、
fusion-dedicatedserver
という名前の新しいDocker Image
が作成されます。
Fusion ServerをDockerコンテナとして実行する
- カレントフォルダでターミナルを開きます。
- システムで
Docker
サービスが起動していることを確認します。
3.-d -p <host_custom_port>:27015/udp <your_custom_image_name>を実行します。- 例:
docker run -d -p 27015:27015/udp fusion-dedicatedserver
を実行します。 - デフォルトでは、Fusion Dedicated Server はポート
27015
にバインドされ、このポートは Docker イメージによって既に公開されています(Dockerfile
を確認してください)。上記のコマンドを実行すると、そのポートがホストの27015
ポートにマッピングされます。 - デタッチドコンテナ(
-d
引数)を実行すると、現在のターミナルから独立して実行されます。
- 例:
任意の起動引数
Fusion Server Docker Imageは、スタンドアロンビルドが受け付けるのと同じ引数を受け付けるように準備されています。しかし、entrypoint.sh
スクリプトがそれらをどのように読み取るかによって、引数の名前が異なります。
詳細は以下の引数リストを参照してください。
-s <custom_session_name>
: カスタムセッションID名を使用します。デフォルト ランダムGUIDセッション名。-r <custom_region>
: サーバーをカスタムリージョンに接続します。デフォルトはベストリージョン-l <custom_lobby>
: カスタムロビーに参加する。デフォルト:デフォルトのClientServer
ロビーに参加。-i <custom_public_ip>
: サーバーのカスタムパブリックIPを設定します。デフォルト: 空白。サーバーはSTUNサービスを使用してパブリックIPを検出します。-p <custom_public_port>
: サーバーのカスタムパブリックポートを設定します。デフォルト:空白。サーバーはSTUNサービスを使用してパブリックポートを検出します。
任意の引数を使用して新しい Fusion Server コンテナを起動する。より構造的な方法については、run_server.sh
スクリプトを確認してください。例:
sh
docker run -d -p 27015:27015/udp fusion-dedicatedserver -s my_session -r eu -l my_lobby
これを起動すると、リージョン eu
でセッション名 my_session
を使って Fusion Game Server
が起動し、セッションはロビー my_lobby
にリストアップされます。