Skip to content

Latest commit

 

History

History
66 lines (48 loc) · 2.25 KB

File metadata and controls

66 lines (48 loc) · 2.25 KB

Master–Client Authority: сетевой клиент и сервер (ENet + MsgPack)

  • CLI-сервер на C#
  • сетевой клиент
  • Unity-клиент
  • базовый протокол обмена сообщениями
  • архитектура Master–Client Authority

🎯 Цель проекта

Показать понятную и честную реализацию сетевого взаимодействия:

  • без магии
  • без готовых high-level фреймворков
  • без скрытых потоков и “оно само работает”

🧠 Ключевые концепции

  • Master–Client Authority
  • сетевой цикл и частота обработки
  • работа ENet из managed-кода (C#)
  • бинарная сериализация через MessagePack
  • Message Envelope (заголовок + тело сообщения)
  • разделение сетевого и игрового потоков
  • очереди сообщений и защита от переполнения
  • интерполяция состояния на клиенте
  • детерминированность и предсказуемость логики

📦 Состав репозитория

/MMShared        — Общая библиотека с протоколом и зависимостями (R3, ENet, MsgPack)
/MMServer        — Библиотека с логикой сервера
/MMServerCLI     — CLI для запуска сервера (C#, ENet)
/MMClient        — Библиотека с логикой клиента
/MMGame   — Unity проект с визуализацией

🛠 Используемые технологии

  • C#
  • R3
  • ENet
  • MessagePack
  • Unity (как визуальный клиент)

Это не готовый игровой сервер, а чистая архитектурная база.


⚠️ Важно

Этот репозиторий — учебный материал. Код не оптимизировался под продакшн, а под читаемость и понимание.