Identica
Архитектура

Модули

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

Identica представляет каждый способ входа как провайдер, а не как режим ядра. Изменение относится к самому узкому модулю, который отвечает за это поведение, и сначала расширяет провайдер или контракт, а не добавляет особый случай в общий код.

Карта модулей

МодульОтвечает за
identica-apiпубличный API: контракты, события, модели и точки расширения. Его контракты хранения данных не зависят от технологий; библиотек баз данных в нём нет.
identica-commonобщее поведение: конфигурацию и её значения по умолчанию, координацию провайдеров, маршрутизацию, обновление конфигурации, репликацию, ники и их конфликты, жизненный цикл функций
identica-engineконвейеры, которые проходит игрок: подготовку подключения, сценарии и завершение; см. Структура конвейеров
identica-adapter-commandкоманды на основе Cloud и Commandant
identica-adapter-databaseбазу данных: database-api с публикуемыми контрактами, database-common с подключением, схемой ядра и её хранением данных и database, который подключает их к Identica
identica-adapter-replicationрепликацию через Redis
identica-platformпрокси: type/platform-velocity и type/platform-bungeecord с их загрузчиками, слушателями и адаптерами; common с тем, что предоставляет каждая платформа; bundle, который упаковывает обе в один jar-файл
identica-providerофициальные провайдеры Credential и Premium
identica-featureвстроенные функции: верификацию, распознавание, Sentinel, ограничения и ограничение входа; см. Функции
identica-integrationвнешние интеграции, например статистику использования и отчёты об ошибках
examplesпример аддона и пример провайдера, которые разбираются на страницах для разработчиков
identica-testingживые прохождения игроков на настоящем прокси; см. Живые тесты
build-logicобщие соглашения Gradle

С чего начать

  • Контракт, событие или точка расширения: identica-api.
  • Правило, которое действует для всех провайдеров: identica-common.
  • Что и в каком порядке происходит, пока игрок входит: identica-engine.
  • То, что делает только один провайдер: модуль этого провайдера.
  • Необязательное поведение, которое включает администратор: модуль функции.
  • То, что делает только один прокси: его модуль в identica-platform/type.
  • Таблицы владельца и их обновление: его DatabaseSchema; см. Схемы базы данных.

Библиотеки

Там, где у Identica есть собственные библиотеки, она использует их: Attache загружает зависимости во время работы, Dialectica и Strata объявляют и обновляют таблицы базы данных и конфигурацию, Keystone выводит сообщения через Adventure, Configura читает и записывает файлы конфигурации, а Commandant настраивает команды. Изменения в этих областях проходят через них.

Полные правила работы — границы модулей, зависимости, пул-реквесты и примечания к релизам — собраны в файле AGENTS.md в репозитории.

На этой странице