What differences are there between Null multiplayer and Steam multiplayer?

Hello, again!

We create multiplayer game prototype, that works with OnlineSubsystemNull. All works fine. But now we need to rewrite multiplayer to use Steam.

I’m already integrate steamworks( with appid=480 ) and steam overlay shown in application. But now connecting with command “open IP” crashes program somewhere in engineloop. Yeah, i’m not sure that host created properly.

I’m sure that we need some additional steps and some changes in code to get all work. After searching in Rama questions i’m found “open steam.#//” that requries some UserID.

Than there are two questions:

  1. How to create host using Steam?
  2. How to connect to created host using Steam?

Any code examples ?

Thanks! :slight_smile:

Solved. There are 3 changes, that needed to run server and connect to it using Steam.

  1. Write additional argument in Server Travel URL : "MapName?listen?steamsockets" ( Found in old UE3 docs and Rama tutorials (thanks!) I’m not sure about it… But better to be careful. )
  2. Change Client Travel URL. Instead "open IP" form use "open Steam.SteamUID". Where SteamUID - Server unique ID.
  3. You can get SteamUID from GetWorld()->GetNetDriver()->LowLevelGetNetworkNumber(). On server of course.

That’s all.

P.S. Also you must forward 3(!) port on router instead 1: 7777, 7778, 27015. Or whatever ports you wrote in config. Be careful!