SharedLogic. Общий игровой код для Unity-клиента и .NET-сервера, который экономит ваши силы
Я хочу поделиться практическим подходом, который позволяет переиспользовать ваш игровой код на C# из Unity на .NET-бэкенде — это даёт возможность верифицировать действия игрока, защищает от читерства и обеспечивает мгновенный отклик без лагов. Я использую такую архитектуру в продакшене уже более 10 лет, и она отлично зарекомендовала себя как надёжное и эффективное решение. В этой системе один и тот же код выполняется и на клиенте (для мгновенной обратной связи), и на сервере (для авторитетной проверки). Как это работает: • Команды игрока мгновенно выполняются на клиенте. • Та же команда вместе с хэшем состояния отправляется на сервер и повторно выполняется для верификации. • Любые попытки изменить код или память клиента будут обнаружены и отклонены сервером. • Игровая логика вынесена в .dll-плагин, который используется и в Unity-клиенте, и на .NET-бэкенде. В статье есть полноценный пример на Unity («Connect Four»), открытый исходный код и подробное описание архитектуры. Читать статью
https://habr.com/ru/articles/918220/
#SharedLogic #игровой_сервер #backendпрограммирование #server #античит #паттерны_проектирования #проектирование_по #aspnet #mongodb