Example #1
0
        void HandleJoinGameMsg(InsightNetworkMessage netMsg)
        {
            JoinGamMsg message = netMsg.ReadMessage <JoinGamMsg>();

            if (server.logNetworkMessages)
            {
                UnityEngine.Debug.Log("[MatchMaking] - Player joining Match.");
            }

            GameContainer game = GetGameByUniqueID(message.UniqueID);

            if (game == null)
            {
                //Something went wrong
                //netMsg.Reply((short)MsgId.ChangeServers, new ChangeServerMsg());
            }
            else
            {
                netMsg.Reply((short)MsgId.ChangeServers, new ChangeServerMsg()
                {
                    NetworkAddress = game.NetworkAddress,
                    NetworkPort    = game.NetworkPort,
                    SceneName      = game.SceneName
                });
            }
        }
Example #2
0
        public void Update()
        {
            if (!InitMatch)
            {
                //Check to see if the server is up
                if (matchModule.gameManager.GetGameByUniqueID(matchProperties.UniqueID) == null)
                {
                    //Server spawn timeout check
                    if (matchStartTime.AddSeconds(MatchTimeoutInSeconds) < DateTime.UtcNow)
                    {
                        CancelMatch();
                    }

                    UnityEngine.Debug.Log("Server not active at this time");
                    return;
                }
                //Server is registered and active
                else
                {
                    InitMatch   = true;
                    MatchServer = matchModule.gameManager.GetGameByUniqueID(matchProperties.UniqueID);

                    //Move players to server
                    foreach (UserContainer user in matchUsers)
                    {
                        matchModule.server.SendToClient(user.connectionId, (short)MsgId.ChangeServers, new ChangeServers()
                        {
                            NetworkAddress = MatchServer.NetworkAddress,
                            NetworkPort    = MatchServer.NetworkPort,
                            SceneName      = MatchServer.SceneName
                        });
                    }
                }
            }
        }
Example #3
0
        public void Update()
        {
            if (!InitMatch)
            {
                if (IsSpawnServerActive())
                {
                    InitMatch   = true;
                    MatchServer = matchModule.gameManager.GetGameByUniqueID(matchProperties.UniqueID);

                    MovePlayersToServer();
                }
            }
        }
Example #4
0
        private void HandleRegisterGameMsg(InsightMessage _insightMsg)
        {
            if (_insightMsg is InsightNetworkMessage netMsg)
            {
                var message = (RegisterGameMsg)_insightMsg.message;

                Debug.Log("[GameMasterManager] - Received game registration");

                var game = new GameContainer {
                    connectionId = netMsg.connectionId,

                    uniqueId       = message.uniqueId,
                    networkAddress = message.networkAddress,
                    networkPort    = message.networkPort,
                    gameName       = message.gameName,
                    minPlayers     = message.minPlayers,
                    maxPlayers     = message.maxPlayers,
                    currentPlayers = message.currentPlayers,
                };

                registeredGameServers.Add(game);

                foreach (var playerTemp in registeredPlayers)
                {
                    server.NetworkSend(playerTemp.connectionId, new GameListStatusMsg {
                        operation = GameListStatusMsg.Operation.Add,
                        game      = game
                    });
                }

                LaunchGame(game.uniqueId);
            }
            else
            {
                Debug.LogError("[GameMasterManager] - Rejected (Internal) game registration");
            }
        }
Example #5
0
 public void Update(GameContainer _game)
 {
     currentPlayers = _game.currentPlayers;
     isInMatch      = _game.isInMatch;
 }