38 lines
1.4 KiB
Markdown
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`.
|