Het TMC-gameplatform - The Modding Community

MIT-licentie, open source Vroeg stadium

Open-source Godot-addons voor multiplayerspellen

Dot is een open-sourceverzameling Godot-addons voor accounts, dedicated servers, moderatie, groepen en spraak. Spellen die erop draaien starten via een link in een browsertabblad, en hun servers verschijnen in onze serverbrowser.

  • Godot 4.7 of nieuwer
  • Speelbaar in een browsertabblad
  • Dedicated servers

Vroeg stadium. Elke addon heeft een eigen testsuite en slaagt daarvoor, maar nog maar weinig spelers hebben het geheel gebruikt. Verwacht ruwe randjes.

project.godot dot-server
Jouw spel
game-arenagame-hungariomg-prop-hunt
De Dot-addons
dot-authdot-serverdot-partydot-moderationdot-voicedot-net
The Modding Community
SpeelcentrumServerbrowserContentpakkettenWorkshop
Hoe het in elkaar zit

Jouw spel bovenaan, Dot in het midden, de site eronder

Drie lagen. Kies er een om te zien wat die doet en wat je zelf blijft schrijven.

De Dot-addons

Ruim 60 addons die je een voor een neemt. Alleen dot-core is een harde afhankelijkheid. De rest wordt tijdens het draaien gevonden, dus een spel neemt mee wat het gebruikt en verder niets.

  • Accounts, avatars en inloggen.
  • Een raamwerk voor dedicated servers met tools voor queries, uitrol en beveiliging.
  • Groepen, matchmaking, vrienden, tekstchat en spraakchat.
  • Moderatie, replays, scoreborden en prestaties.

Selecteer een laag om erover te lezen.

Wat het onderscheidt

Wat hier anders is

Dit alles staat nu in de code. Waar iets maar deels getest is, zegt de kaart dat.

Eén client, browser of desktop

dot-server-deploy exporteert dezelfde client voor een browser en voor Linux, Windows en macOS. Een server luistert via WebSocket voor browsers en via ENet voor desktopclients in dezelfde partij. De browserexport is alleen getest in headless Chromium, en er is nog geen desktopversie uitgebracht.

Spellen komen als ondertekende pakketten

Een spel is een contentpakket, ondertekend met RSA en gecontroleerd door dot-cloud voordat het wordt aangekoppeld. De client is voor alle spellen dezelfde, dus een nieuw spel vraagt geen nieuwe clientdownload.

Servers weten nooit wie je bent

Een spelserver krijgt een sleutel die voor die server is afgeleid, niet je account-id. Twee serverbeheerders kunnen geen logboeken vergelijken om een speler over het platform te volgen. dot-user en de site gebruiken dezelfde afleiding.

Eén avatar, alle spellen

Een avatar is een klein document dat een server kan controleren en dat op de site wordt bewaard. Het volgt je naar een spelserver via een open, gedocumenteerd protocol, dus je uiterlijk wordt niet voor elk spel opnieuw gemaakt.

Leden kunnen een spel publiceren

Elk ingelogd lid kan een spel of minispel aanmaken, met een pagina, categorieën, rechten en een ontwikkelfase van In ontwikkeling tot Uitgebracht. Zowel de site als de eigenaar van het spel kan een beoordeling eisen voordat een versie spelers bereikt.

Vermeld, met live cijfers

dot-server-query beantwoordt A2S, de query die de meeste servertrackers al spreken, en een eigen rijker protocol dat ook via WebSocket werkt. Een server die zich bij de site meldt, verschijnt in de serverbrowser met zijn verbonden spelers.

Veel spellen, één platform

Eén set addons en één account bedienen veel spellen en minispellen. Elk spel krijgt een eigen pagina op de site, en uw aanmelding, avatar en vrienden gaan met u mee.

Iedereen kan een server draaien

Een communityserver voor elk Dot-spel is één tool verwijderd. Bekijk de stappen.

Scoreborden en statistieken per spel

Elk spel legt zijn eigen scoreborden vast: wat gerangschikt wordt (een tijd, een score, punten of een straf), de eenheid en een bereik zoals kaart, baan of stijl, dat de filters op de pagina wordt. De spelserver houdt de statistieken bij en meldt ze aan de site, dus de cijfers komen van de server en niet van de speler. Scoreborden van een server staan op de pagina van die server, en een server die de eigenaar van het spel heeft goedgekeurd voedt ook het scorebord van het spel zelf. Spelerstatistieken zoals kills of topsnelheid worden op dezelfde manier gemeld.
De addons

Neem alleen de onderdelen die je nodig hebt

Een selectie uit de ruim 60 addons, elk in een eigen repository. Filter op wat je bouwt of zoek op naam.

36 getoond

Op Spelen klikken

Van een link naar een lopend spel

Wat er gebeurt nadat iemand op Spelen klikt bij een server of een spelpagina. Loop het stap voor stap door.

Stap 1 van 5

Een link

Spelen op een serverpagina, een spelpagina of in het speelcentrum opent een startvenster boven de pagina waarop je zit. Ben je ingelogd, dan weet het spel wie je bent via een korte code, niet via een token, dus je hoeft niet opnieuw in te loggen.

Op de site: het speelcentrum en de webspeler.

Draai uw eigen server

Host een spel in zes stappen

Iedereen kan een communityserver draaien voor elk Dot-spel. U hebt een terminal en Linux of Docker nodig. dot-server-deploy doet de rest.

  1. 1

    Haal de tool op

    Kloon dot-server-deploy, de starter voor Dot-spelservers.

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

    Voer de installatie uit

    Voer het installatiescript één keer uit. Het bereidt de server en de configuratie voor.

    ./setup.sh
  3. 3

    Start een spel

    Geef aan welk spel moet starten. Met Docker doet docker compose up -d hetzelfde.

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

    Beantwoord de vragen

    De volledige installatie stelt ongeveer tien vragen over uw server en schrijft daarna de configuratie.

    ./setup.sh --full
  5. 5

    Vermeld hem op de site

    Open op de site de pagina voor het toevoegen van een server, kies het spel en voer het adres en de poorten in. Bij het opstarten bewijst de server aan de site dat hij op dat adres antwoordt (enrollment), krijgt hij eigen inloggegevens en schrijft hij zijn eigen vermelding.

  6. 6

    Stem hem af

    Wijzig instellingen, kaarten en mods in cfg/content.yml en contentpakketten in cfg/packs.yml en herstart.

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

Bewerk het spel terwijl het draait

dot-workbench is een live-editor voor een draaiend spel. Wijzig een profiel en het spel neemt het over zonder herstart.

Paneel in het spel

Open een paneel in het draaiende spel en pas waarden aan terwijl u speelt.

Lokale webpagina

Een pagina op uw eigen computer. Standaard staat hij uit en hij is beveiligd met een tokenbestand, zodat alleen u hem kunt gebruiken.

JSON-API

Dezelfde profielbewerking als gewone JSON, voor scripts en tools.
VoorbeeldEen monster afstellen terwijl het spel draait
Soort: npcLive toegepast
  • crawler
  • leaper
  • spitter

Leaper

5 instellingen, 2 wijken af van de standaard

Slaat op in: Runtimelaag van de server (live, gerepliceerd)

Een illustratie die voor deze pagina is getekend, geen schermafbeelding. De veldnamen en startwaarden komen uit het profiel leaper in game-zombie-zone. Het echte paneel en de echte pagina kunnen er anders uitzien.

Het bewerkt profielen. Scènes en code wijzigt u nog steeds in de Godot-editor.

Doelen

Waar we naartoe werken

Dit zijn doelen, geen checklist. Het platform bevindt zich in een vroege fase, en de roadmap laat zien hoe ver elk onderdeel is.

  1. 1

    Gewone Godot, geen fork

    Een spel dat hier niets van wil, blijft een gewoon Godot-project. Wij voegen addons en één open protocol toe, en u neemt alleen de onderdelen die u nodig hebt.

  2. 2

    Open, zodat iedereen het kan draaien

    De addons hebben een MIT-licentie en het backendprotocol is open. Wij draaien één instantie, en iedereen kan een eigen instantie draaien.

  3. 3

    Communityservers die makkelijk te starten zijn

    Een dedicated server starten zou één commando moeten kosten, en een server die zich bij de site meldt verschijnt in de serverbrowser.

  4. 4

    Eén account voor alle spellen

    Uw aanmelding, avatar, vrienden en groepen volgen u van spel naar spel, terwijl een spelserver alleen een sleutel ziet die voor die server is gemaakt.

  5. 5

    Bereikbaar via een link

    Een spel zou vanaf een link moeten starten, in een browsertabblad of op desktop, met beide soorten spelers in dezelfde match. Telefoons zijn een doel, niets wat al gebouwd is.

  6. 6

    Leden publiceren hun eigen spellen

    Elk lid kan een spel of minispel met een eigen pagina op de site zetten, en zowel de site als de eigenaar van het spel kan een beoordeling eisen.

  7. 7

    Een reden om te komen

    Het platform is voorlopig leeg, en Zee's Games verandert dat door spelmodi over te brengen die mensen in oudere spellen graag speelden: surf en bunny hop, Prop Hunt, DeathRun, Hide and Seek en Murder Mystery. De meeste zijn nog niet af.

  8. 8

    Ontwikkelaars verkopen en leveren hun eigen content

    Ontwikkelaars zullen via deze website items aan spelers kunnen verkopen en hun eigen content en avatars op het platform kunnen uitbrengen. Dit is nog niet beschikbaar. Spellen bereiken spelers al als ondertekende pakketten en leden kunnen zich in de Workshop op pakketten abonneren, maar verkoop en avatars van ontwikkelaars zijn niet gebouwd.

Erop gebouwd

Projecten, erop gebouwd

Het eerste project op het platform, en het project dat laat zien waar het voor dient.

Zee's Games

MIT

Echte spellen en minispellen met een MIT-licentie, gebouwd op de Dot-addons, gemaakt door degene die het platform bouwt.

Zijn doelen, van zijn eigen doelenpagina

  1. 1 Laten zien wat het platform kan. De spellen tonen beweging, gevecht, voertuigen, NPC's, fysica, scoreborden, groepen, matchmaking en dedicated servers, gebouwd met dezelfde open Dot-addons die elk project kan gebruiken.
  2. 2 Het waard zijn om gespeeld te worden. Een demo zijn is geen excuus voor een saai spel, dus elk heeft eigen kaarten, modi en afwerking.
  3. 3 Gericht zijn op communityservers. Iedereen moet met de repository Dot Server Deploy een server met een of meer van deze spellen kunnen starten.
  4. 4 Jouw server, jouw regels. De eigenaar van een server kan de instellingen van het spel en van elke gebruikte addon wijzigen en de server en het spel daarna op het platform vermelden.
  5. 5 Overal vandaan meedoen. Spelers komen op een vermelde server via de webbrowser, de desktopapp of een telefoon, en iedereen speelt op dezelfde servers.
  6. 6 Eén server, veel spellen. Een server draait meerdere spellen en wisselt ertussen terwijl spelers verbonden blijven, zoals communityservers van Garry's Mod en Counter-Strike van kaart wisselen.
  7. 7 Content komt vanzelf. Als het spel of de kaart verandert, downloaden spelers wat ze nodig hebben van de CDN van het platform.
  8. 8 Gratis en open source. Elk spel, kaartpakket en addon is open source op GitHub. De meeste spellen zijn niet af en zijn gemaakt met Claude Code, wat de maker openlijk zegt.

Hoe dit aansluit op de doelen van het platform

Waar een doel van de spellen overeenkomt met een van de doelen hierboven, en waar niet.

  • Laten zien wat het platform kan, en het waard zijn om te spelen. Komt overeen met "Een reden om te komen". De spellen zijn die reden: overgebrachte klassiekers zoals surf en bunny hop, Prop Hunt en DeathRun.
  • Communityservers, elk met eigen regels. Komt overeen met "Communityservers die makkelijk te starten zijn" en "Open, zodat iedereen het kan draaien". Hetzelfde doel, gezien vanuit de spellen.
  • Meedoen vanuit de browser, de desktopapp of een telefoon. Komt overeen met "Bereikbaar via een link" voor browser en desktop. Bij telefoons wijkt het af: het platform noemt ze een doel en er is niets gebouwd.
  • Gratis en open source. Komt overeen met "Open, zodat iedereen het kan draaien". De licentie geldt voor de addons en de spellen; de sitebackend en de desktopapp hebben een eigen licentie.

Twee van de doelen hebben geen tegenhanger bij het platform: één server die meerdere spellen draait, en content die vanzelf binnenkomt. Ze beschrijven de spellen, niet de doelen van het platform.

De spellen staan in de GitHub-organisatie zees-games. De meeste zijn niet af.

MIT-licentie, open source

Lees het. Fork het. Lever het uit.

De Dot-addons en de spellen op deze pagina hebben elk een MIT-LICENSE-bestand in hun eigen repository. Je mag ze in een commercieel spel gebruiken, wijzigen en doorgeven. Behoud de copyrightvermelding, meer niet.

Lees hoe het werkt

Elke addon is een kleine repository met eigen documentatie en testsuite.

Fork wat je nodig hebt

Neem een addon of alle. Alleen dot-core is een harde afhankelijkheid.

Draai je eigen server

Start een dedicated server met dot-server-deploy met een enkel commando en kies of hij met onze backend of de jouwe praat.

De licentie geldt voor de Dot-addons en de repositories van Zee's Games. De sitebackend en de desktopapp zijn aparte projecten met eigen licenties.

Code lezen op GitHub

Probeer het, of lees eerst de code

Open het speelcentrum om mee te doen aan een spel, blader door live servers, of lees de documentatie en kloon een addon.