How about the line of thought of MOBA game server-side develop(with Unreal Engine 4)

I’m developing a MOBA game(e.g. DOTA2) with Unreal Engine 4, but I feel uncertain when design server-side:

as I know, UE4 just has one GameThread in a game process, so if game server need to load tens of thousands of players, server need multiple UE4 game processes, then each game process loads one thousand players. because it’s MOBA not MMORPG, so every 10 players would use one game map simultaneously, so I need to create one hundred game maps in server-side, and these 100 game maps would run in only one UE4 GameThread(because UE4 doesn’t allow to invoke Engine API out of GameThread), I have to ensure Thread-Safety for one hundred game maps and one thousand players would be splited into 100 groups(each group has 10 players and use one game map simultaneously).

is this thinking correct? or is there any better choice of this solution?

You can create for Every game a new Dedicated server Instance with changing port number like

yourmobaserver.exe -port=number

You then tell the Clients which port they should connect.