Dedicated server and workflow

Hello, I’m getting into making a multiplayer game and am reading up on how to do that. The ideal would be to have a dedicated server. I understand how to do that but it raises several questions. If I create a dedicated server, I should program the server functions in c ++ because the blueprint cannot be used with dedicated servers? I had trouble visualizing how to design my game by implementing a dedicated server from the start. The only thing I am considering, but I don’t know if it’s possible, is to design my game with a Listen Server. And then, at the end of my game’s development, transform this Listen Server into a Dedicated Server. I don’t know if this way of doing things is feasible, nor if it is the right method. What do you think is the right way to design a game with a dedicated server using the blueprint? If you have any documentation on this subject I am interested. Thank you for your help :slight_smile:

Initializing a dedicated server may need a bit of C++ but the general game-play can be done in Blueprint.
Since a listen server is both the server and a client it is important to keep the boundaries between them in your programming. If you do that then the switch to Dedicated shouldn’t be overwhelming.

For example a dedicated server doesn’t have widgets so if you try to do server related stuff within a widget it won’t work.
Dedicated server programming is in fact often easier than a Listen server since you won’t have to worry about running client logic accidentally in the server classes like GameMode or vice versa.

If you decide to make a multiplayer game with some unconventional game-play you might regret not taking advantage of using C++ combined with Blueprint instead of pure Blueprint. While you can do pretty much everything in Blueprint it will become more messy because of the need for Blueprint workarounds.

Are Dedicated servers ran 24 hours a day or are they only launched when a client is trying to connect in some way? Also where is the best place to host a dedicated server? Something like Playfab?

It’s up to you although it won’t be very efficient unless if you own the servers already. You could have a matchmaker including a service to request servers on demand. To lower the time it takes to find a match a pool of idle servers ready to go could be setup but it is not a requirement.

If you want the full package including matchmaking and other services there is a bunch of options like PlayFab and GameLift. I am not very familiar with PlayFab but with GameLift you are not bound to use their dedicated servers so it might be more cost effective to buy dedicated servers elsewhere and hook them up with GameLift.