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

Nakamaは、ソーシャルゲームやリアルタイムアプリ向けに設計されたオープンソースのゲームバックエンドサーバーです。READMEによると、ソーシャルネットワーク、メール、またはデバイスIDによるユーザー登録・ログイン機能、ユーザーレコードと設定のストレージ、フレンドとグループを含むソーシャルグラフ、永続化された履歴を持つ1対1・グループ・グローバルチャット、リアルタイムおよびターンベースのマルチプレイヤー機能、ランキング、トーナメント、パーティ、購入検証、インアプリ通知を提供します。Lua、TypeScript/JavaScript、またはネイティブGoで記述されたカスタムランタイムコードにより拡張可能です。マッチメーカー、ダッシュボード、メトリクスなどのその他の機能も含まれます。 NakamaはgRPCまたはHTTP/JSON RESTフォールバックを使用してリクエスト/レスポンスを処理し、リアルタイムトラフィックにはWebSocketまたはrUDPを使用します。CockroachDBまたはPostgres互換データベースが必要です。Docker Composeを使用してローカル開発を迅速に開始したり、ネイティブバイナリを実行することで起動できます。バイナリセットアップでは、まずデータベースを起動し、次に「nakama migrate up --database.address ...」を実行し、最後に「nakama --database.address ...」を起動します。サーバーはJSON形式のログで構成情報を出力します。 単一サーバーバイナリに埋め込まれたWebベースのNakamaコンソールがあります。これは、サーバーAPIを通じて格納されたデータの確認、サービスメトリクスの表示、プレイヤーデータの管理、ストレージオブジェクトの更新、権限プロファイルによるアクセス制限、リアルタイム機能(アクティブなマルチプレイヤーマッチなど)の確認に使用できます。デフォルトではhttp://127.0.0.1:7351で利用可能です。 .NET(C#)、Unity、JavaScript、Java(Android)、Unreal、Godot、Defold、Swift(iOS)向けの公式クライアントライブラリが存在します。プロジェクトはGoogle Cloud、Azure、AWS、Digital Ocean、Heroku、またはプライベートクラウドなどのクラウドプロバイダーにデプロイできます。READMEではNakamaとCockroachDBに別々のノードを推奨しています。Heroic Cloudはマネージドデプロイメントオプションとして提供されています。 貢献者はGoを使用してソースからビルドできます。リポジトリは依存関係をベンダリングしており、go build -trimpath -mod=vendorで簡単なビルドをサポートしています。完全なソースビルドにはProtocol Buffers、gRPC、grpc-gateway、bufツールのインストールが必要で、その後./buf.shでコードを再生成します。ユニットテストと統合テストはdocker-compose-tests.ymlを通じて実行されます。プロジェクトはApache-2.0ライセンスの下で公開されています。