このプロジェクトについて

yojimboは、最大100プレイヤー対応のクライアント/サーバーゲーム向けに設計された、本番環境対応のC++ネットワークライブラリです。ファーストパーソン・シューティングゲームなどの競技マルチプレイヤータイトルの要求に焦点を当てています。コネクトトークンによる暗号学的に安全な認証、タイムアウト付きのクライアント/サーバー接続管理、暗号化および署名付きUDPパケット、パケットの断片化と再組み立て、ビットパッカーとシリアライゼーションシステム、時間に敏感なデータ用の非信頼性・非順序メッセージ、確認応答まで積極的に再送信する信頼性・順序付きメッセージ、最大パケットサイズより大きいデータブロックを信頼性・順序付きメッセージに添付する機能、そして接続ごとのレイテンシ、ジッター、パケット損失、送受信/確認済み帯域幅の推定を提供します。このライブラリはシングルスレッドであり、すべてのクライアントおよびサーバー関数は同じスレッドから呼び出す必要があり、両側で同一の設定(ClientServerConfig、チャンネル、メッセージファクトリ)を使用する必要があります。これは、同じ作者であるGlenn Fiedlerによるnetcode、reliable、serializeライブラリの上に構築されており、libsodiumとtlsfをバンドルしています。このプロジェクトはBSD 3-Clauseライセンスの下でオープンソースであり、CONTRIBUTING.mdを通じて貢献を受け付け、セキュリティ問題はSECURITY.mdを通じて報告されます。