Separating procedures on server or client

Think about it that way:

When 10.000 Servers in the World are started for your Game and 10.000 Servers for some second Game. How would you know which Servers are for your Game when Searching for them?
That’s why you would need a MasterServer. When a Server starts, it tells the MasterServer “Hey i’m a new Server, add me to the ServerList”. When a client wants the List, it asks
for it. That’s the most basic “MasterServer”. Surely there is more about it.

If you have Steam activated, you use their MasterServer. You may know about the “AppID” each Game has on Steam. This is the ID Steam uses to determine which Server belongs to which
Game. Steam just lays beneath the Session System. UE4 uses wrapper functions. It will use the Functions that are needed to create and join Sessions for the active, supported Subsystem.
Means once your Sessions System works for “OnlineSubsystem NULL” (which is the UE4 basic one with only LAN Session Support), you only need to get Steam activated + greenlit and you
should be ready to use it.

Back to the MasterServer question. If you don’t use any MasterServer/OnlineSubsystem, you can still join OnlineServers by typing in their IP.
And, as far as my knowledge goes, yes. You can host multiple Servers on one by using different Ports. But i don’t know how to change the Port
UE4 is using for its Dedicated Servers (: That is up to you to find out.