RakNet and server instancing

In the game, there is one main map where every player will spawn when they login and I can easily use a dedicated server. But I also want 1v1’s where the players would spawn on a new map and battle until someone wins. But I want a server to host the match/session, not the player.

From what I have understood through my research is that I would need a server host platform which were the client can send a request to the platform to tell it to start a new server instance. The platform would start the instance and would then return the ip/port which the client then can connect to.

I have read alot about RakNet (and Photon) and that many use it, but my question is, how?

Where does the RakNet come in? Should it be implemented inside or outside of Unreal? Is it RakNet that should handle the request to start a new server instance? Why? Am I on the right track or is there something else I should know? I have also read alot about Sockets?

I only need the logic. The rest should not be a problem (I hope).

Thanks!