Die TMC-Spieleplattform - The Modding Community

MIT-Lizenz, Open Source Frühe Phase

Open-Source-Godot-Addons für Multiplayer-Spiele

Dot ist eine Open-Source-Sammlung von Godot-Addons für Konten, dedizierte Server, Moderation, Gruppen und Sprachchat. Spiele darauf starten per Link in einem Browser-Tab, und ihre Server erscheinen in unserem Serverbrowser.

  • Godot 4.7 oder neuer
  • Läuft in einem Browser-Tab
  • Dedizierte Server

Frühe Phase. Jedes Addon hat eine eigene Testsuite und besteht sie, aber bisher haben nur wenige Spieler das Ganze genutzt. Rechnen Sie mit Ecken und Kanten.

project.godot dot-server
Ihr Spiel
game-arenagame-hungariomg-prop-hunt
Die Dot-Addons
dot-authdot-serverdot-partydot-moderationdot-voicedot-net
The Modding Community
SpielezentrumServerbrowserInhaltspaketeWorkshop
Wie alles zusammenpasst

Ihr Spiel oben, Dot in der Mitte, die Website darunter

Drei Schichten. Wählen Sie eine aus, um zu sehen, was sie tut und was Sie weiterhin selbst schreiben.

Die Dot-Addons

Über 60 Addons, die man einzeln nimmt. Nur dot-core ist eine harte Abhängigkeit. Die übrigen werden zur Laufzeit gefunden, ein Spiel bringt also mit, was es nutzt, und nichts weiter.

  • Konten, Avatare und Anmeldung.
  • Ein Framework für dedizierte Server mit Werkzeugen für Abfrage, Deployment und Sicherheit.
  • Gruppen, Matchmaking, Freunde, Textchat und Sprachchat.
  • Moderation, Wiederholungen, Bestenlisten und Erfolge.

Wählen Sie eine Schicht, um mehr darüber zu lesen.

Was sie auszeichnet

Was hier anders ist

All das steht heute im Code. Wo etwas nur teilweise getestet ist, sagt es die Karte.

Ein Client, Browser oder Desktop

dot-server-deploy exportiert denselben Client für einen Browser sowie für Linux, Windows und macOS. Ein Server lauscht per WebSocket für Browser und per ENet für Desktop-Clients im selben Match. Der Browser-Export wurde nur in Headless-Chromium getestet, und eine Desktop-Version ist noch nicht veröffentlicht.

Spiele kommen als signierte Pakete

Ein Spiel ist ein Content-Paket, mit RSA signiert und von dot-cloud geprüft, bevor es eingebunden wird. Der Client ist für alle Spiele derselbe, ein neues Spiel erfordert also keinen neuen Client-Download.

Server erfahren nie, wer Sie sind

Ein Spielserver erhält einen für diesen Server abgeleiteten Schlüssel, nicht Ihre Konto-ID. Zwei Serverbetreiber können keine Logs abgleichen, um einen Spieler über die Plattform zu verfolgen. dot-user und die Website verwenden dieselbe Ableitung.

Ein Avatar, alle Spiele

Ein Avatar ist ein kleines Dokument, das ein Server prüfen kann und das auf der Website liegt. Er folgt Ihnen über ein offenes, dokumentiertes Protokoll auf einen Spielserver, Ihr Aussehen wird also nicht für jedes Spiel neu gemacht.

Mitglieder können ein Spiel veröffentlichen

Jedes angemeldete Mitglied kann ein Spiel oder Minispiel anlegen, mit Seite, Kategorien, Berechtigungen und einer Entwicklungsstufe von In Entwicklung bis Veröffentlicht. Sowohl die Website als auch der Spielbetreiber können eine Prüfung verlangen, bevor eine Version die Spieler erreicht.

Gelistet, mit Live-Zahlen

dot-server-query beantwortet A2S, die Abfrage, die die meisten Server-Tracker bereits sprechen, sowie ein eigenes, reichhaltigeres Protokoll, das auch über WebSocket läuft. Ein Server, der sich bei der Website meldet, erscheint im Serverbrowser mit seinen verbundenen Spielern.

Viele Spiele, eine Plattform

Ein Satz Addons und ein Konto bedienen viele Spiele und Minispiele. Jedes Spiel bekommt seine eigene Seite auf der Website, und Ihre Anmeldung, Ihr Avatar und Ihre Freunde begleiten Sie.

Jeder kann einen Server betreiben

Ein Community-Server für jedes Dot-Spiel ist nur ein Werkzeug entfernt. Zu den Schritten.

Bestenlisten und Statistiken pro Spiel

Jedes Spiel legt seine eigenen Bestenlisten fest: was gewertet wird (eine Zeit, ein Punktestand, Punkte oder eine Strafe), die Einheit und einen Bereich wie Karte, Strecke oder Stil, der zu den Filtern auf der Seite wird. Der Spielserver führt die Statistiken und meldet sie an die Seite, die Zahlen stammen also vom Server und nicht vom Spieler. Bestenlisten eines Servers erscheinen auf dessen Seite, und ein Server, den der Besitzer des Spiels freigegeben hat, speist zusätzlich die Bestenliste des Spiels selbst. Spielerstatistiken wie Abschüsse oder Höchstgeschwindigkeit werden auf dieselbe Weise gemeldet.
Die Addons

Nehmen Sie nur die Teile, die Sie brauchen

Eine Auswahl der über 60 Addons, jedes in einem eigenen Repository. Filtern Sie nach dem, was Sie bauen, oder suchen Sie nach dem Namen.

36 angezeigt

Auf Spielen klicken

Von einem Link zu einem laufenden Spiel

Was passiert, nachdem jemand auf einem Server oder einer Spieleseite auf Spielen geklickt hat. Gehen Sie es Schritt für Schritt durch.

Schritt 1 von 5

Ein Link

Spielen auf einer Serverseite, einer Spieleseite oder im Spielezentrum öffnet ein Startfenster über der Seite, auf der Sie sich befinden. Sind Sie angemeldet, weiß das Spiel über einen kurzen Code, nicht über ein Token, wer Sie sind, Sie müssen sich also nicht erneut anmelden.

Auf der Website: das Spielezentrum und der Web-Player.

Eigenen Server betreiben

Ein Spiel hosten in sechs Schritten

Jeder kann einen Community-Server für jedes Dot-Spiel betreiben. Sie brauchen ein Terminal sowie Linux oder Docker. dot-server-deploy erledigt den Rest.

  1. 1

    Das Werkzeug holen

    Klonen Sie dot-server-deploy, den Starter für Dot-Spielserver.

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

    Die Einrichtung ausführen

    Führen Sie das Setup-Skript einmal aus. Es bereitet den Server und seine Konfiguration vor.

    ./setup.sh
  3. 3

    Ein Spiel starten

    Nennen Sie das Spiel, das gestartet werden soll. Mit Docker erledigt docker compose up -d dasselbe.

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

    Die Fragen beantworten

    Die vollständige Einrichtung stellt etwa zehn Fragen zu Ihrem Server und schreibt dann die Konfiguration.

    ./setup.sh --full
  5. 5

    Auf der Website listen

    Öffnen Sie auf der Website die Seite zum Hinzufügen eines Servers, wählen Sie das Spiel und geben Sie Adresse und Ports ein. Beim Start belegt der Server der Website, dass er unter dieser Adresse antwortet (Enrollment), erhält eigene Zugangsdaten und schreibt seinen eigenen Eintrag.

  6. 6

    Anpassen

    Ändern Sie Einstellungen, Karten und Mods in cfg/content.yml und Inhaltspakete in cfg/packs.yml und starten Sie neu.

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

Das Spiel bearbeiten, während es läuft

dot-workbench ist ein Live-Editor für ein laufendes Spiel. Ändern Sie ein Profil, und das Spiel übernimmt es ohne Neustart.

Panel im Spiel

Öffnen Sie ein Panel im laufenden Spiel und passen Sie Werte beim Spielen an.

Lokale Webseite

Eine Seite auf Ihrem eigenen Rechner. Sie ist standardmäßig aus und durch eine Token-Datei geschützt, sodass nur Sie sie nutzen können.

JSON-API

Dieselbe Profilbearbeitung als einfaches JSON, für Skripte und Werkzeuge.
BeispielEin Monster einstellen, während das Spiel läuft
Art: npcLive angewendet
  • crawler
  • leaper
  • spitter

Leaper

5 Einstellungen, 2 weichen vom Standard ab

Speichert in: Server-Laufzeitebene (live, repliziert)

Eine für diese Seite gezeichnete Illustration, kein Screenshot. Die Feldnamen und Startwerte stammen aus dem Profil leaper in game-zombie-zone. Das echte Panel und die echte Seite können anders aussehen.

Es bearbeitet Profile. Szenen und Code ändern Sie weiterhin im Godot-Editor.

Ziele

Worauf wir hinarbeiten

Das sind Ziele, keine Checkliste. Die Plattform befindet sich in einer frühen Phase, und die Roadmap zeigt, wie weit jeder Teil ist.

  1. 1

    Standard-Godot, kein Fork

    Ein Spiel, das nichts davon braucht, bleibt ein normales Godot-Projekt. Wir ergänzen Addons und ein offenes Protokoll, und Sie nehmen nur die Teile, die Sie brauchen.

  2. 2

    Offen, damit jeder sie betreiben kann

    Die Addons stehen unter der MIT-Lizenz und das Backend-Protokoll ist offen. Wir betreiben eine Instanz, und jeder kann seine eigene betreiben.

  3. 3

    Community-Server, die leicht zu starten sind

    Einen dedizierten Server zu starten sollte einen einzigen Befehl brauchen, und ein Server, der sich bei der Website meldet, erscheint im Serverbrowser.

  4. 4

    Ein Konto für alle Spiele

    Ihre Anmeldung, Ihr Avatar, Ihre Freunde und Gruppen folgen Ihnen von Spiel zu Spiel, während ein Spielserver nur einen eigens für ihn erzeugten Schlüssel sieht.

  5. 5

    Per Link erreichbar

    Ein Spiel sollte sich per Link starten lassen, in einem Browser-Tab oder auf dem Desktop, und beide Arten von Spielern sollten im selben Match sein. Handys sind ein Ziel, nichts Gebautes.

  6. 6

    Mitglieder veröffentlichen eigene Spiele

    Jedes Mitglied kann ein Spiel oder Minispiel mit eigener Seite auf der Website veröffentlichen, und sowohl die Website als auch der Spielbesitzer können eine Prüfung verlangen.

  7. 7

    Ein Grund zu kommen

    Die Plattform ist bislang leer, und Zee's Games ändert das, indem es Spielmodi übernimmt, die Menschen in älteren Spielen mochten: Surf und Bunny Hop, Prop Hunt, DeathRun, Hide and Seek und Murder Mystery. Die meisten sind noch nicht fertig.

  8. 8

    Entwickler verkaufen und liefern eigene Inhalte

    Entwickler werden über diese Website Artikel an Spieler verkaufen und eigene Inhalte und Avatare auf der Plattform bereitstellen können. Das ist noch nicht verfügbar. Spiele erreichen Spieler bereits als signierte Pakete, und Mitglieder können Pakete im Workshop abonnieren, aber der Verkauf und Avatare von Entwicklern sind nicht gebaut.

Darauf gebaut

Projekte, darauf gebaut

Das erste Projekt auf der Plattform und das, das zeigt, wofür sie gedacht ist.

Zee's Games

MIT

Echte Spiele und Minispiele unter MIT-Lizenz, auf den Dot-Addons gebaut, von der Person, die auch die Plattform baut.

Seine Ziele, von seiner eigenen Zielseite

  1. 1 Zeigen, was die Plattform kann. Die Spiele demonstrieren Bewegung, Kampf, Fahrzeuge, NPCs, Physik, Bestenlisten, Gruppen, Matchmaking und dedizierte Server, gebaut mit denselben offenen Dot-Addons, die jedes Projekt nutzen kann.
  2. 2 Es wert sein, gespielt zu werden. Dass es eine Demo ist, entschuldigt kein langweiliges Spiel, also hat jedes seine eigenen Karten, Modi und seinen Feinschliff.
  3. 3 Auf Community-Server ausgerichtet sein. Jeder soll mit dem Repository Dot Server Deploy einen Server mit einem oder mehreren dieser Spiele starten können.
  4. 4 Ihr Server, Ihre Regeln. Ein Serverbetreiber kann die Einstellungen des Spiels und jedes verwendeten Addons ändern und den Server samt Spiel dann auf der Plattform listen.
  5. 5 Von überall beitreten. Spieler betreten einen gelisteten Server über den Webbrowser, die Desktop-App oder ein Telefon, und alle spielen auf denselben Servern.
  6. 6 Ein Server, viele Spiele. Ein Server führt mehrere Spiele aus und wechselt zwischen ihnen, während die Spieler verbunden bleiben, so wie Community-Server von Garry's Mod und Counter-Strike die Karte wechseln.
  7. 7 Inhalte kommen von selbst. Wenn sich Spiel oder Karte ändern, laden Spieler, was sie brauchen, vom CDN der Plattform.
  8. 8 Kostenlos und Open Source. Jedes Spiel, jedes Kartenpaket und jedes Addon ist auf GitHub Open Source. Die meisten Spiele sind nicht fertig und wurden mit Claude Code gebaut, was der Autor offen sagt.

Wie das zu den Plattformzielen passt

Wo ein Ziel der Spiele zu einem der obigen Ziele passt und wo nicht.

  • Zeigen, was die Plattform kann, und es wert sein, gespielt zu werden. Passt zu „Ein Grund zu kommen“. Die Spiele sind dieser Grund: übernommene Klassiker wie Surf und Bunny Hop, Prop Hunt und DeathRun.
  • Community-Server, jeder mit eigenen Regeln. Passt zu „Community-Server, die leicht zu starten sind“ und „Offen, damit jeder sie betreiben kann“. Dasselbe Ziel, aus Sicht der Spiele.
  • Beitreten per Browser, Desktop-App oder Handy. Passt zu „Per Link erreichbar“ für Browser und Desktop. Bei Handys weicht es ab: Die Plattform führt sie als Ziel, gebaut ist nichts.
  • Frei und Open Source. Passt zu „Offen, damit jeder sie betreiben kann“. Die Lizenz gilt für die Addons und die Spiele; das Website-Backend und die Desktop-App haben ihre eigene.

Zwei seiner Ziele haben auf der Plattform keine Entsprechung: ein Server, der mehrere Spiele betreibt, und Inhalte, die von selbst ankommen. Sie beschreiben die Spiele, nicht die Ziele der Plattform.

Die Spiele liegen in der GitHub-Organisation zees-games. Die meisten sind nicht fertig.

MIT-Lizenz, Open Source

Lesen. Forken. Ausliefern.

Die Dot-Addons und die Spiele auf dieser Seite haben jeweils eine MIT-LICENSE-Datei in ihrem eigenen Repository. Sie dürfen sie in einem kommerziellen Spiel nutzen, ändern und weitergeben. Behalten Sie den Copyright-Hinweis bei, mehr nicht.

Lesen, wie es funktioniert

Jedes Addon ist ein kleines Repository mit eigener Dokumentation und Testsuite.

Forken, was Sie brauchen

Nehmen Sie ein Addon oder alle. Nur dot-core ist eine harte Abhängigkeit.

Einen eigenen Server betreiben

Starten Sie mit dot-server-deploy per Befehl einen dedizierten Server und wählen Sie, ob er mit unserem Backend oder Ihrem spricht.

Die Lizenz gilt für die Dot-Addons und die Repositories von Zee's Games. Das Website-Backend und die Desktop-App sind eigene Projekte mit eigenen Lizenzen.

Code auf GitHub lesen

Probieren Sie es aus, oder lesen Sie zuerst den Code

Öffnen Sie das Spielezentrum, um einem Spiel beizutreten, stöbern Sie in Live-Servern, oder lesen Sie die Dokumentation und klonen Sie ein Addon.