private void StartRemoteServer() { Debug.Log("[ServerStartUp].StartRemoteServer"); _connectedPlayers = new List <ConnectedPlayer>(); PlayFabMultiplayerAgentAPI.Start(); PlayFabMultiplayerAgentAPI.IsDebugging = configuration.playFabDebugging; PlayFabMultiplayerAgentAPI.OnMaintenanceCallback += OnMaintenance; PlayFabMultiplayerAgentAPI.OnShutDownCallback += OnShutdown; PlayFabMultiplayerAgentAPI.OnServerActiveCallback += OnServerActive; PlayFabMultiplayerAgentAPI.OnAgentErrorCallback += OnAgentError; UNetServer.OnPlayerAdded.AddListener(OnPlayerAdded); UNetServer.OnPlayerRemoved.AddListener(OnPlayerRemoved); StartCoroutine(ReadyForPlayers()); StartCoroutine(ShutdownServerInXTime()); }
private void StartRemoteServer() { H.klog($"Starting Remote Server on Dead Server"); PlayFabMultiplayerAgentAPI.Start(); PlayFabMultiplayerAgentAPI.OnServerActiveCallback += OnServerActive; PlayFabMultiplayerAgentAPI.OnMaintenanceCallback += OnMaintenance; PlayFabMultiplayerAgentAPI.OnShutDownCallback += OnServerShutdown; PlayFabMultiplayerAgentAPI.OnAgentErrorCallback += OnAgentError; PlayFabMultiplayerAgentAPI.IsDebugging = true; // subcribe to event on server when adding and removing player knet.evnPlayerAdded += OnServerAddedPlayer; knet.addenv.AddListener(OnServerAddedPlayer); knet.evnPlayerRemoved += OnServerRemovedPlayer; knet.removeevn.AddListener(OnServerRemovedPlayer); StartCoroutine(ReadyForPlayers()); }
private void OnServerRemovedPlayer(string infabid) { H.klog1($"A Player just left the server, fab will update and shutdown if neccessary", this.name); ///* // look in fab book, if existing then remove //foreach (ConnectedPlayer pl in _fabPlayerBook) for (int i = 0; i < _fabPlayerBook.Count; i++) { ConnectedPlayer pl = _fabPlayerBook[i]; if (pl.PlayerId.Equals(infabid, StringComparison.OrdinalIgnoreCase)) { _fabPlayerBook.Remove(pl); break; } }//*/ PlayFabMultiplayerAgentAPI.UpdateConnectedPlayers(_fabPlayerBook); CheckConnToShutDown(); }
// Use this for initialization void Start() { if (configuration.buildType != BuildType.REMOTE_SERVER) { return; } _connectedPlayers = new List <ConnectedPlayer>(); PlayFabMultiplayerAgentAPI.Start(); PlayFabMultiplayerAgentAPI.IsDebugging = Debugging; PlayFabMultiplayerAgentAPI.OnMaintenanceCallback += OnMaintenance; PlayFabMultiplayerAgentAPI.OnShutDownCallback += OnShutdown; PlayFabMultiplayerAgentAPI.OnServerActiveCallback += OnServerActive; PlayFabMultiplayerAgentAPI.OnAgentErrorCallback += OnAgentError; UnityNetworkServer.Instance.OnPlayerAdded.AddListener(OnPlayerAdded); UnityNetworkServer.Instance.OnPlayerRemoved.AddListener(OnPlayerRemoved); StartCoroutine(ReadyForPlayers()); StartCoroutine(ShutdownServerInXTime()); }
// Utils // Configure Logger to output file to Playfab Logs folder private void ConfigurePlayFabLogs() { var logFolderPath = PlayFabMultiplayerAgentAPI.GetConfigSettings() [PlayFabMultiplayerAgentAPI.LogFolderKey]; BoltLog.Add(new PlayfabLogger(logFolderPath)); }
private void OnPlayerAdded(string playfabId) { _connectedPlayers.Add(new ConnectedPlayer(playfabId)); PlayFabMultiplayerAgentAPI.UpdateConnectedPlayers(_connectedPlayers); }
IEnumerator ReadyForPlayers() { yield return(new WaitForSeconds(.5f)); PlayFabMultiplayerAgentAPI.ReadyForPlayers(); }
void StartPlayFabAPI() { PlayFabMultiplayerAgentAPI.Start(); StartCoroutine(ReadyForPlayers()); }
private void OnServerAddedPlayer(string infabid) { H.klog1($"Fab server Got 1 client Connecting -> update connected player", this.name); _fabPlayerBook.Add(new ConnectedPlayer(infabid)); PlayFabMultiplayerAgentAPI.UpdateConnectedPlayers(_fabPlayerBook); }