Steam - why some players can't find my server?

Today we tried our Steam integration of our game (it is based on ShooterGame sample). We had 4 people:

  • host;

Velho e bom Joe - client, on the host’s LAN;

gasdo - client, WAN (but in the same country);

  • client, WAN (other country);

Both Velho e bom Joe and gasdo could find the server, via the server browser, and they successfully joined the game. however couldn’t find the server or join.

Then we tried to have hosting, and we too couldn’t find his server.

We have investigated the logs but have no idea what could be causing this.

Here is 's log (when I was hosting and he was searching for games)

And here is my log (when was hosting and I was searching for games; the relevant part starts at line 3102)

We had also tried connecting by typing open (host ip), but it would time out.

Multiplayer only worked when we all removed the steam dll, and joined by typing the host’s IP.

So, why couldn’t find our server, or we find his?

Edit: we’re using the 480 appid. We tried both Development and Shipping package modes.

Hi ,

I have contacted a member of our development team who is familiar with Steam integration to see if he may be able to help you out with this issue you are experiencing. In the meantime, there are a few things you will want to check.

If you have not already done so, take a look at Valve’s required ports document. This will make sure that all of the ports used by Steam’s networking integration are available to be used.

Also, the join ip or open (host ip) commands won’t work with Steam games. Instead, you would want to use open steam.XXXXX where ‘XXXXX’ is the steam ID that is output in the logs from the host.

Give those options a try to see if they help.

Me and tested today. I was going to try your suggestion, but I realized we didn’t try inviting into game (right-click a friend in the steam overlay and click Invite to Match). And that worked!

So, I guess it could be some problem with the public appid. When we are further down the development and if this issue (server not showing on the server browser) persists, I’ll update. Thanks!

Any updates? Have a similar problem :slight_smile:

No, I haven’t investigated further about this.

Any Updates? Same problem…

I have seen issues with this based on region using the public SpaceWar app id, but when I use a private App ID that I own and have control over, everyone is able to see everyone.

I don’t have any proof of this, but I’m pretty sure there is some form of region filtering going on that prevents people from seeing each other when using the SpaceWar test app id. Any time I test, people from the same general location can see each other but people in different locations (USA vs Europe vs Asia) can’t see each other.

What are you using to find the server. Matchmaking? Simple Server search?

There are a few different sets of servers that can be retrieved:

Internet server list - game servers hosted on and accessible via the public Internet
LAN server list - game servers found on the local class C network via UDP broadcast
Friends server list - game servers where your friends are currently playing
Favorites server list - game servers that the current user has explicitly marked as a favorite
History server list - game servers that the current user has played on recently
Spectator server list - game servers marked in a special 'spectate' mode, which means they are actually a proxy that allows the user to observe a different multi-player game via a relay.

You can query servers from steam in many different ways. (Filter by geo) etc…

I guess that explains it. Thanks!

, would you mind explain how open steam.xxxxx works? The host prints no steam host id info in the logs, so how to get this id? I’ve tried different variations of the host steam account ID but with no luck so far. Thanks for your assistance.

edit: Not using the ShooterGame.

I have a similar issue, except it is only me who is able to host, I assume because I already have some ports open for another game.

My game uses the Shooter example’s host join system, does this do the thing wit the “open steam.XXXXX where ‘XXXXX’ is the steam ID” thing already? and if not, how would I do that?

The log for the server will print out the SteamId of the player hosting.

In the GameServer API case (bUsesPresence=false), the server will call LogOnAnonymously() which makes a new temporary SteamId that is the Steam sockets equivalent of an IP address.

In the logs:

Server SteamP2P IP: XXXXX

Server IP: YYYYY

In the Lobby API case (bUsesPresence=true) the address should be the id of the lobby creator

In the logs:

Lobby Data (P2PADDR, XXXX)

Lobby Data (P2PPORT, YYYY)

You may need to unsuppress the LogOnline logs in DefaultEngine.ini

[Core.Log]
LogOnline=verbose

So as a work around on steam that I found last night.
Go to settings > Downloads and change your download region to be the same as everyone else, you should then be able to connect and see each others servers.

I am fine with others in the UK but couldn’t connect to people who were in Canada, this fixed it.

Such an obscure reason !!

I spent countless of hours trying to figure out why I couldn’t make my game to work with steam for nothing. It was working fine, just that the person I was trying to connect to was in a different region…

Millions thanks to you Jestersheepy

Thanks!!!~

I can confirm that steam region settings messes stuff up. AppID 480 must indeed use a region lock, was unable to find my buddy under countless circumstances and different build configurations, two days later I see this comment about some stupid steam setting, sure enough it works lol. Thanks a ton buddy! :frowning: <3

This needs to be listed officially. I’ve spent hours on the phones with ISPs, reconfigured router firmware, looked through countless logs and troubleshooted every bit of my code… even changed the store region setting in Steam. Turns out it was this as well. You’re a savior.

Thanks so much for sharing this!!! :slight_smile: <3