KLab、自社タイトルの運用ノウハウを汎用化したリアルタイム通信システム「WSNet2」をOSSとして公開!

KLab<3656>は、オンライン対戦や協力プレイなどを実現するためのリアルタイム通信システムとして「WSNet2」を開発、公開した。同社の自社タイトルの運用ノウハウを反映・汎用化したもので、オープンソースとして提供する。


■「WSNet2」の特徴
1. 特別な設定なしに様々な環境から接続可能
ブラウザの双方向通信に広く使われているWebSocketを採用しているため、回線の種類や接続方法、ネットワーク構成にかかわらず、多くの国の様々な環境から確実に接続することができる。

2. 回線の切り替わりや一時的な圏外をシステム側で吸収
モバイル端末では回線の切り替わりや一時的な圏外により通信切断が発生する。一般的なオンラインゲームでは、切断してしまった時点でゲームを続行できなくなるものが珍しくない。WSNet2では自動的に再接続して通信を継続するため、一時的に切断してしまってもプレイヤーはゲームを続行できる。またこの再接続は暗黙的に行われるため、開発者はこのような切断を考慮することなくゲームロジックを実装することができる。

3. 一般的なスペックのサーバ1台で数千クライアントの同時接続(※1)
WSNet2のサーバは、処理速度に定評のあるGo言語で実装している。このため、ハイスペックなサーバでなくても多数の同時接続を処理することができ、運用コストを抑えられる。
※1 開発中タイトルの負荷試験で、AWS EC2のc5.xlarge(vCPU4、メモリ8GiB)のサーバで1台あたり約6,000人の同時接続を処理できている。

4. 数十万人規模の観戦(※2)に対応
近年盛んになってきたeスポーツにおいては、観戦も重要な機能になっている。WSNet2では、動画配信等ではできない双方向インタラクションを維持したまま、数十万人規模の観戦に対応した。
※2 開発中タイトルの負荷試験で20万観戦の同時接続を達成した。サーバ台数を増やすことでさらに多人数にも対応できる。

 
■オープンソース公開の背景
オンライン対戦や協力プレイなどを実現するためのリアルタイム通信は、昨今のゲームの中核をなす機能となっている。このようなリアルタイム通信を実現するサービスやライブラリは多数存在するが、モバイル端末やゲーム仕様に合わせたカスタマイズが難しく、頭を悩ませるポイントとなっている。

KLabでは複数タイトルで自社製リアルタイム通信システムを開発運用してきたが、今回それらのノウハウを反映・汎用化したシステムとして「WSNet2」を開発した。

KLabでは創業当初より多くのオープンソース・ソフトウェアを利用し、低コストかつ高品質なサービスの提供へと役立ててきた。同時に、オープンソース・コミュニティから情報を得るばかりではなく、可能な限り多くの情報やソースコードをコミュニティへと還元してきた。

「WSNet2」においても、そのソースコードが多くの開発者の目に触れること、また同様の問題を抱える人々との情報交換を通して、品質や性能の向上へ寄与すると考えている。これが同社の競争力を高めるとともに、ゲーム業界の技術発展にもつながると考えオープンソース化を決定した。


公開場所
https://github.com/KLab/wsnet2

動作環境・ライセンス
サーバ環境
 Go(1.19以降)
 MySQL(5.7以降)
クライアント(C#)
 Unity(2020以降)
 .NET(5.0以降)
ライセンス: MITライセンス(その他ライセンス表示はリポジトリ内のLISENCEファイル https://github.com/KLab/wsnet2/blob/main/LICENSE を参照してほしい)

KLab株式会社
http://www.klab.com/jp/

会社情報

会社名
KLab株式会社
設立
2000年8月
代表者
代表取締役社長CEO 森田 英克/代表取締役副会長 五十嵐 洋介
決算期
12月
直近業績
売上高238億9500万円、営業損益11億500万円の赤字、経常損益10億2800万円の赤字、最終損益34億6800万円の赤字(2021年12月期)
上場区分
東証プライム
証券コード
3656
企業データを見る