General UE4 Online Subsystems questions

I am currently playing my packaged game successfully over LAN with a simple Host/Join/Search session set up programmed in (I think it is the same one as in the multiplayer shootout demo) and all is well but I am currently researching taking it online. Most information about “Online Subsystems” are pretty programmer-ish. Which is good but I am still seeking a general understanding of what exactly an Online Subsystem is and when/why one is needed. A few questions:

How does using an Online Subsystem (like steam) differ from using a licensed Dedicated game server?

If one were to create their own Online Subsystem, what exactly would that entail/mean? If chat, session creation, join, server traveling etc. was all programmed in the engine…what else would be needed?

Is Steam the only Online Subsystem that UE4 works with as far as PC Gaming is concerned?

Is it common for developers to license dedicated game servers? I see many available but they all seem to be emphasizing the hosting of existing games like minecraft, call of duty etc.


It is very common that developers run dedicated servers for things like matchmaking and saving character progression.
Whether developers also run dedicated servers for gameplay depends on a lot of factors, such as budget, whether there is a competitive/esports angle, what the hardware requirements are, etc.

You can assume that, if the game shows you a list of servers, and lets you pick a server, and the game GUI has a “start a server” option, then the developer is not hosting gameplay servers, but only matchmaking servers. (This is what Steam can do for you, for example.)
If the game just magically lets you play multiplayer, with no “host a server” or “pick a server” UI, then it’s very likely the developer is hosting server for you. (Although that UI could also be created on top of some kind of auto-hosting for local players, if you really wanted to.)

Typically, when developers host their own servers, they will buy floor space, rack space, and networking access in a co-location data center facility (or a few, spread over the world,) and put their own hardware there.
The “rent a game server” companies that exist typically make their money off gamers who want a better server experience than they’ll get from default player-hosted servers.
The OnlineSubsystem in Unreal is somewhat agnostic to how you choose to set this up. If you know that you will host servers, then make a special server build that can announce/list itself, that you run on your servers. That can go through the same OnlineSubsystem mechanism as player-based hosting, only with slight UI modifications.

Thanks for the info. From this and other readings it sounds like creating your own Master Server is pretty technically intensive. Are there any other “Master Server” services aside from Steam? Or are the two options pretty much submitting to be green lit by steam or creating your own Master Server?

For Android, there is Google Play Services. For iOS, there is Apple Game Center.

There are also other systems, like Gamedonia, PlayFab, GameSparks, BrainCloud, App42, and similar.
You can also buy half-completed systems, like Photon, SmartFox, etc.
I don’t know how well those integrate with default Unreal Engine.

Hey, I just created a thread asking a similar question, can you confirm that I can have some kind of Master Server with Gamesparks or Playfab?

Thank you!