A plataforma de jogos TMC - The Modding Community

Licença MIT, código aberto Fase inicial

Addons Godot de código aberto para jogos multijogador

O Dot é um conjunto de addons Godot de código aberto para contas, servidores dedicados, moderação, grupos e voz. Os jogos feitos com ele iniciam por um link numa aba do navegador, e os seus servidores aparecem no nosso navegador de servidores.

  • Godot 4.7 ou mais recente
  • Joga-se num separador do navegador
  • Servidores dedicados

Fase inicial. Cada addon tem a sua própria bateria de testes e passa nela, mas poucos jogadores usaram tudo isto até agora. Conte com algumas arestas.

project.godot dot-server
O seu jogo
game-arenagame-hungariomg-prop-hunt
Os addons Dot
dot-authdot-serverdot-partydot-moderationdot-voicedot-net
The Modding Community
Centro de jogoNavegador de servidoresPacotes de conteúdoWorkshop
Como tudo se encaixa

O seu jogo em cima, o Dot no meio, o site por baixo

Três camadas. Escolha uma para ver o que faz e o que continua a ser você a escrever.

Os addons Dot

Mais de 60 addons que se tomam um a um. Só o dot-core é uma dependência obrigatória. Os restantes são descobertos em tempo de execução, por isso um jogo leva o que usa e mais nada.

  • Contas, avatares e início de sessão.
  • Uma estrutura para servidores dedicados com ferramentas de consulta, implementação e segurança.
  • Grupos, emparelhamento, amigos, chat de texto e chat de voz.
  • Moderação, repetições, classificações e conquistas.

Selecione uma camada para ler sobre ela.

O que a distingue

O que aqui é diferente

Tudo isto existe hoje no código. Quando algo só está testado em parte, o cartão di-lo.

Um cliente, navegador ou computador

O dot-server-deploy exporta o mesmo cliente para um navegador e para Linux, Windows e macOS. Um servidor escuta por WebSocket para os navegadores e por ENet para os clientes de computador na mesma partida. A exportação para navegador só foi testada em Chromium sem interface, e ainda não foi publicada nenhuma versão para computador.

Os jogos chegam em pacotes assinados

Um jogo é um pacote de conteúdo, assinado com RSA e verificado pelo dot-cloud antes de ser montado. O cliente é o mesmo para todos os jogos, por isso um jogo novo não exige um novo cliente.

Os servidores nunca sabem quem você é

Um servidor de jogo recebe uma chave derivada para esse servidor, não o seu identificador de conta. Dois donos de servidores não podem cruzar registos para seguir um jogador pela plataforma. O dot-user e o site usam a mesma derivação.

Um avatar, todos os jogos

Um avatar é um pequeno documento que um servidor pode verificar, guardado no site. Acompanha-o até um servidor de jogo através de um protocolo aberto e documentado, por isso o seu aspeto não é refeito para cada jogo.

Os membros podem publicar um jogo

Qualquer membro com sessão iniciada pode criar um jogo ou minijogo, com página, categorias, permissões e uma fase de desenvolvimento de Em desenvolvimento a Publicado. Tanto o site como o dono do jogo podem exigir revisão antes de uma versão chegar aos jogadores.

Listados, com números em direto

O dot-server-query responde ao A2S, a consulta que a maioria dos rastreadores de servidores já fala, e a um protocolo próprio mais rico que também funciona por WebSocket. Um servidor que se reporta ao site aparece no navegador de servidores com os seus jogadores ligados.

Muitos jogos, uma plataforma

Um só conjunto de addons e uma só conta servem muitos jogos e minijogos. Cada jogo tem a sua página no site, e o seu início de sessão, avatar e amigos acompanham-no.

Qualquer pessoa pode executar um servidor

Um servidor comunitário para qualquer jogo Dot está à distância de uma ferramenta. Veja os passos.

Classificações e estatísticas por jogo

Cada jogo declara as suas próprias classificações: o que é ordenado (um tempo, uma pontuação, pontos ou uma penalização), a unidade e um âmbito, como mapa, pista ou estilo, que passa a ser os filtros da página. O servidor do jogo mantém as estatísticas e envia-as ao site, por isso os números vêm do servidor e não do jogador. As classificações de um servidor aparecem na página desse servidor, e um servidor aprovado pelo proprietário do jogo alimenta também a classificação do próprio jogo. As estatísticas de jogador, como abates ou velocidade máxima, são enviadas da mesma forma.
Os addons

Leve apenas as peças de que precisa

Uma seleção dos mais de 60 addons, cada um no seu próprio repositório. Filtre pelo que está a construir ou pesquise pelo nome.

36 apresentados

Clicar em Jogar

De um link a um jogo a decorrer

O que acontece depois de alguém clicar em Jogar num servidor ou na página de um jogo. Percorra-o passo a passo.

Passo 1 de 5

Um link

Jogar na página de um servidor, na de um jogo ou no centro de jogo abre uma janela de arranque por cima da página em que está. Se tiver sessão iniciada, o jogo sabe quem é através de um código curto, não de um token, por isso não precisa de iniciar sessão outra vez.

No site: o centro de jogo e o leitor web.

Execute o seu próprio servidor

Aloje um jogo em seis passos

Qualquer pessoa pode executar um servidor comunitário para qualquer jogo Dot. Precisa de um terminal e de Linux ou Docker. O dot-server-deploy faz o resto.

  1. 1

    Obtenha a ferramenta

    Clone o dot-server-deploy, o lançador dos servidores de jogos Dot.

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

    Execute a configuração

    Execute o script de configuração uma vez. Ele prepara o servidor e a respetiva configuração.

    ./setup.sh
  3. 3

    Inicie um jogo

    Indique o jogo a iniciar. Com Docker, docker compose up -d faz o mesmo.

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

    Responda às perguntas

    A configuração completa faz cerca de dez perguntas sobre o seu servidor e depois escreve a configuração.

    ./setup.sh --full
  5. 5

    Liste-o no site

    No site, abra a página de adicionar servidor, escolha o jogo e informe o endereço e as portas. Ao iniciar, o servidor prova ao site que responde nesse endereço (inscrição), recebe a sua própria credencial e escreve a sua própria listagem.

  6. 6

    Ajuste-o

    Altere definições, mapas e mods em cfg/content.yml e pacotes de conteúdo em cfg/packs.yml, e reinicie.

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

Edite o jogo enquanto ele corre

O dot-workbench é um editor em direto para um jogo em execução. Altere um perfil e o jogo aplica-o sem reiniciar.

Painel no jogo

Abra um painel dentro do jogo em execução e ajuste valores enquanto joga.

Página web local

Uma página no seu próprio computador. Está desativada por predefinição e protegida por um ficheiro de token, pelo que só você a pode usar.

API JSON

A mesma edição de perfis em JSON simples, para scripts e ferramentas.
ExemploAjustar um monstro enquanto o jogo corre
Tipo: npcAplicado em direto
  • crawler
  • leaper
  • spitter

Leaper

5 definições, 2 diferentes do valor predefinido

Guarda em: Camada de execução do servidor (em direto, replicada)

Uma ilustração desenhada para esta página, não uma captura de ecrã. Os nomes dos campos e os valores iniciais vêm do perfil leaper de game-zombie-zone. O painel e a página reais podem ter outro aspeto.

Edita perfis. As cenas e o código continuam a ser alterados no editor do Godot.

Objetivos

Aquilo a que aspiramos

Estes são objetivos, não uma lista de tarefas. A plataforma está numa fase inicial, e o roteiro mostra o avanço de cada parte.

  1. 1

    Godot padrão, não um fork

    Um jogo que não queira nada disto continua a ser um projeto Godot normal. Acrescentamos addons e um protocolo aberto, e você usa apenas as peças de que precisa.

  2. 2

    Aberta, para que qualquer pessoa a possa executar

    Os addons têm licença MIT e o protocolo do backend é aberto. Nós mantemos uma instância e qualquer pessoa pode manter a sua.

  3. 3

    Servidores comunitários fáceis de iniciar

    Iniciar um servidor dedicado deve exigir um único comando, e um servidor que se regista no site aparece no navegador de servidores.

  4. 4

    Uma conta para todos os jogos

    O seu início de sessão, avatar, amigos e grupos acompanham-no de jogo para jogo, enquanto um servidor de jogo só vê uma chave criada para ele.

  5. 5

    Acessível por um link

    Um jogo deve arrancar a partir de um link, num separador do navegador ou no ambiente de trabalho, com os dois tipos de jogador na mesma partida. Os telemóveis são um objetivo, não algo construído.

  6. 6

    Os membros publicam os seus próprios jogos

    Qualquer membro pode pôr um jogo ou minijogo no site com a sua própria página, e tanto o site como o dono do jogo podem exigir uma revisão.

  7. 7

    Uma razão para chegar

    A plataforma está vazia por enquanto, e a Zee's Games está a mudar isso ao trazer modos de jogo de que as pessoas gostavam em jogos mais antigos: surf e bunny hop, Prop Hunt, DeathRun, Hide and Seek e Murder Mystery. A maioria ainda não está terminada.

  8. 8

    Desenvolvedores vendem e entregam o próprio conteúdo

    Os desenvolvedores poderão vender itens aos jogadores por meio deste site e publicar o próprio conteúdo e avatares na plataforma. Isso ainda não está disponível. Os jogos já chegam aos jogadores como pacotes assinados e os membros podem assinar pacotes no Workshop, mas a venda e os avatares de desenvolvedores não foram construídos.

Construído sobre ela

Projetos construídos sobre ela

O primeiro projeto da plataforma e o que mostra para que serve.

Zee's Games

MIT

Jogos e minijogos reais, com licença MIT e construídos sobre os addons Dot, feitos pela pessoa que constrói a plataforma.

Os seus objetivos, da sua própria página de objetivos

  1. 1 Mostrar o que a plataforma consegue fazer. Os jogos demonstram movimento, combate, veículos, NPC, física, classificações, grupos, emparelhamento e servidores dedicados, construídos com os mesmos addons Dot abertos que qualquer projeto pode usar.
  2. 2 Merecer ser jogado. Ser uma demonstração não desculpa um jogo aborrecido, por isso cada um tem os seus próprios mapas, modos e acabamento.
  3. 3 Apontar aos servidores da comunidade. Qualquer pessoa deve poder iniciar um servidor com um ou mais destes jogos através do repositório Dot Server Deploy.
  4. 4 O seu servidor, as suas regras. O dono de um servidor pode alterar as definições do jogo e de cada addon que usa, e depois listar o servidor e o jogo na plataforma.
  5. 5 Entrar de qualquer lado. Os jogadores entram num servidor listado pelo navegador web, pela aplicação de computador ou por um telemóvel, e todos jogam nos mesmos servidores.
  6. 6 Um servidor, muitos jogos. Um servidor corre vários jogos e alterna entre eles com os jogadores ligados, como os servidores da comunidade de Garry's Mod e Counter-Strike mudam de mapa.
  7. 7 O conteúdo chega sozinho. Quando o jogo ou o mapa muda, os jogadores transferem o que precisam da CDN da plataforma.
  8. 8 Gratuito e de código aberto. Cada jogo, pacote de mapas e addon é de código aberto no GitHub. A maioria dos jogos não está terminada e foi feita com o Claude Code, algo que o autor diz abertamente.

Como isto se liga aos objetivos da plataforma

Onde um objetivo dos jogos coincide com um dos objetivos acima e onde não coincide.

  • Mostrar o que a plataforma consegue fazer e valer a pena jogar. Corresponde a «Uma razão para chegar». Os jogos são essa razão: clássicos trazidos para a plataforma, como o surf e o bunny hop, Prop Hunt e DeathRun.
  • Servidores comunitários, cada um com as suas regras. Corresponde a «Servidores comunitários fáceis de iniciar» e «Aberta, para que qualquer pessoa a possa executar». O mesmo objetivo, visto a partir dos jogos.
  • Entrar a partir do navegador, da aplicação de ambiente de trabalho ou de um telemóvel. Corresponde a «Acessível por um link» no navegador e no ambiente de trabalho. Difere nos telemóveis: a plataforma lista-os como objetivo e nada está construído.
  • Gratuito e de código aberto. Corresponde a «Aberta, para que qualquer pessoa a possa executar». A licença cobre os addons e os jogos; o backend do site e a aplicação de ambiente de trabalho têm a sua.

Dois dos seus objetivos não têm equivalente na plataforma: um servidor a executar vários jogos e conteúdo que chega por si. Descrevem os jogos, não os objetivos da plataforma.

Os jogos estão na organização do GitHub zees-games. A maioria não está terminada.

Licença MIT, código aberto

Leia. Faça fork. Publique.

Os addons Dot e os jogos desta página têm cada um um ficheiro LICENSE MIT no seu próprio repositório. Pode usá-los num jogo comercial, modificá-los e redistribuí-los. Mantenha o aviso de direitos de autor e pronto.

Leia como funciona

Cada addon é um pequeno repositório com a sua própria documentação e bateria de testes.

Faça fork do que precisa

Leve um addon ou todos. Só o dot-core é uma dependência obrigatória.

Corra o seu próprio servidor

Inicie um servidor dedicado com o dot-server-deploy com um único comando e escolha se fala com o nosso backend ou com o seu.

A licença cobre os addons Dot e os repositórios de Zee's Games. O backend do site e a aplicação de ambiente de trabalho são projetos separados, com licenças próprias.

Ler o código no GitHub

Experimente, ou leia primeiro o código

Abra o centro de jogo para entrar numa partida, explore servidores em direto, ou leia a documentação e clone um addon.