Об этом проекте
Bevy Replicon — это крейт серверной репликации, разработанный для игрового движка Bevy. Его цель — упростить реализацию многопользовательской сетевой игры за счёт предоставления надёжного и высокооптимизированного фреймворка.
### Ключевые возможности
- **Автоматическая репликация мира**: обеспечивает синхронизацию игровых миров между сервером и клиентами.
- **Удалённые события и триггеры**: позволяют выполнять действия по сети.
- **Поддержка авторизации**: предоставляет встроенные хуки для проверки действий клиентов.
- **Управление видимостью для клиентов**: тонкий контроль над тем, какие сущности и компоненты видимы каким клиентам.
- **Правила синхронизации на основе ECS**: использует связи Entity Component System (ECS) Bevy для определения правил репликации.
- **Настраиваемая сериализация**: поддерживает пользовательскую логику сериализации даже для сложных типов, таких как `Box<dyn Reflect>`, которые не реализуют стандартные трейты `serde`.
- **Абстрагированная игровая логика**: позволяет одной и той же кодовой базе работать в режиме одиночной игры, клиента, выделенного сервера или listen-сервера.
- **Отсутствие встроенного ввода-вывода**: не привязан к конкретным сетевым транспортным протоколам, что позволяет интегрироваться с различными бэкендами обмена сообщениями.
- **Оптимизированность и надёжность**: сильно оптимизирован по производительности, имеет высокое покрытие тестами и поддержку окружений `no_std`.
### Экосистема и интеграции
Replicon интегрируется с несколькими бэкендами обмена сообщениями, включая:
- `bevy_replicon_renet` и `bevy_replicon_renet2` (для Bevy Renet)
- `bevy_replicon_quinnet` (для Bevy Quinnet)
- `aeronet_replicon` (для Aeronet)
- `bevy_replicon_matchbox` (для Matchbox)
Кроме того, экосистема поддерживает клиентское предсказание, интерполяцию и откат через такие библиотеки, как `bevy_rewind` и `bevy_timewarp`.
### Совместимость
Крейт поддерживает строгую совместимость семантического версионирования с различными версиями движка Bevy, от Bevy 0.10 до 0.19.
### Лицензия
Выпускается под лицензией Apache License 2.0 или MIT License.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.