TMCゲームプラットフォーム - The Modding Community

MITライセンス、オープンソース 初期段階

マルチプレイゲーム向けのオープンソースGodotアドオン

Dotは、アカウント、専用サーバー、モデレーション、グループ、ボイスチャットのための、オープンソースのGodotアドオン群です。これで作ったゲームはリンクからブラウザのタブで起動し、そのサーバーは当サイトのサーバーブラウザに表示されます。

  • Godot 4.7以降
  • ブラウザのタブで遊べます
  • 専用サーバー

初期段階です。各アドオンには独自のテストスイートがあり、すべて通過していますが、全体を使ったプレイヤーはまだわずかです。粗い部分があることをご承知ください。

project.godot dot-server
あなたのゲーム
game-arenagame-hungariomg-prop-hunt
Dotアドオン
dot-authdot-serverdot-partydot-moderationdot-voicedot-net
The Modding Community
プレイセンターサーバーブラウザコンテンツパックWorkshop
全体のつながり方

上にあなたのゲーム、中央にDot、下にサイト

3つの層があります。ひとつ選ぶと、その層が何をするか、そしてあなたが引き続き書くべきものが分かります。

Dotアドオン

60を超えるアドオンを、ひとつずつ選んで使えます。必須の依存関係は dot-core だけです。残りは実行時に検出されるため、ゲームは使うものだけを持ち運びます。

  • アカウント、アバター、ログイン。
  • クエリ、デプロイ、セキュリティのツールを備えた専用サーバーのフレームワーク。
  • グループ、マッチメイキング、フレンド、テキストチャット、ボイスチャット。
  • モデレーション、リプレイ、リーダーボード、実績。

層を選ぶと説明が表示されます。

特長

ここが違います

ここに挙げたことは、すべて現在コードに存在します。一部しかテストされていないものは、カードにそう書いてあります。

ひとつのクライアントで、ブラウザもデスクトップも

dot-server-deploy は同じクライアントを、ブラウザ向けと Linux、Windows、macOS 向けに書き出します。サーバーはブラウザにはWebSocketで、デスクトップクライアントにはENetで待ち受け、同じマッチに参加させられます。ブラウザ向けの書き出しはヘッドレスChromiumでしかテストされておらず、デスクトップ版はまだ公開されていません。

ゲームは署名付きパックで届く

ゲームはRSAで署名されたコンテンツパックで、マウントされる前に dot-cloud が検証します。クライアントはすべてのゲームで共通なので、新しいゲームのために新しいクライアントをダウンロードする必要はありません。

サーバーはあなたが誰か知らない

ゲームサーバーが受け取るのは、そのサーバー用に導出されたキーであり、アカウントIDではありません。2つのサーバー運営者がログを突き合わせて、プラットフォーム全体でプレイヤーを追跡することはできません。dot-user とサイトは同じ導出方法を使います。

ひとつのアバターを全ゲームで

アバターはサーバーが検証できる小さなドキュメントで、サイトに保存されます。公開された文書化済みのプロトコルでゲームサーバーまでついてくるので、ゲームごとに姿を作り直す必要はありません。

メンバーがゲームを公開できる

ログインしたメンバーなら誰でも、ページ、カテゴリ、権限、そして「開発中」から「公開済み」までの開発段階を持つゲームやミニゲームを作成できます。バージョンがプレイヤーに届く前に、サイトもゲームの所有者もレビューを必須にできます。

リストに載り、数字はリアルタイム

dot-server-query は、ほとんどのサーバートラッカーがすでに話すA2Sに応答し、WebSocketでも動く独自のより豊かなプロトコルにも応答します。サイトに報告するサーバーは、接続中のプレイヤーとともにサーバーブラウザに表示されます。

多数のゲーム、1つのプラットフォーム

1組のアドオンと1つのアカウントで、多くのゲームやミニゲームを支えます。各ゲームにはサイト上に専用ページがあり、サインイン、アバター、フレンドは引き継がれます。

誰でもサーバーを運用できる

あらゆるDotゲームのコミュニティサーバーは、ツール1つで始められます。手順を見る。

ゲームごとのリーダーボードと統計

各ゲームは、自分のリーダーボードを定義します。何で順位を付けるか(タイム、スコア、ポイント、ペナルティ)、その単位、そしてマップ、コース、スタイルなどの範囲です。範囲はページ上の絞り込みになります。統計はゲームサーバーが集計してサイトに報告するので、数値はプレイヤーではなくサーバーから来ます。サーバーのボードはそのサーバーのページに表示され、ゲームの所有者が承認したサーバーは、ゲーム自体のリーダーボードにも反映されます。キル数や最高速度などのプレイヤー統計も同じ方法で報告されます。
アドオン

必要な部品だけを使う

60を超えるアドオンから一部を紹介します。それぞれ独立したリポジトリです。作るものに合わせて絞り込むか、名前で検索してください。

36件を表示

プレイを押す

リンクから実行中のゲームまで

サーバーやゲームのページで誰かがプレイを押したあとに何が起きるかを、ステップごとに追えます。

ステップ 1 / 5

リンク

サーバーページ、ゲームページ、プレイセンターでプレイを押すと、今いるページの上に起動ウィンドウが開きます。ログインしていれば、ゲームはトークンではなく短いコードであなたを認識するので、再ログインは不要です。

サイト側:プレイセンターとウェブプレーヤー。

自分のサーバーを動かす

ゲームのホストは6ステップで

誰でも、あらゆるDotゲームのコミュニティサーバーを運用できます。必要なのはターミナルと、LinuxまたはDockerです。残りは dot-server-deploy が行います。

  1. 1

    ツールを入手する

    Dotゲームサーバーのランチャーである dot-server-deploy をクローンします。

    git clone https://github.com/modcommunity/dot-server-deploy
    cd dot-server-deploy
  2. 2

    セットアップを実行する

    セットアップスクリプトを一度実行します。サーバーとその設定を準備します。

    ./setup.sh
  3. 3

    ゲームを起動する

    起動するゲームを指定します。Dockerなら docker compose up -d で同じことができます。

    ./server --games arena
    # or, with Docker
    docker compose up -d
  4. 4

    質問に答える

    フルセットアップではサーバーについて約10個の質問をし、設定を書き出します。

    ./setup.sh --full
  5. 5

    サイトに掲載する

    サイトでサーバー追加ページを開き、ゲームを選んでアドレスとポートを入力します。サーバーは起動時に、そのアドレスで応答することをサイトに証明し(エンロールメント)、専用の認証情報を受け取って、自分でリストを書き込みます。

  6. 6

    調整する

    設定、マップ、Modは cfg/content.yml、コンテンツパックは cfg/packs.yml で変更し、再起動します。

    cfg/content.yml
    cfg/packs.yml
Dot Workbench

ゲームを動かしたまま編集

dot-workbench は、実行中のゲームのためのライブエディタです。プロファイルを変更すると、再起動なしでゲームに反映されます。

ゲーム内パネル

実行中のゲームの中でパネルを開き、プレイしながら値を調整できます。

ローカルのWebページ

お使いのマシン上のページです。既定ではオフで、トークンファイルで保護されているため、利用できるのはご自身だけです。

JSON API

同じプロファイル編集をプレーンなJSONで行え、スクリプトやツールから使えます。
例ゲーム実行中にモンスターを調整する
種類: npcライブで適用しました
  • crawler
  • leaper
  • spitter

Leaper

5件の設定、そのうち2件が既定値と異なります

保存先: サーバーのランタイム層(ライブ、レプリケート)

このページ用に描いたイラストで、スクリーンショットではありません。フィールド名と初期値は、game-zombie-zone の leaper プロファイルから取っています。実際のパネルやページとは見た目が異なる場合があります。

編集するのはプロファイルです。シーンとコードの変更は、引き続きGodotエディタで行います。

目標

私たちが目指すもの

これはチェックリストではなく目標です。プラットフォームはまだ初期段階で、各部分の進み具合はロードマップで確認できます。

  1. 1

    フォークではなく標準のGodot

    これらを必要としないゲームは、通常のGodotプロジェクトのままです。私たちはアドオンと1つのオープンなプロトコルを加えるだけで、必要な部分だけを使えます。

  2. 2

    誰でも運用できるオープンな設計

    アドオンはMITライセンスで、バックエンドのプロトコルは公開されています。私たちは1つのインスタンスを運用し、誰でも自分のインスタンスを運用できます。

  3. 3

    簡単に始められるコミュニティサーバー

    専用サーバーの起動はコマンド1つで済むべきで、サイトに報告したサーバーはサーバーブラウザに表示されます。

  4. 4

    全ゲーム共通の1つのアカウント

    サインイン、アバター、フレンド、パーティーはゲームをまたいで引き継がれ、ゲームサーバーにはそのサーバー専用に作られたキーだけが見えます。

  5. 5

    リンクから届く

    ゲームはリンクから、ブラウザのタブでもデスクトップでも起動でき、両方のプレイヤーが同じマッチに入れるべきです。スマートフォンは目標であり、まだ作られていません。

  6. 6

    メンバーが自分のゲームを公開

    どのメンバーもゲームやミニゲームを専用ページ付きでサイトに公開でき、サイトとゲームの所有者のどちらもレビューを必須にできます。

  7. 7

    来てもらう理由

    プラットフォームは今のところ空ですが、Zee's Games が、古いゲームで親しまれたゲームモードを持ち込んでいます。サーフとバニーホップ、Prop Hunt、DeathRun、Hide and Seek、Murder Mystery です。ほとんどはまだ完成していません。

  8. 8

    開発者が自分のコンテンツを販売し、提供する

    開発者は、このウェブサイトを通じてプレイヤーにアイテムを販売し、独自のコンテンツやアバターをプラットフォームで提供できるようになる予定です。これはまだ利用できません。ゲームはすでに署名付きパックとしてプレイヤーに届いており、メンバーは Workshop でパックを購読できますが、販売と開発者のアバターはまだ作られていません。

この上に作られたもの

その上に構築されたプロジェクト

プラットフォーム上の最初のプロジェクトで、何のためのものかを示すものです。

Zee's Games

MIT

MITライセンスでDotアドオン上に作られた、実際のゲームとミニゲームです。プラットフォームを作っている本人が制作しています。

本人のゴールページに書かれた目標

  1. 1 プラットフォームにできることを示す。ゲームは、どのプロジェクトでも使える公開済みのDotアドオンで作られ、移動、戦闘、乗り物、NPC、物理、リーダーボード、グループ、マッチメイキング、専用サーバーを実演します。
  2. 2 遊ぶ価値のあるものにする。デモだからといって退屈なゲームは許されないので、それぞれが独自のマップ、モード、仕上げを持ちます。
  3. 3 コミュニティサーバーを重視する。誰でも Dot Server Deploy リポジトリを使って、これらのゲームのひとつ、または複数のサーバーを立ち上げられるべきです。
  4. 4 あなたのサーバー、あなたのルール。サーバーの所有者は、ゲームと使用する各アドオンの設定を変更し、そのサーバーとゲームをプラットフォームに掲載できます。
  5. 5 どこからでも参加。プレイヤーはウェブブラウザ、デスクトップアプリ、スマートフォンから掲載されたサーバーに入り、全員が同じサーバーで遊びます。
  6. 6 1つのサーバーで多くのゲーム。Garry's ModやCounter-Strikeのコミュニティサーバーがマップを切り替えるように、サーバーは複数のゲームを実行し、プレイヤーを接続したまま切り替えます。
  7. 7 コンテンツは自動で届く。ゲームやマップが変わると、プレイヤーは必要なものをプラットフォームのCDNからダウンロードします。
  8. 8 無料でオープンソース。すべてのゲーム、マップパック、アドオンはGitHubで公開されています。ゲームの多くは未完成で、Claude Codeで作られており、作者はそれを隠さず述べています。

プラットフォームの目標とのつながり

ゲームの目標が上の目標と一致するところと、しないところです。

  • プラットフォームでできることを示し、遊ぶ価値のあるものにすること。 「来てもらう理由」と一致します。サーフとバニーホップ、Prop Hunt、DeathRun など、移植された定番モードがその理由です。
  • コミュニティサーバー。それぞれが独自のルールを持つ。 「簡単に始められるコミュニティサーバー」と「誰でも運用できるオープンな設計」と一致します。同じ目標をゲーム側から見たものです。
  • ブラウザ、デスクトップアプリ、スマートフォンから参加する。 ブラウザとデスクトップについては「リンクから届く」と一致します。スマートフォンは異なり、プラットフォーム側では目標のままで、何も作られていません。
  • 無料でオープンソース。 「誰でも運用できるオープンな設計」と一致します。ライセンスはアドオンとゲームが対象で、サイトのバックエンドとデスクトップアプリには別のライセンスがあります。

2つの目標にはプラットフォーム側の対応がありません。1つのサーバーで複数のゲームを動かすことと、コンテンツが自動で届くことです。これらはゲームの話で、プラットフォームの目標ではありません。

ゲームはGitHubのzees-gamesオーガニゼーションにあります。ほとんどは未完成です。

MITライセンス、オープンソース

読んで、フォークして、出荷する。

Dotアドオンとこのページのゲームには、それぞれのリポジトリにMITのLICENSEファイルがあります。商用ゲームでの利用、改変、再配布ができます。著作権表示を残すだけです。

仕組みを読む

各アドオンは、独自のドキュメントとテストスイートを持つ小さなリポジトリです。

必要なものをフォークする

ひとつでも全部でも使えます。必須の依存関係は dot-core だけです。

自分のサーバーを動かす

dot-server-deploy でコマンドひとつで専用サーバーを起動し、当社のバックエンドと自前のバックエンドのどちらと通信するかを選べます。

ライセンスの対象はDotアドオンとZee's Gamesのリポジトリです。サイトのバックエンドとデスクトップアプリは別のプロジェクトで、それぞれ別のライセンスです。

GitHubでコードを読む

試すか、まずコードを読むか

プレイセンターを開いてゲームに参加するか、ライブのサーバーを見て回るか、ドキュメントを読んでアドオンをクローンしてください。