v1.1.0
概要
v1.1.0 がリリースされました。
このバージョンでは Diarkis 上で 専用サーバー(Dedicated Game Server) を構築するための Diarkis CSAR モジュールを始め、更にリアルタイム通信の開発パフォーマンスを加速させる様々更新が含まれております。
更新内容
新機能
CSAR (Clustered Server Authoritative Ruler)モジュールが追加されました。Diarkis CSAR は、以下の機能を提供いたします。
Client-Hosted タイプ と DGS タイプ の ゲームの開発するために便利な機能が追加されました。
Diarkis CSAR を利用することで、クライアントの中の1つが ホスト役(オーソリティ)も担う Client-Hosted タイプ と、 Dedicated Game Server (専用ゲームサーバー、以降DGS) が ホスト(オーソリティ)を担う DGS タイプのゲームを開発できるようになります。
DGS を Diarkis サーバークラスターに参加させ、他のサーバーとの直接通信やデータ共有を可能にします。C++/C# や Unreal Engine、Unity など主要なゲームエンジンをサポートし、Kubernetes 上で Agones のように ホスティングとスケーリング管理できます。
サーバークラッシュ時でもシームレスなプレイヤー移動や状態の永続化を実現し、CSAR のステートライブラリとヘッダを組み込むだけで簡単に導入できます。
P2P と サーバー経由のリレー の通信経路を意識せずに、堅牢な通信環境を提供いたします。
P2P (Peer to Peer) で通信できるクライアント間とは P2P で通信を行い、P2P で通信できないクライアント間 (ホールパンチに失敗した時など) では Room モジュール を使用した サーバー経由の リレー通信 を組み合わせて最適な通信経路が自動的に使用されます。
P2P 接続後も、通信中に P2P の接続が切れたとしてもフォールバック機能でリレー通信に切り替えたり、P2P で送信していた RUDP パケットを リレーサーバー経由で再送する機能に対応しており、堅牢な通信が実現することができます。
詳しくは CSAR (Clustered Server Authoritative Ruler) モジュール を参照してください。
サーバーとの通信に、RUDP に 順番保証無し(到達保証)(Reliable Unordered)のパケット送信形式が追加されました。
従来は 順番保証有り(Reliable Ordered)のパケット送信形式のみに対応していました。
これにより、順番は気にしないが、確実に送りたいメッセージがある場合の処理効率を上げることができます。従来の順番保証(Reliable)の場合、先に送信されたパケットが到達するまで次のパケットが処理されないため、負荷が高い状況において、処理が詰まりやすい傾向がありました。
P2P および Room の RUDP に対応しています。
Window プラットフォームでのビルドに対応しました。
これにより、Windows マシン上で開発するクライアントエンジニアが WSL なしで Diarkis サーバーを動作させることが可能となり、開発作業の効率化に役立てる事ができます
詳しくはDiarkis サーバーを Windows 環境で起動する を参照してください
更新・修正
Host/Search 型の MatchMaker モジュールが改善されました。
主にルームマッチ、つまりホストがルームを作成して、ゲストが検索して条件に合うルームを探すようなマッチング向けに改善を行いました。
ホストがマッチングを開始する際にパスワードを設定できるようになりました。
ゲストがホスト検索時に、Room ID だけでなく、オーナーやメンバー数、パスワードが掛かっているかなど様々な情報を取得できるようになりました。
Session と Ticket のマイグレーションに完全対応しました。
タイミングはルームと大きくは代わりありません。
Metrics モジュールのオーバーホール。
Counter/Gauge/Histogram の 3種メトリクスに対応しています。
OpenMetrics仕様で定義・登録し、スレッドセーフに管理しており、Prometheus や JSON 形式で出力できます。
詳しくは API ドキュメント: https://docs.diarkis.io/docs/server/v1.1.0/diarkis/metrics/index.html を参照してください。
Session のメトリクスに対応しました。
Puffer モジュールが改善されました。
Go だけでなく、C#、C++の各言語での出力に対応しました。
詳細ドキュメントについては準備中です。
Room モジュールに機能が追加されました。
オーナーを変更するコマンドを追加しました。
一意の ID から部屋を作成、もしくは既に部屋があれば入室できるコマンド(CreteOrJoinByCustomID)が追加されました。
P2P モジュールが改善されました。
P2P 接続中に IPアドレスが変更になっても接続を継続できるようになりました。
サーバー API ドキュメントを見やすくするために、様々な改善を行いました。
フォーマットの改善(テーブルの整形、コードハイライト、重要な内容の強調)。
example コードの追加。
破壊的変更
Host/Search 型の MatchMaker は既存とインターフェースが大きく変わっています。そのため、Diarkis クライアント SDK も対応するバージョンを利用する必要があります。
その他
Datacapsule は非推奨になりました。代わりに TransportData や Puffer の利用を検討してください。
リファレンス
Diarkis サーバー API リファレンス: https://docs.diarkis.io/docs/server/v1.1.0/diarkis/
Diarkis クライアント API リファレンス
最終更新
役に立ちましたか?