Example #1
0
    void Awake()
    {
        servers = new Dictionary <GameServerInfo, NetworkConnection>();
        NetworkServer.RegisterHandler((short)CustomMessageTypes.AddServer, netMsg =>
        {
            print("received add server request");
            AddServerData receivedData = netMsg.ReadMessage <AddServerData>();
            GameServerInfo serverInfo  = new GameServerInfo();
            serverInfo.maxPlayers      = receivedData.maxPlayers;
            serverInfo.gameName        = receivedData.gameName;
            serverInfo.matchType       = receivedData.matchType;
            serverInfo.ip   = netMsg.conn.address;
            serverInfo.port = receivedData.port;
            serverInfo.GenerateAndSetUniqueID();
            AddServer(serverInfo, netMsg.conn);
            NetworkServer.SendToClient(netMsg.conn.connectionId, (short)CustomMessageTypes.SetServerInfoOnGameServer, serverInfo);
        });

        NetworkServer.RegisterHandler((short)CustomMessageTypes.RemoveServer, netMsg =>
        {
            RemoveServerData receiveData = netMsg.ReadMessage <RemoveServerData>();
            RemoveServer(receiveData.serverID);
        });

        NetworkServer.RegisterHandler((short)CustomMessageTypes.UpdateServerPlayerCount, netMsg =>
        {
            UpdatePlayerCountData receivedData = netMsg.ReadMessage <UpdatePlayerCountData>();
            UpdatePlayerCount(receivedData.serverID, receivedData.currentPlayerCount);
        });
    }
Example #2
0
 public void RemoveSelfFromLobby()
 {
     if (myInfo != null)
     {
         RemoveServerData data = new RemoveServerData();
         data.serverID = myInfo.id;
         LobbyClientBase.instance.networkClient.Send((short)CustomMessageTypes.RemoveServer, data);
     }
 }