130833895317545003ca5fb6852253c546661169
ZeusGameMode.cpp: - DefaultPawnClass: usa FClassFinder pra /Game/ZMMO/Core/Player/BP_ZeusPlayerCharacter (fallback AZeusCharacter). Sem isso, engine instancia C++ direto e perde toda customizacao BP (EnhancedInputAction events, AnimBP wire, componentes BP-added). - PlayerStateClass: usa FClassFinder pra /Game/ZMMO/Core/Player/BP_PlayerState (fallback AZeusPlayerState). Mesmo motivo -- BP filho tem componentes (ex: UZeusGASComponent via ComponentClasses no DefaultGame.ini) e overrides do designer que classes C++ puras nao tem. - TODO: renomear BP_PlayerState -> BP_ZeusPlayerState (alinhar com convencao BP_ZeusPlayerCharacter); path do FClassFinder ja preparado pra renomear. ZeusCharacter.cpp/h cleanup: - Removida gambiarra anterior (PossessedBy + OnRep_PlayerState overrides + RefreshGASAvatar com FTimerHandle retry). Substituida pelo pattern event-driven em UZeusGASComponent::HandlePawnSet (commit server anterior). - Includes desnecessarios (AbilitySystemComponent.h + ZeusAbilitySystemComponent.h) removidos. ZMMO.uproject: - GameplayAbilities adicionado em Plugins (UE 5.7 exige que modulo do jogo declare explicitamente plugins que ele consome -- antes vinha transitivamente do plugin ZeusGAS, gerava warning de build). Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
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/—AZMMOPlayerControllercom Enhanced Input + virtual joystick opcional.Source/ZMMO/Game/Modes/—AZMMOGameModeeUZMMOGameInstance(auto-connect ao servidor Zeus emInit).Source/ZMMO/Game/Network/—UZMMOWorldSubsystem(registryEntityId -> AActor*, dispatch dos delegates doUZeusNetworkSubsystem).
Dependencias
- Unreal Engine 5.7
- Plugin
ZeusNetwork(do projecto servidor, emServer/Plugins/Unreal/) - Plugin
ZeusMapTools(editor-only, opcional)
Smoke test
- Servidor Zeus a correr em
127.0.0.1:27777. - Abrir
ZMMO.uproject, aguardar build do moduloZMMO. - PIE: confirmar
[Zeus] Connected to server 127.0.0.1:27777no Output Log e o spawn do pawn local comEntityIdautoritativo.
Configuracao
bAutoConnectOnStart(defaulttrue) emUZMMOGameInstance. Desligar quando existir UI de login.Config/DefaultEngine.iniapontaGlobalDefaultGameMode=/Script/ZMMO.ZMMOGameMode.
Description
Languages
C++
93.1%
C
5.2%
C#
1%
Python
0.5%
PowerShell
0.2%