[Network] Session and Dedicated Server

  1. I think you can not just create a new game instance. Maybe you need to create a new NetDriver which can listen a port
  2. I’m sorry I haven’t play swotor(maybe, star wars:the old republic?) But I think you need a system which is in some area the room is multiplayer, but in another area the room is only one player(the client)?Or some area which can make someone join in but need to ask the owner of the area?

Edit:
Actually I find another one called UWorld, which I found it can connect to another server by Browse().
What I try to do now is finding a way to “copy” or replicated actors in “connecting” world to “game world”.So it makes you have chance to seemlessly connect another existing server without open/close

  1. I don’t know i’m trying, it is creating etc but i got crash when getting UEngine, compiling… it is so long ahah.

  2. Huuum swotor have a system where you enter in some area and is is your own instance of this area, if someone goes through the gate it is creating one for this new player.

  3. The goal is to make room for:

Single player
Lot of player (wow dungeon type)
Single player (which can invite friend)
Lot of player (wow Raid type)

Edit:

I don’t think it is needed to make a new NetDriver, because the Socket is sending data, if you store your Dedicated on the first map you supposed to be connected to it, then you always have data transfer, but t is only supposition

I read this post again and this is want I think.(Well actually I’m not a Online game maker so please correct me if i’m wrong :slight_smile: )
I think the problems are two:

  1. each client which in single player area has their own room
  2. how to translate seemlessly between single player area with multiplayer area

The first problem I think the solution is you need to make a room pool which has many delicated server waiting to be join in.If someone exit the area,the server will not be shutdown.It will keep waiting.
the second, actually I don’t find a clear way yet. The UWorld solution is just I’m working on.

Why ? by using my own server system it is easy to do, with school project we made a RType and some other king of network game, when you want to create a room

room myRoom = new room(); // room create

player join inProgress room:

player loop each started room for()
when it find the room he want room->join(player);

Just need to translate this into unreal

in UE4 I don’t think it’s just as easy as “room->join(Player)”.
At first , room myRoom =new room() in UE4 will take many ticks which needs to load maps and so on. The game thread should not be blocked to wait for this .
Then the join will clean current world ,disload map, and then create a new netdriver, load new map and so on

Yes it was a simple exemple ^^.

At the moment i don’t really know how to do this, i’m thinking and searching for the best way, and the best optimize way.

Edit:

If you want to listen on a new port you have so many thing to add edit etc, to get all the current used port / free port / port you are going to use etc

Finally i’m using the dedicated server solution, no way to make a new listener, i got always crash at different place…

I’m storing the current last port in use, i’m incrementing it, it works pretty fine, i only need to optimize it, because i don’t close the server at the moment, it keep running after the player leave.

Then i have a question that is how do you process the Players position in the server??(Newbie question srry)