About Master Client on Server

Options
We recently started beta testing for our game and encountered many problems.
It seems that many problems are caused by Master Client lagging or dropping mid game.
I remember that Photon has a way to have a server plugin or something to act as Master Client in a game.

What we want to create is something like the following:
1. In a 5v5 situation, allow 11 players to join.
2. 10 players being normal clients, and the 1 left is a server hosted bot acting as the Master Client.

What is the best way to achieve such solution?

Comments

  • JohnTube
    JohnTube ✭✭✭✭✭
    edited February 2018
    Options
    Hi @Warbears,

    Did you read out "Master Client and Host Migration" documentation page:

    - Photon Realtime version
    - PUN version

    Also, you can read about Photon Plugins here. These are in-room (Game Server) plugins for Enterprise Cloud or self-hosted Photon Server. You can move the Master Client's pseudo authoritative logic there but it will not act like a fake actor or a bot as that's still tricky to achieve with the current version of plugins or client SDK. What you should do instead is to have a full authoritative logic server side (plugin): e.g. sending room events and controlling what is allowed and what is not.

    Some customers just implement their own way to detect Master Client absence earlier using different methods. Example. You can search the forum or the web for such things.

    What is the best way to achieve such solution?
    There is no such thing as "best way". It depends on your game, so you should try few options until you find what's suitable for you.
  • chvetsov
    Options
    hi, @Warbears
    as @JohnTube said, it is tricky to simulate normal users using plugins. i mean you can not send player joined event to other players from plugin to simulate Bot joining. but i believe that is not a problem.

    you may add your own events to notify clients that bot joined/left and so one. plugins may intercept operations, analyze them. and such a way you may send some signals to your bots.

    hope, this will help

    best,
    ilya