question

Nikita Matusevich avatar image
Nikita Matusevich asked

Servers 2.0 vs Legacy Multiplayer

Dear developers, please explain what is the difference between Servers 2.0 and Legacy Multiplayer, except for more options in terms of choosing the capacity of the virtual machine? I am a developer on the Unreal Engine. Initially, I worked on Legacy Multiplayer, but for some reason I decided to switch to Servers 2.0. Not only that, I spent several days trying to figure out how to make Servers 2.0 work on UE (thanks to the person who posted the documentation with explanations of how to configure everything, BUT IT DOES NOT SOLVE ALL PROBLEMS! I can help with setting up the plugin for Unreal Engine), so I constantly stumble on seemingly simple things that worked perfectly on Legacy Multiplayer.

Maybe the 2.0 Servers as the ping is lower? Or pay less? Is there any significant reason to switch to Servers 2.0?
At the moment, I spent a day to figure out how to get the server to get the missing players. In Legacy Multiplayer, this was extremely easy to implement.
Also, as far as I understand, there is no verification of the ID of the player who logged on to the server. It sends its own ID, and the server just accepts it. In Legacy, the server also passed the player's ticket, which he could somehow protect himself (of course, this is not 100% protection, but it is better than nothing).
Also, I would like to note that the "Pub/Sub", which was announced a long time ago, is extremely lacking. I tried to write you an email, but I was refused to provide a beta version of this functionality.

Thank you so much for your excellent service, we liked it very much, but we are interested in the questions above.
P.S. I'm wildly sorry for my English, I'm not a native speaker.

apisunreal
1 comment
10 |1200

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Nikita Matusevich avatar image Nikita Matusevich commented ·

I want to add another question: Why does Matchmaking take so long to select players? Sometimes you have to wait a minute for 2 players to connect to the server. As a player, I think it's a really long process. If the right number of players want to start the game, then within 15 seconds a server should be allocated for them, and in a minute many will already change their mind to play.

2 Likes 2 ·

1 Answer

·
brandon@uprootstudios.com avatar image
brandon@uprootstudios.com answered

Hi, hopefully I can try to answer some of your questions.

The way I understand it is, PlayFab was semi-recently acquired by Microsoft. Servers 2.0 is an effort to switch most of their resources away from Amazon's AWS (legacy) and towards Microsoft's Azure cloud. We personally haven't used the legacy server system that PlayFab offers (we use 2.0), but I do believe that the new system is slightly cheaper, more customizable (supporting Kubernetes / Docker containers), and has better Azure support.

PlayFab will likely be shifting their future efforts away from their legacy servers in favor of Servers 2.0.

I do understand that in its current state, the legacy system has better support for matchmaking (however, it uses the old Matchmaker system vs. the new Matchmaking system) in terms of matchmaking information passed directly to the game server when being allocated. For example, for us to validate players with Servers 2.0, we have each client pass its PlayFab ID to the server, and the server checks against the list of players it received from allocation (accessed using GSDK.GetInitialPlayers()).

I don't have any info on PubSub unfortunately. We applied last year but were never approved, so we are using PubNub instead. It's not related to PlayFab, but we've made it work how we want.

While I don't have any experience with Unreal Engine (we use Unity), I can help with any other issues you might have with Servers 2.0 as I have a decent amount of experience in building/configuring servers for use with PlayFab. Also, if you need a tool to create/build/upload containers to Servers 2.0, I'll shamelessly promote my tool here.

2 comments
10 |1200

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Nikita Matusevich avatar image Nikita Matusevich commented ·

I have now compared the prices of outdated and 2.0 servers. Legacy hour (t2.medium (2 cores, 4 RAM)) I have to pay $0.06 per hour. For an hour of work on servers 2.0 (A2 v2 (2 cores, 4 RAM)), I have to pay $0.130. What are the savings?

1 Like 1 ·
Nikita Matusevich avatar image Nikita Matusevich commented ·

Thank you for your response. Yes, the only big plus of servers 2.0 is that you can test the build on your local computer via a container. This is quite convenient.

But how can I force the game server to shut down without connecting to a remote machine? Yes, there is a function for this, but I understand that you can only call the function via "Players - >Player - >Run Cloud Script". Or is there another way?

The next problem: as I wrote above, I spent more than a day trying to make a system for getting the missing players to the server. So the problem was that when I tried to get " GetEntityToken->Title "(for" CreateServerBackfillTicket"), I was constantly written that I was not authorized. I couldn't figure out what the problem was, because I entered the secret key and checked it several times. There was a problem in the PlayFab plugin for Unreal Engine: it does not give a chance to use the secret key to get the "Title Token". I'll attach a screenshot below of how the code looks in the UE and Unity plugins.

I'm not going back to Legacy Multiplayer yet, as I feel sorry for the time spent on Servers 2.0.

0 Likes 0 ·
znh4lyqykeu.jpg (26.8 KiB)
nrzktea5lus.jpg (35.5 KiB)

Write an Answer

Hint: Notify or tag a user in this post by typing @username.

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.