x

Search in
Sort by:

Question Status:

Search help

  • Simple searches use one or more words. Separate the words with spaces (cat dog) to search cat,dog or both. Separate the words with plus signs (cat +dog) to search for items that may contain cat but must contain dog.
  • You can further refine your search on the search results page, where you can search by keywords, author, topic. These can be combined with each other. Examples
    • cat dog --matches anything with cat,dog or both
    • cat +dog --searches for cat +dog where dog is a mandatory term
    • cat -dog -- searches for cat excluding any result containing dog
    • [cats] —will restrict your search to results with topic named "cats"
    • [cats] [dogs] —will restrict your search to results with both topics, "cats", and "dogs"

Connect to Steam dedicated server via raw IP?

Hello there, I am using Steam for multiplayer, so I can easily browse and connect to my dedicated servers using the Steam server browser or my in-game implementation. It is all working good, but recently I started integrating Amazon GameLift, a matchmaking tool by Amazon which hosts my dedicated servers on their EC2 instances. When matchmaking was successful, I get a raw IP and port back, and I now try to connect to it, but "open ip:port" won't work, neither ClientTravel does. It tries to connect, then the log's silent for a minute, and then the connection times out. I found out that Unreal connects to Steam servers by using "open steam.", but I don't have that ID, only the IP and port.

Is this normal that we can't connect to a IP when using Steam, or am I just too dumb?

Thank you

Product Version: UE 4.19
Tags:
more ▼

asked Jun 01 '18 at 10:28 AM in C++ Programming

avatar image

iUltimateLP
178 17 27 36

avatar image Taikatou Oct 17 '18 at 03:33 PM

Did you find a solution to this?

avatar image iUltimateLP Oct 22 '18 at 08:36 PM

Hey, yea I did, check out the marked solution :)

(comments are locked)
10|2000 characters needed characters left

1 answer: sort voted first

I found a solution to this. Steam provides the following function: PingServer.
The description:

 Queries an individual game servers directly via IP/Port to request an updated ping time and other details from the server.

So using that function on the raw IP and Port (query port though, so in my AWS example, I have to calculate the query port myself) will return me a gameserveritem_t &server in the callback, which contains the steam ID of the server. Then the game can connect using

 open steam.<steamid>

as a console command.

more ▼

answered Oct 22 '18 at 08:36 PM

avatar image

iUltimateLP
178 17 27 36

avatar image spreiste Dec 13 '18 at 04:28 PM

Hey @iUltimateLP,

I am currently trying to get a connection to an AWS GameLift hosted dedicated server using steam. I am at this exact point where I try to get the steam owningid from the IP:PORT.

I try to use PingServer, just like you, but I always get the ServerFailedToRespond() callback. As there are no more error messages than that, I am not sure what to do next. I think I converted my IP to uint32 correctly, but the server just does not to answer my requests. I can connect to the server using "Open steam.OwningId" when I get the owning id from the AWS Instances Log message, so the ports seem to be ok.

Do you have any more help? Some directions I could go from here? What do you mean by "I have to calculate the query port myself"?

kind regards, Stefan

(comments are locked)
10|2000 characters needed characters left
Your answer
toggle preview:

Up to 5 attachments (including images) can be used with a maximum of 5.2 MB each and 5.2 MB total.

Follow this question

Once you sign in you will be able to subscribe for any updates here

Answers to this question