La plateforme de jeux TMC - The Modding Community

Licence MIT, open source Stade précoce

Modules Godot open source pour jeux multijoueurs

Dot est un ensemble de modules Godot open source pour les comptes, les serveurs dédiés, la modération, les groupes et la voix. Les jeux qui l'utilisent se lancent dans un onglet du navigateur depuis un lien, et leurs serveurs figurent dans notre navigateur de serveurs.

  • Godot 4.7 ou plus récent
  • Se joue dans un onglet du navigateur
  • Serveurs dédiés

Stade précoce. Chaque module possède sa propre suite de tests et la réussit, mais peu de joueurs ont encore utilisé l'ensemble. Attendez-vous à des aspérités.

project.godot dot-server
Votre jeu
game-arenagame-hungariomg-prop-hunt
Les modules Dot
dot-authdot-serverdot-partydot-moderationdot-voicedot-net
The Modding Community
Centre de jeuNavigateur de serveursPacks de contenuWorkshop
Comment tout s'assemble

Votre jeu au-dessus, Dot au milieu, le site en dessous

Trois couches. Choisissez-en une pour voir ce qu'elle fait et ce qu'il vous reste à écrire.

Les modules Dot

Plus de 60 modules que l'on prend un par un. Seul dot-core est une dépendance obligatoire. Les autres sont découverts à l'exécution, si bien qu'un jeu embarque ceux qu'il utilise et rien de plus.

  • Comptes, avatars et connexion.
  • Un cadre pour serveurs dédiés, avec des outils de requête, de déploiement et de sécurité.
  • Groupes, matchmaking, amis, chat textuel et chat vocal.
  • Modération, replays, classements et succès.

Sélectionnez une couche pour en savoir plus.

Ce qui la distingue

Ce qui est différent ici

Tout ceci existe aujourd'hui dans le code. Quand quelque chose n'est que partiellement testé, la carte le dit.

Un seul client, navigateur ou bureau

dot-server-deploy exporte le même client pour un navigateur et pour Linux, Windows et macOS. Un serveur écoute en WebSocket pour les navigateurs et en ENet pour les clients de bureau dans la même partie. L'export navigateur n'a été testé que dans Chromium sans interface, et aucune version de bureau n'est encore publiée.

Les jeux arrivent en packs signés

Un jeu est un pack de contenu, signé en RSA et vérifié par dot-cloud avant d'être monté. Le client est le même pour tous les jeux, donc un nouveau jeu n'impose pas de télécharger un nouveau client.

Les serveurs ne savent jamais qui vous êtes

Un serveur de jeu reçoit une clé dérivée pour ce serveur, pas votre identifiant de compte. Deux propriétaires de serveurs ne peuvent pas comparer leurs journaux pour suivre un joueur à travers la plateforme. dot-user et le site utilisent la même dérivation.

Un avatar, tous les jeux

Un avatar est un petit document qu'un serveur peut vérifier, stocké sur le site. Il vous suit sur un serveur de jeu via un protocole ouvert et documenté, de sorte que votre apparence n'est pas refaite pour chaque jeu.

Les membres peuvent publier un jeu

Tout membre connecté peut créer un jeu ou un mini-jeu, avec une page, des catégories, des permissions et une étape de développement allant de En développement à Publié. Le site comme le propriétaire du jeu peuvent exiger une revue avant qu'une version n'atteigne les joueurs.

Référencés, avec des chiffres en direct

dot-server-query répond à A2S, la requête que parlent déjà la plupart des outils de suivi de serveurs, ainsi qu'à un protocole propre plus riche qui fonctionne aussi en WebSocket. Un serveur qui se signale au site apparaît dans le navigateur de serveurs avec ses joueurs connectés.

Plusieurs jeux, une plateforme

Un seul ensemble de modules et un seul compte servent de nombreux jeux et mini-jeux. Chaque jeu a sa propre page sur le site, et votre connexion, votre avatar et vos amis vous suivent.

N'importe qui peut lancer un serveur

Un serveur communautaire pour n'importe quel jeu Dot est à un outil de distance. Voir les étapes.

Classements et statistiques par jeu

Chaque jeu déclare ses propres classements : ce qui est classé (un temps, un score, des points ou une pénalité), son unité, et un périmètre comme la carte, la piste ou le style, qui devient les filtres de la page. Le serveur du jeu tient les statistiques et les envoie au site, si bien que les chiffres viennent du serveur et non du joueur. Les classements d'un serveur apparaissent sur sa page, et un serveur approuvé par le propriétaire du jeu alimente aussi le classement du jeu lui-même. Les statistiques de joueur, comme les éliminations ou la vitesse maximale, sont envoyées de la même façon.
Les modules

Prenez seulement les pièces dont vous avez besoin

Une sélection parmi les plus de 60 modules, chacun dans son propre dépôt. Filtrez selon ce que vous construisez ou cherchez par nom.

36 affichés

Cliquer sur Jouer

D'un lien à une partie en cours

Ce qui se passe après qu'une personne clique sur Jouer sur un serveur ou sur la page d'un jeu. Parcourez-le étape par étape.

Étape 1 sur 5

Un lien

Jouer sur la page d'un serveur, sur celle d'un jeu ou dans le centre de jeu ouvre une fenêtre de lancement au-dessus de la page où vous êtes. Si vous êtes connecté, le jeu sait qui vous êtes grâce à un code court, pas à un jeton, donc vous n'avez pas à vous reconnecter.

Sur le site : le centre de jeu et le lecteur web.

Lancez votre propre serveur

Hébergez un jeu en six étapes

N'importe qui peut lancer un serveur communautaire pour n'importe quel jeu Dot. Il vous faut un terminal et Linux ou Docker. dot-server-deploy fait le reste.

  1. 1

    Récupérez l'outil

    Clonez dot-server-deploy, le lanceur des serveurs de jeux Dot.

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

    Lancez l'installation

    Exécutez une fois le script d'installation. Il prépare le serveur et sa configuration.

    ./setup.sh
  3. 3

    Démarrez un jeu

    Indiquez le jeu à démarrer. Avec Docker, docker compose up -d fait la même chose.

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

    Répondez aux questions

    L'installation complète pose une dizaine de questions sur votre serveur, puis écrit la configuration.

    ./setup.sh --full
  5. 5

    Référencez-le sur le site

    Sur le site, ouvrez la page d'ajout de serveur, choisissez le jeu et saisissez l'adresse et les ports. Au démarrage, le serveur prouve au site qu'il répond à cette adresse (enrôlement), reçoit son propre identifiant et écrit sa propre fiche.

  6. 6

    Ajustez-le

    Modifiez les réglages, cartes et mods dans cfg/content.yml et les packs de contenu dans cfg/packs.yml, puis redémarrez.

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

Modifiez le jeu pendant qu'il tourne

dot-workbench est un éditeur en direct pour un jeu en cours d'exécution. Modifiez un profil et le jeu le prend en compte sans redémarrage.

Panneau en jeu

Ouvrez un panneau dans le jeu en cours et ajustez les valeurs pendant que vous jouez.

Page web locale

Une page sur votre propre machine. Elle est désactivée par défaut et protégée par un fichier de jeton, si bien que vous seul pouvez l'utiliser.

API JSON

La même édition de profils en JSON brut, pour les scripts et les outils.
ExempleRégler un monstre pendant que le jeu tourne
Type : npcAppliqué en direct
  • crawler
  • leaper
  • spitter

Leaper

5 réglages, 2 différents de la valeur par défaut

Enregistre dans : Couche d'exécution du serveur (en direct, répliquée)

Une illustration dessinée pour cette page, et non une capture d'écran. Les noms de champs et les valeurs de départ viennent du profil leaper de game-zombie-zone. Le vrai panneau et la vraie page peuvent avoir un autre aspect.

Il modifie des profils. Les scènes et le code se changent toujours dans l'éditeur Godot.

Objectifs

Ce que nous visons

Ce sont des objectifs, pas une liste de tâches. La plateforme en est à un stade précoce, et la feuille de route montre l'avancement de chaque partie.

  1. 1

    Godot standard, pas un fork

    Un jeu qui ne veut rien de tout cela reste un projet Godot ordinaire. Nous ajoutons des modules et un protocole ouvert, et vous ne prenez que les éléments dont vous avez besoin.

  2. 2

    Ouverte, pour que chacun puisse l'héberger

    Les modules sont sous licence MIT et le protocole du backend est ouvert. Nous exploitons une instance, et chacun peut exploiter la sienne.

  3. 3

    Des serveurs communautaires faciles à lancer

    Lancer un serveur dédié devrait demander une seule commande, et un serveur qui se signale au site apparaît dans le navigateur de serveurs.

  4. 4

    Un compte pour tous les jeux

    Votre connexion, votre avatar, vos amis et vos groupes vous suivent d'un jeu à l'autre, tandis qu'un serveur de jeu ne voit qu'une clé créée pour lui.

  5. 5

    Accessible depuis un lien

    Un jeu devrait se lancer depuis un lien, dans un onglet du navigateur ou sur le bureau, avec les deux types de joueurs dans la même partie. Les téléphones sont un objectif, pas quelque chose de construit.

  6. 6

    Les membres publient leurs propres jeux

    Tout membre peut publier un jeu ou un mini-jeu sur le site avec sa propre page, et le site comme le propriétaire du jeu peuvent exiger une relecture.

  7. 7

    Une raison de venir

    La plateforme est vide pour l'instant, et Zee's Games y remédie en apportant des modes de jeu que les gens aimaient sur des jeux plus anciens : le surf et le bunny hop, Prop Hunt, DeathRun, Hide and Seek et Murder Mystery. La plupart ne sont pas terminés.

  8. 8

    Les développeurs vendent et publient leur propre contenu

    Les développeurs pourront vendre des articles aux joueurs via ce site et publier leur propre contenu et leurs propres avatars sur la plateforme. Ce n'est pas encore disponible. Les jeux parviennent déjà aux joueurs sous forme de paquets signés et les membres peuvent s'abonner à des paquets dans le Workshop, mais la vente et les avatars des développeurs ne sont pas construits.

Construit dessus

Des projets construits dessus

Le premier projet de la plateforme, et celui qui montre à quoi elle sert.

Zee's Games

MIT

De vrais jeux et mini-jeux, sous licence MIT et construits sur les modules Dot, réalisés par la personne qui construit la plateforme.

Ses objectifs, tirés de sa propre page d'objectifs

  1. 1 Montrer ce que la plateforme sait faire. Les jeux démontrent le déplacement, le combat, les véhicules, les PNJ, la physique, les classements, les groupes, le matchmaking et les serveurs dédiés, avec les mêmes modules Dot ouverts que n'importe quel projet peut utiliser.
  2. 2 Mériter d'être joués. Être une démo n'excuse pas un jeu ennuyeux : chacun a donc ses propres cartes, modes et finitions.
  3. 3 Viser les serveurs communautaires. Chacun devrait pouvoir lancer un serveur avec un ou plusieurs de ces jeux grâce au dépôt Dot Server Deploy.
  4. 4 Votre serveur, vos règles. Le propriétaire d'un serveur peut modifier la configuration du jeu et de chaque module utilisé, puis référencer le serveur et le jeu sur la plateforme.
  5. 5 Rejoindre de partout. Les joueurs entrent sur un serveur référencé depuis le navigateur web, l'application de bureau ou un téléphone, et tous jouent sur les mêmes serveurs.
  6. 6 Un serveur, plusieurs jeux. Un serveur exécute plusieurs jeux et passe de l'un à l'autre sans déconnecter les joueurs, comme les serveurs communautaires de Garry's Mod et de Counter-Strike changent de carte.
  7. 7 Le contenu arrive tout seul. Quand le jeu ou la carte change, les joueurs téléchargent ce qu'il leur faut depuis le CDN de la plateforme.
  8. 8 Gratuit et open source. Chaque jeu, pack de cartes et module est open source sur GitHub. La plupart des jeux ne sont pas terminés et ont été réalisés avec Claude Code, ce que l'auteur dit ouvertement.

Lien avec les objectifs de la plateforme

Où un objectif des jeux rejoint l'un des objectifs ci-dessus, et où il ne le rejoint pas.

  • Montrer ce que la plateforme sait faire, et valoir la peine d'être joué. Correspond à « Une raison de venir ». Les jeux sont cette raison : des classiques portés, comme le surf et le bunny hop, Prop Hunt et DeathRun.
  • Des serveurs communautaires, chacun avec ses propres règles. Correspond à « Des serveurs communautaires faciles à lancer » et « Ouverte, pour que chacun puisse l'héberger ». Même objectif, vu depuis les jeux.
  • Rejoindre depuis le navigateur, l'application de bureau ou un téléphone. Correspond à « Accessible depuis un lien » pour le navigateur et le bureau. Cela diffère pour les téléphones : la plateforme en fait un objectif et rien n'est construit.
  • Gratuit et open source. Correspond à « Ouverte, pour que chacun puisse l'héberger ». La licence couvre les modules et les jeux ; le backend du site et l'application de bureau ont la leur.

Deux de ses objectifs n'ont pas d'équivalent côté plateforme : un serveur qui fait tourner plusieurs jeux, et un contenu qui arrive tout seul. Ils décrivent les jeux, pas les objectifs de la plateforme.

Les jeux se trouvent dans l'organisation GitHub zees-games. La plupart ne sont pas terminés.

Licence MIT, open source

Lisez-le. Forkez-le. Livrez-le.

Les modules Dot et les jeux de cette page ont chacun un fichier LICENSE MIT dans leur propre dépôt. Vous pouvez les utiliser dans un jeu commercial, les modifier et les redistribuer. Conservez la mention de copyright, c'est tout.

Lisez comment ça marche

Chaque module est un petit dépôt avec sa propre documentation et sa suite de tests.

Forkez ce dont vous avez besoin

Prenez un module ou tous. Seul dot-core est une dépendance obligatoire.

Faites tourner votre propre serveur

Lancez un serveur dédié avec dot-server-deploy en une seule commande et choisissez s'il parle à notre backend ou au vôtre.

La licence couvre les modules Dot et les dépôts de Zee's Games. Le backend du site et l'application de bureau sont des projets distincts, avec leurs propres licences.

Lire le code sur GitHub

Essayez-le, ou lisez d'abord le code

Ouvrez le centre de jeu pour rejoindre une partie, parcourez les serveurs en direct, ou lisez la documentation et clonez un module.