Files
ZMMO/README.md
2026-05-07 20:17:53 -03:00

38 lines
1.4 KiB
Markdown

# ZMMO — Cliente Unreal Zeus MMO
Cliente Unreal Engine 5.7 do projecto Zeus. Implementa o pipeline
"cliente solto + servidor valida input/velocidade" definido em ADR 0038
(landscape autoritativo no cliente; servidor reservado para colisao de
objectos).
## Arquitectura
- `Source/ZMMO/Game/Entity/``IZMMOEntityInterface`, `AZMMOEntity`,
`AZMMOPlayerCharacter` (local, CMC livre), `AZMMOPlayerProxy` (remoto,
snapshot-only).
- `Source/ZMMO/Game/Controller/``AZMMOPlayerController` com Enhanced
Input + virtual joystick opcional.
- `Source/ZMMO/Game/Modes/``AZMMOGameMode` e `UZMMOGameInstance`
(auto-connect ao servidor Zeus em `Init`).
- `Source/ZMMO/Game/Network/``UZMMOWorldSubsystem` (registry
`EntityId -> AActor*`, dispatch dos delegates do `UZeusNetworkSubsystem`).
## Dependencias
- Unreal Engine 5.7
- Plugin `ZeusNetwork` (do projecto servidor, em `Server/Plugins/Unreal/`)
- Plugin `ZeusMapTools` (editor-only, opcional)
## Smoke test
1. Servidor Zeus a correr em `127.0.0.1:27777`.
2. Abrir `ZMMO.uproject`, aguardar build do modulo `ZMMO`.
3. PIE: confirmar `[Zeus] Connected to server 127.0.0.1:27777` no Output Log
e o spawn do pawn local com `EntityId` autoritativo.
## Configuracao
- `bAutoConnectOnStart` (default `true`) em `UZMMOGameInstance`. Desligar
quando existir UI de login.
- `Config/DefaultEngine.ini` aponta `GlobalDefaultGameMode=/Script/ZMMO.ZMMOGameMode`.