Based on Compendium Cedric Neukirchen
Example of Dedicated Server with 2 clients
From Reuben Wards course
- Game Instance :
Game instance created when game starts and lasts until that game executable closes, persisting across level changes and joining sessions etc.
Game instance is only aware of its own executable. Does not have any connection between server and clients. Lives only on the client (is this correct?, also the server is an .exe)
In steam multiplayer of FD_Online:
BP_FD_OnlineGameInstance (Parent class = FD_OnlineGameInstance in C++)
- Event Show Main Menu (Interface)
- Event Show Host Menu (Interface)
- Event Show Server Menu (Interface)
- Event Show Options Menu (Interface)
- Event Show Loading Screen (Interface)
- Event Launch Lobby (Create Advanced Session and open FD_Lobby, as listen) (Interface) Setup Host as listen server
- Event Join Server (Interface)
- Event Save Player Info (Interface)
- Event Main Menu Player Info (Interface)
- Event Update Friends List (Interface)
- Event NetworkError
- Event TravelError
- Event Destroy Session Caller (Interface)
- Event Store Character Seleceted (Interface)
Several Gamemodes and PlayerControllers
Game and Server Default Map is FD_MainMenuMap . In level BP : Event BeginPlay sets resolution and starts Show Main Menu
FD_MainMenuGM has no content, is only used the get the FD_MainMenuPC activated
FD_MainMenuPC
- Event BeginPlay
Gets playername and image from Steam and also the friends
Map FD_Lobby has no Level BP. Starts FD_LobbyGM
FD_LobbyGM :
- PlayerKicked
- AddToKickList
- Event OnLogout
- StartLoadingScreen
- LaunchGame (Actual start of the selected level)
- ChangeCharacter
FD_LobbyPC:
- InitialSetup (only on client)
- LoadPlayerInfo
- SavePlayerInfo
- CallUpdate (only on server)
- SetupLobbyMenu (only on client)
- AddPlayerInfo (only on client)
- UpdateLobbySettings (only on client)
- ShowLoadingScreen (only on client)
- UpdateNumberOfPlayers (only on client)
- EventEndPlay
- Kicked (only on client)
- AddPlayerToKickWindow (only on client)
- UpdateAvailableCharacters (only on client)
- AssignSelectedCharacter (only on server)
- AssignPlayer (only on server)
- GetChatMessage (only on server)
- UpdateChat (only on client)
Gamemaps like FD_World and FD_Prototype uses BP_FD_OnlineGM
At this moment BP_FD_OnlineGameStateBase and BP_FD_OnlinePlayerState are not used.
BP_FB_OnlineGM :
- EventOnSwapPlayerControllers
- SpawnPlayer
- EventOnLogout
- UpdateChat
BP_FD_OnlinePC :
- EventBeginPlay
- PassCharacterInfoToServer (only on server)
- SetupUI (only client)
- GetChatMessage (only on server)
- UpdateChatWindow (only on client)
- InputActionChat