65 lines
3.5 KiB
Markdown
65 lines
3.5 KiB
Markdown
# Central Hub — опциональный координационный сервер
|
||
|
||
## Мотивация
|
||
|
||
VNOX спроектирован как self-hosted платформа: каждый сам поднимает свой нод.
|
||
Но для adoption нужна точка входа для тех, у кого нет своего сервера, и механизм
|
||
обнаружения публичных нодов.
|
||
|
||
Central Hub — опциональный сервер, который **не заменяет** собственный нод
|
||
и **не хостит** голос/чат. Он только координирует.
|
||
|
||
## Что делает Central Hub
|
||
|
||
### 1. Discovery / Registry — реестр публичных нодов
|
||
|
||
Владельцы нодов могут опубликовать свой сервер в реестре:
|
||
- адрес, название, описание, регион
|
||
- теги (`gaming`, `dev`, `ru`, `cs2`, ...)
|
||
- мета: онлайне, кол-во пользователей
|
||
|
||
Клиент может найти сервер по тегам/названию и подключиться.
|
||
Без Central Hub — только прямой ввод адреса или закладки.
|
||
|
||
### 2. Global identity bridge — аккаунт без своего нода
|
||
|
||
Пользователь регистрирует ключ на Central Hub:
|
||
- `user@hub` — глобальный идентификатор
|
||
- никнейм, аватар (опционально)
|
||
- привязка к одному или нескольким "гостевым" нодам
|
||
|
||
Позволяет зайти в VNOX без поднятия собственной инфраструктуры.
|
||
При этом Central Hub не хранит сообщения, не релеит голос, не управляет каналами.
|
||
|
||
### 3. Push notification relay — поддержка мобильных
|
||
|
||
Мобильные клиенты не могут держать постоянное TCP/UDP соединение.
|
||
Central Hub принимает пуш-уведомления от нодов:
|
||
- входящее DM
|
||
- упоминание в чате
|
||
- звонок в войс
|
||
|
||
Без этого мобильный клиент будет получать сообщения только с задержками.
|
||
|
||
### 4. User directory / friend graph — глобальная социальная сеть
|
||
|
||
Список друзей и поиск пользователей не привязан к одному ноду:
|
||
- `@user` ищется по Central Hub
|
||
- запрос в друзья через хаб, а не через конкретный сервер
|
||
- cross-node DM: хаб знает, на каком ноде сейчас пользователь
|
||
|
||
## Границы (чего Central Hub НЕ делает)
|
||
|
||
- ❌ Не хостит голосовые каналы
|
||
- ❌ Не хостит текстовые каналы
|
||
- ❌ Не хранит историю сообщений
|
||
- ❌ Не управляет сессиями — только направляет
|
||
- ❌ Не заменяет self-hosted нод — только дополняет
|
||
|
||
Hub — это телефонная книга и коммутатор, а не сам телефон.
|
||
|
||
## Деплой
|
||
|
||
Central Hub — отдельный бинарник (например, `vnox-hub`).
|
||
Работает на HTTP(S) / WebSocket, минимальные требования.
|
||
Может быть поднят кем угодно, не обязательно авторами VNOX.
|