Skip to content

Educational project demonstrating a clean Master–Client Authority architecture using ENet and MessagePack. Includes a C# CLI server, client libraries, and a Unity visualization. Focused on clarity, determinism, and real-time networking fundamentals.

Notifications You must be signed in to change notification settings

intfloatbool/mm-cs-multiplayer-unity

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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 (как визуальный клиент)

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


⚠️ Важно

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


About

Educational project demonstrating a clean Master–Client Authority architecture using ENet and MessagePack. Includes a C# CLI server, client libraries, and a Unity visualization. Focused on clarity, determinism, and real-time networking fundamentals.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages