Dockerイメージ
概要
Fusion Dedicated Server Docker Image Sample は、Fusion Dedicated Server を Docker Container に入れ、Docker 環境で実行する方法を示すスクリプトとファイル群です。
Dockerプラットフォームは、コンテナ、特定のアプリケーションのセットを実行する "仮想マシン "のグループ、適切にセットアップされ囲まれており、プロセスの分離やホストマシンが使用しているOSを気にすることなく、自由に作成および破棄することができるという概念を中心に構築された、よく知られた仮想化システムです。
Dedicated Serversの作成を扱う場合、コンテナーの使用は最高のソリューションの 1 つであり、ほとんどのゲーム サーバー ホスティング プロバイダーは、そのスケーラビリティを正確に下の Docker の使用によって達成します。
ダウンロード
| バージョン | リリース日 | ダウンロード | |
|---|---|---|---|
| 1.0.2 | Nov 20, 2024 | Fusion Dedicated Server Docker Image 1.0.2 Build 733 | |
ファイルの説明
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 にリストアップされます。