Игровая платформа 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 посередине, сайт снизу

Три слоя. Выберите один, чтобы увидеть, что он делает и что вам по-прежнему писать самому.

Аддоны Dot

Более 60 аддонов, которые берутся по одному. Обязательная зависимость только dot-core. Остальные обнаруживаются во время работы, поэтому игра несёт с собой то, что использует, и ничего лишнего.

  • Учётные записи, аватары и вход.
  • Каркас выделенного сервера с инструментами запросов, развёртывания и безопасности.
  • Группы, подбор матчей, друзья, текстовый и голосовой чат.
  • Модерация, повторы, таблицы лидеров и достижения.

Выберите слой, чтобы прочитать о нём.

Чем она отличается

Что здесь иначе

Всё это сегодня есть в коде. Если что-то проверено лишь частично, карточка так и говорит.

Один клиент, браузер или компьютер

dot-server-deploy экспортирует один и тот же клиент для браузера, Linux, Windows и macOS. Сервер слушает по WebSocket для браузеров и по ENet для настольных клиентов в одном матче. Экспорт для браузера проверен только в безголовом Chromium, а настольная версия ещё не выпущена.

Игры приходят подписанными пакетами

Игра это пакет контента, подписанный RSA и проверяемый dot-cloud перед подключением. Клиент один для всех игр, поэтому новая игра не требует загрузки нового клиента.

Серверы никогда не знают, кто вы

Игровой сервер получает ключ, производный для этого сервера, а не идентификатор вашей учётной записи. Два владельца серверов не могут сопоставить журналы, чтобы проследить игрока по платформе. dot-user и сайт используют одно и то же вычисление.

Один аватар, все игры

Аватар это небольшой документ, который сервер может проверить, он хранится на сайте. Он следует за вами на игровой сервер по открытому документированному протоколу, поэтому внешность не создаётся заново для каждой игры.

Участники могут опубликовать игру

Любой вошедший участник может создать игру или мини-игру со страницей, категориями, правами и стадией разработки от «В разработке» до «Опубликовано». И сайт, и владелец игры могут потребовать проверку, прежде чем версия дойдёт до игроков.

В списке, с цифрами в реальном времени

dot-server-query отвечает на A2S, запрос, на котором уже говорит большинство трекеров серверов, и на собственный более богатый протокол, который работает и по WebSocket. Сервер, сообщающий о себе сайту, появляется в обозревателе серверов вместе с подключёнными игроками.

Много игр, одна платформа

Один набор аддонов и одна учётная запись обслуживают много игр и мини-игр. У каждой игры своя страница на сайте, а ваш вход, аватар и друзья переходят вместе с вами.

Любой может запустить сервер

Общественный сервер для любой игры Dot отделяет один инструмент. Смотреть шаги.

Таблицы лидеров и статистика для каждой игры

Каждая игра сама объявляет свои таблицы лидеров: что ранжируется (время, счёт, очки или штраф), единицу измерения и область, например карту, трассу или стиль, которая становится фильтрами на странице. Статистику ведёт игровой сервер и передаёт её сайту, поэтому цифры берутся с сервера, а не от игрока. Таблицы сервера показываются на его странице, а сервер, одобренный владельцем игры, пополняет и таблицу самой игры. Статистика игроков, например число убийств или максимальная скорость, передаётся так же.
Аддоны

Берите только нужные части

Подборка из более чем 60 аддонов, каждый в своём репозитории. Фильтруйте по тому, что вы создаёте, или ищите по названию.

Показано: 36

Нажать «Играть»

От ссылки до идущей игры

Что происходит после того, как кто-то нажал «Играть» на сервере или странице игры. Пройдите по шагам.

Шаг 1 из 5

Ссылка

Кнопка «Играть» на странице сервера, игры или в игровом центре открывает окно запуска поверх текущей страницы. Если вы вошли, игра узнаёт вас по короткому коду, а не по токену, поэтому входить заново не нужно.

На сайте: игровой центр и веб-плеер.

Запустите свой сервер

Разместите игру за шесть шагов

Любой может запустить общественный сервер для любой игры Dot. Нужны терминал и Linux или Docker. Остальное сделает dot-server-deploy.

  1. 1

    Получите инструмент

    Клонируйте dot-server-deploy, средство запуска игровых серверов Dot.

    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

    Ответьте на вопросы

    Полная настройка задаёт около десяти вопросов о вашем сервере, затем записывает конфигурацию.

    ./setup.sh --full
  5. 5

    Добавьте его на сайт

    На сайте откройте страницу добавления сервера, выберите игру и укажите адрес и порты. При запуске сервер доказывает сайту, что отвечает по этому адресу (регистрация), получает собственные учётные данные и сам создаёт свою запись.

  6. 6

    Настройте

    Меняйте параметры, карты и моды в cfg/content.yml, а пакеты контента в cfg/packs.yml, затем перезапустите.

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

Правьте игру, пока она работает

dot-workbench это редактор для запущенной игры. Измените профиль, и игра применит его без перезапуска.

Панель в игре

Откройте панель прямо в запущенной игре и меняйте значения по ходу игры.

Локальная веб-страница

Страница на вашем компьютере. По умолчанию она выключена и защищена файлом токена, так что пользоваться ею можете только вы.

JSON API

То же редактирование профилей в обычном JSON, для скриптов и инструментов.
ПримерНастройка монстра во время работы игры
Тип: npcПрименено вживую
  • crawler
  • leaper
  • spitter

Leaper

Настроек: 5, отличаются от значений по умолчанию: 2

Сохраняет в: Слой выполнения сервера (в реальном времени, с репликацией)

Иллюстрация, нарисованная для этой страницы, а не снимок экрана. Названия полей и начальные значения взяты из профиля leaper в game-zombie-zone. Настоящая панель и страница могут выглядеть иначе.

Он правит профили. Сцены и код по-прежнему меняются в редакторе Godot.

Цели

К чему мы стремимся

Это цели, а не список дел. Платформа находится на ранней стадии, а дорожная карта показывает, как продвигается каждая часть.

  1. 1

    Обычный Godot, а не форк

    Игра, которой всё это не нужно, остаётся обычным проектом Godot. Мы добавляем аддоны и один открытый протокол, а вы берёте только нужные части.

  2. 2

    Открытая, чтобы любой мог её развернуть

    Аддоны распространяются по лицензии MIT, а протокол бэкенда открыт. Мы запускаем один экземпляр, и любой может запустить свой.

  3. 3

    Серверы сообщества, которые легко запустить

    Запуск выделенного сервера должен занимать одну команду, а сервер, который сообщает о себе сайту, появляется в браузере серверов.

  4. 4

    Один аккаунт для всех игр

    Ваш вход, аватар, друзья и группы переходят с вами из игры в игру, а игровой сервер видит только ключ, созданный для него.

  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 Показать, на что способна платформа. Игры демонстрируют движение, бой, транспорт, NPC, физику, таблицы лидеров, группы, подбор матчей и выделенные серверы, построенные на тех же открытых аддонах Dot, которыми может пользоваться любой проект.
  2. 2 Быть достойными игры. Демонстрация не оправдывает скучную игру, поэтому у каждой свои карты, режимы и доработка.
  3. 3 Ориентироваться на серверы сообществ. Любой должен мочь запустить сервер с одной или несколькими из этих игр через репозиторий Dot Server Deploy.
  4. 4 Ваш сервер, ваши правила. Владелец сервера может менять настройки игры и каждого используемого аддона, а затем внести сервер и игру в список платформы.
  5. 5 Заходить откуда угодно. Игроки попадают на сервер из списка через веб-браузер, настольное приложение или телефон, и все играют на одних и тех же серверах.
  6. 6 Один сервер, много игр. Сервер запускает несколько игр и переключается между ними, не отключая игроков, как серверы сообществ Garry's Mod и Counter-Strike меняют карту.
  7. 7 Контент приходит сам. Когда меняется игра или карта, игроки скачивают нужное с CDN платформы.
  8. 8 Бесплатно и с открытым кодом. Каждая игра, пакет карт и аддон открыты на GitHub. Большинство игр не закончено и сделано с помощью Claude Code, о чём автор говорит открыто.

Как это связано с целями платформы

Где цель игр совпадает с одной из целей выше, а где нет.

  • Показать, на что способна платформа, и быть достойным игры. Совпадает с целью «Причина прийти». Игры и есть эта причина: перенесённые классические режимы, такие как сёрф и банни-хоп, Prop Hunt и DeathRun.
  • Серверы сообщества, у каждого свои правила. Совпадает с «Серверы сообщества, которые легко запустить» и «Открытая, чтобы любой мог её развернуть». Та же цель, если смотреть со стороны игр.
  • Заходить из браузера, десктопного приложения или с телефона. Совпадает с «Доступно по ссылке» для браузера и компьютера. С телефонами иначе: платформа считает их целью, и ничего не построено.
  • Бесплатно и с открытым кодом. Совпадает с «Открытая, чтобы любой мог её развернуть». Лицензия охватывает аддоны и игры; бэкенд сайта и десктопное приложение имеют свои.

У двух его целей нет аналога среди целей платформы: один сервер с несколькими играми и контент, который приходит сам. Они описывают игры, а не цели платформы.

Игры лежат в организации zees-games на GitHub. Большинство из них не закончены.

Лицензия MIT, открытый код

Читайте. Форкайте. Выпускайте.

У аддонов Dot и игр на этой странице в собственных репозиториях лежит файл LICENSE с лицензией MIT. Их можно использовать в коммерческой игре, изменять и распространять. Сохраните уведомление об авторских правах, и всё.

Прочитайте, как это работает

Каждый аддон это небольшой репозиторий с собственной документацией и набором тестов.

Форкайте то, что нужно

Берите один аддон или все. Обязательная зависимость только dot-core.

Запустите собственный сервер

Запустите выделенный сервер через dot-server-deploy одной командой и выберите, будет ли он работать с нашим бэкендом или с вашим.

Лицензия охватывает аддоны Dot и репозитории Zee's Games. Бэкенд сайта и десктопное приложение это отдельные проекты со своими лицензиями.

Читать код на GitHub

Попробуйте, или сначала прочитайте код

Откройте игровой центр, чтобы присоединиться к игре, просмотрите серверы в реальном времени или прочитайте документацию и клонируйте аддон.