question

Farkas Szilard Levente avatar image
Farkas Szilard Levente asked

Authoritative custom server with async multiplayer features.

After 2 days of browsing the community pages we can't find relevant information on a standard approach to implement a custom authoritative server (no CloudScript involved). So I'm hoping that if I describe my use-case someone can step in and fill in the blanks.

We are developing a Unity Game that requires an authoritative server written in C#. The features on our list for the server are:

  1. One server should be able to handle 100 users (but not more, so need to limit joining the server).
  2. Server will not be a headless Unity client.
  3. Should run sensitive code to protect the game from hacks, any code modifying the save would run on the server, not just simple validations.
  4. Communication between client and server is via protobuf and RPC's (this part is already implemented in a local server, custom implementation that is not using UNet).
  5. No interaction between players is permitted between players other than some pvp between online vs offline player profiles.
  6. Save is in binary format.
  7. Its not important if server runs on windows or linux ... best supported approach is a priority.

Can you guide us to the right approach for using Playfab with the above feature set?

Thank you!

Custom Game Servers
10 |1200

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

1 Answer

·
Citrus Yan avatar image
Citrus Yan answered

Looking at your use-case, the Multiplayer Servers Feature PlayFab offers should meet your requirements.

1.One server should be able to handle 100 users (but not more, so need to limit joining the server).

PlayFab offers virtual machines with different specifications where you can run your custom servers, 100 users should be handled well.

https://docs.microsoft.com/en-us/gaming/playfab/features/multiplayer/servers/multiplayer-servers-detailed-price-sheet

2.Server will not be a headless Unity client.

You can Integrate game servers with the PlayFab Game Server SDK (GSDK) using C++, C#, or Java, which is fully customized.

https://docs.microsoft.com/en-us/gaming/playfab/features/multiplayer/servers/integrating-game-servers-with-gsdk

3.Should run sensitive code to protect the game from hacks, any code modifying the save would run on the server, not just simple validations.

You can manage your server builds via PlayFab, others won’t be able to modify the code, any code change would be under your watch.

https://docs.microsoft.com/en-us/gaming/playfab/features/multiplayer/servers/deploying-playfab-multiplayer-server-builds

For feature 4, 5, 6 and 7, they should work as well. Please follow along the doc on Multiplayer Servers to learn more: https://docs.microsoft.com/en-us/gaming/playfab/features/multiplayer/servers/. If you have any questions, please let us know.

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.

Farkas Szilard Levente avatar image Farkas Szilard Levente commented ·

Thank you very much this was exactly what info I needed!

0 Likes 0 ·

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.