# EOS Dedicated Server: Unable to connect through session browser, on some servers only direct connection works

**URL:** <https://forums.unrealengine.com/t/eos-dedicated-server-unable-to-connect-through-session-browser-on-some-servers-only-direct-connection-works/2666052>\
**Category:** Multiplayer & Networking\
**Tags:** dedicated-server, unreal-engine, EOS, question\
**Created:** [October 16, 2025, 11:10pm UTC](https://forums.unrealengine.com/t/eos-dedicated-server-unable-to-connect-through-session-browser-on-some-servers-only-direct-connection-works/2666052 "2025-10-16T23:10:10Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![Luomu](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@Luomu](https://forums.unrealengine.com/u/Luomu)\
**Post date:** [October 16, 2025, 11:10pm UTC](https://forums.unrealengine.com/t/eos-dedicated-server-unable-to-connect-through-session-browser-on-some-servers-only-direct-connection-works/2666052/1 "2025-10-16T23:10:10Z")

</div>

I’ve implemented dedicated server connection using the EOS OSS. When hosting on my test server (Linux and Windows tested), a test user outside my network is able to see the session and join the server with no issues. I’ve only had to forward the game port to that host.

However, when deployed to a server operated by a game server vendor (Windows), the server is not joinable through the session browser. The session is visible in browser, but the connection fails.Opening a direct connection to that server through console (open ‘ip:port’) joins the server successfully, so the game port is certainly accessible. It’s only the session join that fails.

We’ve had no issues with that server vendor previously hosting Steam versions of our game, and they host other EOS-powered games such as Satisfactory, Hell Let Loose and Squad.

As is common for these providers, they use the -multihome argument with the servers, in case that could cause any issues (it did not in my own tests). There’s nothing particularily custom about the EOS implementation. Clients log in using Steam. Server logs in as TrustedServer with no Steam involved. P2P sockets are not used as this is a dedicated server. I’ve included the most relevant config fields below.

To help me and the vendor debug this issue, my question is what could cause a situation where the session is not joinable on some hosts, yet the direct IP join works (so should be no port issue)?

```auto
[/Script/Engine.GameEngine]
+NetDriverDefinitions=(DefName="GameNetDriver",DriverClassName="/Script/SocketSubsystemEOS.NetDriverEOS",DriverClassNameFallback="/Script/OnlineSubsystemUtils.IpNetDriver")
+NetDriverDefinitions=(DefName="DemoNetDriver",DriverClassName="/Script/Engine.DemoNetDriver",DriverClassNameFallback="/Script/Engine.DemoNetDriver")

[/Script/OnlineSubsystemEOS.NetDriverEOS]
bIsUsingP2PSockets=false

[OnlineSubsystem]
DefaultPlatformService=EOS
NativePlatformService=Steam

[/Script/OnlineSubsystemEOS.EOSSettings]
(only showing relevant fields here)
bUseEAS=False
bUseEOSConnect=True
bMirrorStatsToEOS=False
bMirrorAchievementsToEOS=False
bUseEOSSessions=True
bMirrorPresenceToEAS=False
bUseNewLoginFlow=True
SteamTokenType=WebApi:epiconlineservices

```

Here’s the (condensed) code used to create a session. As it’s a dedicated servers, p2p sockets or lobbies are not used.

`TSharedRef SessionSettings = MakeShared();`  
`SessionSettings->bAllowJoinInProgress = true;`  
`SessionSettings->bAllowJoinViaPresence = false; // can’t do presence on EOS without an user`  
`SessionSettings->bAntiCheatProtected = false; // no EAC used`  
`SessionSettings->bIsLANMatch = false; // not LAN`  
`SessionSettings->bShouldAdvertise = true;`  
`SessionSettings->bUseLobbiesIfAvailable = false; // can’t do lobbies with EOS without an user`  
`SessionSettings->bUseLobbiesVoiceChatIfAvailable = false; // can’t do presence on EOS without an user`  
`SessionSettings->bUsesPresence = false; // can’t do presence on EOS without an user`  
`SessionSettings->bUsesStats = false; // sensible?`  
`SessionSettings->NumPublicConnections = NumPublicConnections;`

`SessionSettings->bIsDedicated = true;`  
`SessionSettings->bAllowInvites = false; // requires presence`  
`SessionSettings->bAllowJoinViaPresence = false; // superset by bShouldAdvertise`  
`SessionSettings->bAllowJoinViaPresenceFriendsOnly = false; // same as above`

plus few extra settings through SessionSettings→Settings.Add(…)

`Sessions->CreateSession(0, NAME_GameSession, *SessionSettings);`

---

<div class="post-metadata">

**Author:** ![Luomu](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@Luomu](https://forums.unrealengine.com/u/Luomu)\
**Post date:** [October 17, 2025, 3:12am UTC](https://forums.unrealengine.com/t/eos-dedicated-server-unable-to-connect-through-session-browser-on-some-servers-only-direct-connection-works/2666052/2 "2025-10-17T03:12:59Z")

</div>

Figured out the cause with our server rep - it’s the -multihome argument. Without it everything is good. I suppose with it the wrong IP gets reported to EOS. Maybe someone from Epic can chime in why this is so.  
I can see ARK added a custom PublicIPForEpic argument, which was probably related to the same issue. ([[Bug]: Ark: Survival Evolved should use separate IP for Multihome and EPIC · Issue #4238 · GameServerManagers/LinuxGSM · GitHub](https://github.com/GameServerManagers/LinuxGSM/issues/4238)).

---

<div class="post-metadata">

**Author:** ![nande](https://d1ap1mz92jnks1.cloudfront.net/user_avatar/forums.unrealengine.com/nande/32/1057698_2.png) [@nande](https://forums.unrealengine.com/u/nande)\
**Post date:** [October 17, 2025, 5:54am UTC](https://forums.unrealengine.com/t/eos-dedicated-server-unable-to-connect-through-session-browser-on-some-servers-only-direct-connection-works/2666052/3 "2025-10-17T05:54:18Z")

</div>

i wonder if it’s the nat hole punching that fails with it.
