Skip to content

Latest commit

 

History

History
97 lines (71 loc) · 4.53 KB

File metadata and controls

97 lines (71 loc) · 4.53 KB

Документация по сетевым пакетам DeathRoom

Общая информация

Все сетевые пакеты реализуют интерфейс IPacket и сериализуются с помощью MessagePack. Ниже приведён список всех пакетов, их назначение и структура.


1. LoginPacket

Назначение: Авторизация игрока на сервере.

Поле Тип Описание
Username string Имя пользователя
Password string Пароль (опционально)

2. PlayerMovePacket

Назначение: Передача позиции и поворота игрока.

Поле Тип Описание
Position Vector3Serializable Позиция игрока
Rotation Vector3Serializable Поворот игрока
ClientTick long Тик клиента

3. PlayerShootPacket

Назначение: Уведомление о выстреле (направление).

Поле Тип Описание
ClientTick long Тик клиента
Direction Vector3Serializable Направление выстрела

4. PlayerHitPacket

Назначение: Сообщение о попадании по другому игроку.

Поле Тип Описание
TargetId int ID цели
ClientTick long Тик клиента
Direction Vector3Serializable Направление выстрела

5. WorldStatePacket

Назначение: Передача состояния мира (всех игроков) от сервера клиентам.

Поле Тип Описание
PlayerStates List Список состояний игроков
ServerTick long Тик сервера

PlayerState (DTO)

Поле Тип Описание
Id int ID игрока
Username string Имя игрока
Position Vector3Serializable Позиция
Rotation Vector3Serializable Поворот
HealthPoint int Текущее здоровье
MaxHealthPoint int Максимальное здоровье
ArmorPoint int Текущая броня
MaxArmorPoint int Максимальная броня
ArmorExpirationTick long Тик истечения брони

6. PickUpHealthPacket

Назначение: Сообщение о подборе аптечки.

Поле Тип Описание
ClientTick long Тик клиента
HealthAmount int Количество восстанавливаемого HP

7. PickUpArmorPacket

Назначение: Сообщение о подборе брони.

Поле Тип Описание
ClientTick long Тик клиента
ArmorAmount int Количество добавляемой брони

Примечания

  • Все пакеты сериализуются через MessagePack.
  • Для расширения функционала (например, новые типы предметов) создавайте новые пакеты по аналогии.
  • Все поля должны быть согласованы между клиентом и сервером.