Mateus Rodrigues 3d4d0de40b feat: ZMMO client base (Game/Entity|Controller|Modes|Network)
Estrutura inicial do cliente Unreal Zeus MMO alinhada ao padrao
"cliente solto + servidor valida input/velocidade" (ADR 0038):

- Source/ZMMO/Game/Entity/ — IZMMOEntityInterface, AZMMOEntity (base
  AActor para Mob/NPC/Object), AZMMOPlayerCharacter (player local com
  CMC livre, Enhanced Input, envio de C_INPUT_AXIS), AZMMOPlayerProxy
  (snapshot-only para players remotos).
- Source/ZMMO/Game/Controller/ — AZMMOPlayerController com IMC defaults
  (IMC_Default + IMC_MouseLook) e suporte opcional a virtual joystick.
- Source/ZMMO/Game/Modes/ — AZMMOGameMode (defaults para PlayerCharacter
  / PlayerController), UZMMOGameInstance (auto-connect ao servidor Zeus
  em Init e logging dos eventos OnConnected/OnDisconnected/...).
- Source/ZMMO/Game/Network/ — UZMMOWorldSubsystem (registry
  EntityId -> AActor*, dispatch dos delegates OnPlayerSpawned/Despawned/
  StateUpdate; ignora snapshots locais do cliente solto).
- Config/DefaultEngine.ini — GlobalDefaultGameMode aponta para
  /Script/ZMMO.ZMMOGameMode; GameInstanceClass para
  /Script/ZMMO.ZMMOGameInstance; redirects para a nova hierarquia.
- ZMMO.Build.cs — depende de ZeusNetwork; PublicIncludePaths para a
  nova arvore Game/Entity|Controller|Modes|Network.
- Content — assets do template ThirdPerson (Mannequins, IAs/IMCs,
  Lvl_ThirdPerson + TestWorld). Os Variant_* levels ficam no commit
  inicial mas serao limpos numa proxima sessao com aprovacao explicita
  (Master Rule para .umap/.uasset).

Notas:
- BP_ThirdPersonCharacter/GameMode/PlayerController ainda apontam para
  a hierarquia antiga e estao a aguardar aprovacao para remocao
  (Master Rule).
- README.md descreve a arquitectura e o smoke test de conexao.
2026-05-07 20:21:21 -03:00
2026-05-07 20:17:53 -03:00

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.
Description
No description provided
Readme 80 MiB
Languages
C++ 93.1%
C 5.2%
C# 1%
Python 0.5%
PowerShell 0.2%