ue5:multiplay:setup
目次
マルチプレイのセットアップ
検証中
要件
- Steamをターゲットとし、EOSは使わない
- リッスンサーバー
- UE5.5
[/Script/Engine.GameEngine] !NetDriverDefinitions=ClearArray +NetDriverDefinitions=(DefName="GameNetDriver",DriverClassName="/Script/SteamSockets.SteamSocketsNetDriver",DriverClassNameFallback="/Script/SteamSockets.SteamNetSocketsNetDriver") ; 公式Doc通りだと以下 ; [/Script/Engine.GameEngine] ; +NetDriverDefinitions=(DefName="GameNetDriver",DriverClassName="OnlineSubsystemSteam.SteamNetDriver",DriverClassNameFallback="OnlineSubsystemUtils.IpNetDriver") [OnlineSubsystem] DefaultPlatformService=Steam [OnlineSubsystemSteam] bEnabled=true SteamDevAppId=480 SteamAppId=480 ; GameServerQueryPort=27015 bInitServerOnClient=true bUsesPresence=true bUseLobbiesIfAvailable=true bUseSteamNetworking=true bAllowP2PPacketRelay=true [/Script/OnlineSubsystemSteam.SteamNetDriver] NetConnectionClassName="OnlineSubsystemSteam.SteamNetConnection";
バグ対処
DefaultEngine.ini で bUseLobbiesIfAvailable=true と設定しても、false となる。
JoinSession時に、bUsesPresence と FOnlineSessionSettings::bUseLobbiesIfAvailable
[FOnlineSessionSteam::JoinSession] The values of FOnlineSessionSettings::bUsesPresence and FOnlineSessionSettings::bUseLobbiesIfAvailable are treated as equal and have to match
UFUNCTION(BlueprintCallable, Category = "VshsSteam|Session") static void FixSteamSearchResultFlags(UPARAM(ref) FBlueprintSessionResult& SessionResult);
void UVshsSteamFunctions::FixSteamSearchResultFlags(FBlueprintSessionResult& SessionResult) { FOnlineSessionSearchResult& NativeResult = SessionResult.OnlineResult; NativeResult.Session.SessionSettings.bUsesPresence = true; NativeResult.Session.SessionSettings.bUseLobbiesIfAvailable = true; }
おバカ事例
- Standalone Game で実行して Steamオーバーレイが出るが、セッションを作成できない
- Play As Listen Server でプレイしていないか?おそらくSteamNetDriver が 同じP2Pポートで2重Listenを試みて失敗
ue5/multiplay/setup.txt · 最終更新: 2025/05/17 15:25 by vshs_admin
