I’m currently trying to get a multiplayer session working correctly. I’ve created a plugin that handles matchmaking using Unreal’s Online Subsystem. When I set my DefaultEngine.ini
to work with Steam services, everything works as expected.
Now, I’m switching to Epic Online Services (EOS). I followed the official Epic documentation, set up the game dashboard, and configured the DefaultEngine.ini
file. I’m using a client policy that implements the default Peer-to-Peer (P2P) configuration provided by EOS.
Current Situation
Here’s what I’ve observed so far:
- Login: The login works correctly, and I get proper authentication.
- Session Creation: I can create an online session (tried both as a lobby and as a direct match), and both cases work fine.
- Session Discovery: I can find the session I created by searching lobbies or presence accordingly.
- Joining the Session: This is where the problem occurs — I cannot join the session.
Relevant Log Excerpt
Here’s the relevant part of the log:
LogSockets: Warning: GetAddressInfo failed to resolve host with error SE_HOST_NOT_FOUND [11001]
LogNet: UNetConnection::Close: [UNetConnection] RemoteAddr: , Name: IpConnection_0, Driver: Name:PendingNetDriver Def:GameNetDriver NetDriverEOSBase_1, IsServer: NO, PC: NULL, Owner: NULL, UniqueId: INVALID, Channels: 3, Time: 2024.10.16-14.57.57
LogNet: UNetConnection::SendCloseReason:
LogNet: - Result=AddressResolutionFailed, ErrorContext="AddressResolutionFailed"
LogNet: UChannel::Close: Sending CloseBunch. ChIndex == 0. Name: [UChannel] ChIndex: 0, Closing: 0 [UNetConnection] RemoteAddr: , Name: IpConnection_0, Driver: Name:PendingNetDriver Def:GameNetDriver NetDriverEOSBase_1, IsServer: NO, PC: NULL, Owner: NULL, UniqueId: INVALID
LogNet: Error: UEngine::BroadcastNetworkFailure: FailureType = PendingConnectionFailure, ErrorString = Your connection to the host has been lost., Driver = Name:PendingNetDriver Def:GameNetDriver NetDriverEOSBase_1
LogNet: Warning: Network Failure: PendingNetDriver[PendingConnectionFailure]: Your connection to the host has been lost.
LogNet: NetworkFailure: PendingConnectionFailure, Error: 'Your connection to the host has been lost.'
Possible Cause
I found some indications online suggesting that manually opening ports might be necessary, but that’s not feasible for game distribution.
One particularly confusing part relates to a property setting in the config file. I’ve come across the following configurations in different forms:
[/Script/OnlineSubsystemEOS.NetDriverEOS]
bIsUsingP2PSockets=true
[/Script/SocketSubsystemEOS.NetDriverEOS]
bIsUsingP2PSockets=true
[/Script/OnlineSubsystemEOS.NetDriverEOSBase]
bIsUsingP2PSockets=true
I believe this is relevant to my issue, but I’ve tried all possible combinations of these settings without success.
Has anyone else encountered this problem or found a solution? I’d appreciate any advice or insights.