(Feat) Add mulitplayer

This commit is contained in:
2026-08-03 10:30:47 +02:00
parent 41d6e6a7f3
commit a4cc59a411
41 changed files with 3418 additions and 125 deletions
+40
View File
@@ -92,6 +92,46 @@ FontDPI=72
; n'existent tout simplement pas au runtime.
GameUserSettingsClassName=/Script/Survival_projet.SurvivalUserSettings
; ==================================================================
; Coop Steam (4 joueurs, listen server, P2P par le relais Valve)
; ==================================================================
; Le NetDriver par defaut ouvre un socket UDP et attend une IP : inutilisable
; derriere un NAT. SteamSocketsNetDriver fait transiter la connexion par le
; relais de Valve -- aucun port a ouvrir, aucune IP echangee entre joueurs.
; Le ClearArray est obligatoire : sans lui on empile une seconde definition
; "GameNetDriver" et c'est celle du moteur qui gagne.
; Le Fallback sert au PIE et aux tests hors Steam : sans client Steam lance,
; le moteur retombe sur l'IpNetDriver classique au lieu de refuser de demarrer.
[/Script/Engine.GameEngine]
!NetDriverDefinitions=ClearArray
+NetDriverDefinitions=(DefName="GameNetDriver",DriverClassName="/Script/SteamSockets.SteamSocketsNetDriver",DriverClassNameFallback="/Script/OnlineSubsystemUtils.IpNetDriver")
[/Script/SteamSockets.SteamSocketsNetDriver]
NetConnectionClassName="/Script/SteamSockets.SteamSocketsNetConnection"
[OnlineSubsystem]
DefaultPlatformService=Steam
; SteamDevAppId = notre AppID reel (Emberwild). Le classique 480 (Spacewar)
; ne sert que si des testeurs ne possedent pas encore le jeu sur leur compte.
;
; PAS de bInitServerOnClient : il force l'initialisation de l'API GameServer
; de Steam en plus de l'API client, dans le meme process. C'est fait pour
; tester du code de serveur dedie sur une machine de dev. Un listen server
; n'en a pas besoin -- il cree un LOBBY Steam via l'API client. Pire, si
; l'init serveur echoue alors que le client a reussi, OnlineSubsystemSteam
; detruit TOUT (voir le Shutdown() de son Init) : on ajouterait un mode
; d'echec sans rien gagner.
;
; Rappel qui fait perdre du temps : dans l'EDITEUR, IsEnabled() rend toujours
; faux (IsRunningGame() est faux), donc Steam ne s'initialise jamais en PIE et
; le moteur retombe sur OnlineSubsystemNULL. C'est voulu par Epic. Pour tester
; Steam il faut Play > Standalone Game, ou un build package.
[OnlineSubsystemSteam]
bEnabled=true
SteamDevAppId=4282850
[/Script/AndroidFileServerEditor.AndroidFileServerRuntimeSettings]
bEnablePlugin=True
bAllowNetworkConnection=True
+12
View File
@@ -13,3 +13,15 @@ ProjectID=4774BE68499C24D0A70C6E87B49DA419
[/Script/DiscordRichPresence.DiscordRichPresenceSettings]
ClientId=1432045921620725933
; Sans cette liste le cooker embarque TOUTES les maps du dossier Content, donc
; les ~25 maps de demonstration de SoStylized : build enorme et cook interminable.
;
; MenuScene doit y figurer meme si c'est deja la GameDefaultMap, et GameScene
; SURTOUT : elle n'est referencee que par un TSoftObjectPtr (GameLevel sur
; BP_MainMenuPlayerController). Une reference soft n'est pas suivie par le
; cooker comme une reference dure -- sans cette ligne le build demarre sur le
; menu, on clique Jouer, et rien ne se charge.
[/Script/UnrealEd.ProjectPackagingSettings]
+MapsToCook=(FilePath="/Game/Game/Maps/MenuScene")
+MapsToCook=(FilePath="/Game/Game/Maps/GameScene")