v1.0.1
概要
v1.0 のいくつかのバグ修正をしました。
主な更新内容
Dive モジュールの安定性向上
軽微なバグフィックス
サーバー
Core
新規接続タイミングの変更
util.Async の非推奨化と util.Pause の追加
ノイズの多いログを削減
Direct Message
keepAlive での DM ユーザーアドレスの TTL 設定
Dive
Dive のノードが nodemap に参加しないときがある不具合の修正
Dive の migration の並列処理によって処理が終わらないことがある不具合の修正
Field
使用されていない構造体を削除
パフォーマンス改善
MatchMaker
複数のユニットがある場合にチームマッチが適切に動作しない問題を修正。
Mesh
正常に読むことが出来なかったエラーログを修正
Room
GetMemberSIDs で、ユーザーが確実に存在しているかを確認するチェックが欠落していた不具合を修正
クライアント
Diarkisランタイム
全般
Diarkisランタイムのイベント処理において、Diarkis module のインスタンスが破棄された後にイベントが実行され、無効なポインターを参照する可能性があるバグを修正
UDP
ソケットエラー時のソケット再作成と再接続がデフォルトで有効に変更
IPv4 回線から IPv6 (NAT64)回線への切り替え時などにソケットエラーが発生した場合に、自動的に接続を再試行するようになりました。
Diarkis のランタイムは接続を再試行している間はエラーとして扱わないので、エラーを即座に検出したい場合は
IDiarkisUdp::SetEnableRecreateSocketOnError
で無効にしてください。
ソケットの接続処理は、DNS から取得したすべての
A
とAAAA
レコードのアドレスへの接続を試みるように対応以前の動作は IPv4 か IPv6 のどちらかの接続を試行し、接続に失敗した場合はエラーで終了していたが、可能性のあるすべてのアドレスへの接続を試行するようになりました。
P2P
P2P 切断時に P2P 切断イベントが発生しない不具合を修正
NAT64/DNS64 など、IPv6 ソケットを使用する環境でのホールパンチのバグを修正
NAT64/DNS64などIPv6 ソケットを使用する環境で、ホールパンチング処理がエラーとなりランタイムが終了することがある不具合を修正
P2P の unordered RUDP 通信において、パケットのシーケンス番号が最大値に達すると、同じシーケンス番号の複数のパケットが処理されてしまう不具合を修正
IDiarkisP2P::Disconnect を呼び出した直後に P2P インスタンスを削除するとクラッシュする問題を修正
Diarkis モジュール
httplibで IPv6 アドレスが正しく解析されないバグを修正
最終更新