Question by 
               l7ssha · Feb 01, 2016 at 04:59 PM · 
                c#networkingmatchmaking  
              
 
              Custom Matchmaker dont work
Hello! So here's a script I created on the basis of documentary [LINK] But it does not work: D
Well, the game is formed but but I can not join him
 using UnityEngine;
 using System.Collections;
 using UnityEngine.Networking;
 using UnityEngine.UI;
 using UnityEngine.Networking.Types;
 using UnityEngine.Networking.Match;
 using System.Collections.Generic;
 
 public class NetworkManager_Custom : NetworkManager {
 
 
     List<MatchDesc> matchList = new List<MatchDesc>();
     bool matchCreated;
     NetworkMatch networkMatch;
 
     void Awake()
     {
         networkMatch = gameObject.AddComponent<NetworkMatch>();
     }
 
 
 
 
     //*******************************************
     // LOCAL HOST                                *
     //*******************************************
     public void StartupHost()
     {
         SetPort();
         NetworkManager.singleton.StartHost();
     }
 
     public void JoinGame()
     {
         SetIPAddress();
         SetPort();
         NetworkManager.singleton.StartClient();
     }
 
 
     public void JoinGameSingleplayer()
     {
         SetPortSinglePLayer();
         NetworkManager.singleton.StartHost();
 
     }
 
 
     void SetIPAddress()
     {
         string ipAddress = GameObject.Find("InputFieldIPAddress").transform.FindChild("Text").GetComponent<Text>().text;
         NetworkManager.singleton.networkAddress = ipAddress;
     }
 
     void SetPort()
     {
         NetworkManager.singleton.networkPort = 6969;
     }
 
 
     void SetPortSinglePLayer()
     {
         int randomPort = Random.Range (1000, 99999);
         Debug.Log (randomPort);
         NetworkManager.singleton.networkPort = randomPort;
     }
 
 
 
 
     void OnLevelWasLoaded (int level)
     {
         if(level == 0)
         {
             //SetupMenuSceneButtons();
             StartCoroutine(SetupMenuSceneButtons());
         }
 
         else
         {
             SetupOtherSceneButtons();
         }
     }
 
 
 
 
     /*/**********************
      *  SETUP                *
      *  BUTTONS                *
     /************************/
 
     IEnumerator SetupMenuSceneButtons()
     {
         yield return new WaitForSeconds(0.5f);
         GameObject.Find("ButtonStartHost").GetComponent<Button>().onClick.RemoveAllListeners();
         GameObject.Find("ButtonStartHost").GetComponent<Button>().onClick.AddListener(StartupHost);
 
         GameObject.Find("ButtonJoinGame").GetComponent<Button>().onClick.RemoveAllListeners();
         GameObject.Find("ButtonJoinGame").GetComponent<Button>().onClick.AddListener(JoinGame);
     }
 
     void SetupOtherSceneButtons()
     {
         GameObject.Find("ButtonDisconnect").GetComponent<Button>().onClick.RemoveAllListeners();
         GameObject.Find("ButtonDisconnect").GetComponent<Button>().onClick.AddListener(NetworkManager.singleton.StopHost);
     }
 
     //******************************************************************************************************************************
 
 
     //
     // MATCHAMKER       HERE I HAVE PROBLEMS!!!
     //
 
 
     //******************************************************************************************************************************
 
 
     public void CreateMatch() //HERE
     {
         CreateMatchRequest create = new CreateMatchRequest ();
         create.name = "NewRoom";
         create.size = 4;
         create.advertise = true;
         create.password = "";
 
         networkMatch.CreateMatch (create, OnMatchCreate);
     }
 
 
 
 
     void OnGUI()
     {
 
         if (GUILayout.Button("List rooms"))
         {
             networkMatch.ListMatches(0, 20, "", OnMatchList);
         }
 
         if (matchList.Count > 0)
         {
             GUILayout.Label("Current rooms");
         }
         foreach (var match in matchList)
         {
             if (GUILayout.Button(match.name))
             {
                 networkMatch.JoinMatch(match.networkId, "", OnMatchJoined);
             }
         }
     }
 
     public void OnMatchCreate(CreateMatchResponse matchResponse)
     {
         if (matchResponse.success)
         {
             Debug.Log("Create match succeeded");
             matchCreated = true;
             Utility.SetAccessTokenForNetwork(matchResponse.networkId, new NetworkAccessToken(matchResponse.accessTokenString));
             NetworkServer.Listen(new MatchInfo(matchResponse), 9000);
         }
         else
         {
             Debug.LogError ("Create match failed");
         }
     }
 
     public void OnMatchList(ListMatchResponse matchListResponse)
     {
         if (matchListResponse.success && matchListResponse.matches != null)
         {
             networkMatch.JoinMatch(matchListResponse.matches[0].networkId, "", OnMatchJoined);
         }
     }
 
     public void OnMatchJoined(JoinMatchResponse matchJoin)
     {
         if (matchJoin.success)
         {
             Debug.Log("Join match succeeded");
             if (matchCreated)
             {
                 Debug.LogWarning("Match already set up, aborting...");
                 return;
             }
             Utility.SetAccessTokenForNetwork(matchJoin.networkId, new NetworkAccessToken(matchJoin.accessTokenString));
             NetworkClient myClient = new NetworkClient();
             myClient.RegisterHandler(MsgType.Connect, OnConnected);
             myClient.Connect(new MatchInfo(matchJoin));
         }
         else
         {
             Debug.LogError("Join match failed");
         }
     }
 
     public void OnConnected(NetworkMessage msg)
     {
         Debug.Log("Connected!");
     }
 
 }
               Comment
              
 
               
              Your answer
 
 
             Follow this Question
Related Questions
uNet: Failed to send internal buffer 0 Answers
Join the oldest match (world wide) 0 Answers
Unet local matchmaking 0 Answers
How can I read In a twitter # 1 Answer
 koobas.hobune.stream
koobas.hobune.stream 
                       
                
                       
			     
			 
                