public static NetworkAccessToken GetAccessTokenForNetwork(NetworkID netId)
 {
   NetworkAccessToken networkAccessToken;
   if (!Utility.s_dictTokens.TryGetValue(netId, out networkAccessToken))
     networkAccessToken = new NetworkAccessToken();
   return networkAccessToken;
 }
Exemple #2
0
        void JoinMatch(NetworkID networkID, LobbyManager lobbyManager, MatchDesc match) {
			lobbyManager.DisplayIsConnecting ();
			lobbyManager.matchMaker.JoinMatch (networkID, "", lobbyManager.OnMatchJoined);
			lobbyManager.currentMatchValue = Int32.Parse(match.name.Split(' ')[match.name.Split(' ').Length-1]);
			lobbyManager.backDelegate = lobbyManager.QuitLobbyToMenu;
			lobbyManager.isMatchmaking = true;
		}
 void JoinMatch(NetworkID networkID, LobbyManager lobbyManager)
 {
     lobbyManager.matchMaker.JoinMatch(networkID, "", lobbyManager.OnMatchJoined);
     lobbyManager.backDelegate = lobbyManager.StopClientClbk;
     lobbyManager._isMatchmaking = true;
     lobbyManager.DisplayIsConnecting();
 }
Exemple #4
0
 void JoinMatch(NetworkID networkID, LobbyManager lobbyManager)
 {
     lobbyManager.matchMaker.JoinMatch(networkID, "", "", "", 0, 0, lobbyManager.OnMatchJoined);
     lobbyManager.backDelegate = lobbyManager.StopClientClbk;
     lobbyManager._isMatchmaking = true;
     lobbyManager.DisplayIsConnecting();
     lobbyManager.serverListPanel.gameObject.SetActive(false);
 }
        void JoinMatch(NetworkID networkID, LobbyManager lobbyManager)
        {
            LobbyManagerUI.Instance.DisplayIsConnecting();
            LobbyManagerUI.Instance.backDelegate = LobbyManagerUI.Instance.StopClientClbk;

            lobbyManager.matchMaker.JoinMatch(networkID, "", lobbyManager.OnMatchJoined);
            lobbyManager.isMatchmaking = true;
        }
Exemple #6
0
 /// <summary>
 /// <para>Utility function that accepts the access token for a network after it's received from the server.</para>
 /// </summary>
 /// <param name="netId"></param>
 /// <param name="accessToken"></param>
 public static void SetAccessTokenForNetwork(NetworkID netId, NetworkAccessToken accessToken)
 {
     if (s_dictTokens.ContainsKey(netId))
     {
         s_dictTokens.Remove(netId);
     }
     s_dictTokens.Add(netId, accessToken);
 }
Exemple #7
0
 /// <summary>
 /// <para>Utility function to get this client's access token for a particular network, if it has been set.</para>
 /// </summary>
 /// <param name="netId"></param>
 public static NetworkAccessToken GetAccessTokenForNetwork(NetworkID netId)
 {
     NetworkAccessToken token;
     if (!s_dictTokens.TryGetValue(netId, out token))
     {
         token = new NetworkAccessToken();
     }
     return token;
 }
 // Don't think i can have ping on here
 void AddServerButton(string HostName, int curPlayers, int maxPlayers, NetworkID netID)
 {
     GameObject newButton = Instantiate(sampleButton) as GameObject;
     ServerButton newServerButton = newButton.GetComponent<ServerButton>();
     newServerButton.Name.text = HostName;
     newServerButton.Players.text = curPlayers + " / " + maxPlayers;
     newServerButton.transform.SetParent(contentPanel);
     newServerButton.setServer(manager, netID);
 }
    public void JoinMatch(NetworkID netId)
    {
        print ("joining match: " + netId);
        var request = new JoinMatchRequest () {
            networkId = netId,
            password = ""

        };
        networkMatch.JoinMatch (request, base.OnMatchJoined);
    }
        static ReplicaReturnResult ConstructionCB(BitStream inBitStream, uint timestamp, NetworkID networkID, NetworkIDObject existingObject, SystemAddress senderId, ReplicaManagerExt caller, IntPtr userData)
        {
            StringBuilder output = new StringBuilder(255);

            if (isServer)
                return ReplicaReturnResult.REPLICA_PROCESSING_DONE;

            StringTable.Instance().DecodeString(output, output.Capacity, inBitStream);
            if (output.ToString() == "Player")
            {
                System.Diagnostics.Debug.Assert(player == null);

                player = new Player();

                player.replica.SetNetworkIDManager(networkIDManager);
                player.replica.SetNetworkID(networkID);

                if (!isServer)
                {
                    replicaManager.Construct(player.replica, true, senderId, false);

                    replicaManager.SetScope(player.replica, true, senderId, false);
                }

                Console.Write("New player created\n");
            }
            else if (output.ToString() == "Monster")
            {
                System.Diagnostics.Debug.Assert(monster == null);

                monster = new Monster();

                monster.replica.SetNetworkIDManager(networkIDManager);
                monster.replica.SetNetworkID(networkID);

                if (!isServer)
                {
                    replicaManager.Construct(monster.replica, true, senderId, false);

                    replicaManager.SetScope(monster.replica, true, senderId, false);
                }

                Console.Write("New monster created\n");
            }
            else
            {
                System.Diagnostics.Debug.Assert(false);
            }
            return ReplicaReturnResult.REPLICA_PROCESSING_DONE;
        }
 private string _GetRoomNumberFromNetworkId(NetworkID networkID)
 {
     return((System.Convert.ToInt64(networkID.ToString()) % 10000).ToString());
 }
Exemple #12
0
 public BanData(NetworkID id, string reason, string bantime)
 {
     this._bantime = bantime;
     this._ID      = id;
     this._reason  = reason;
 }
Exemple #13
0
 public Coroutine DropConnection(NetworkID netId, NodeID dropNodeId, int requestDomain, BasicResponseDelegate callback)
 {
     return(DropConnection(new DropConnectionRequest {
         networkId = netId, nodeId = dropNodeId, domain = requestDomain
     }, callback));
 }
 internal void InternalListenRelay(string relayIp, int relayPort, NetworkID netGuid, SourceID sourceId, NodeID nodeId, int listenPort)
 {
     if (this.m_hostTopology == null)
       {
     ConnectionConfig defaultConfig = new ConnectionConfig();
     int num1 = (int) defaultConfig.AddChannel(QosType.Reliable);
     int num2 = (int) defaultConfig.AddChannel(QosType.Unreliable);
     this.m_hostTopology = new HostTopology(defaultConfig, 8);
       }
       this.m_ServerId = NetworkTransport.AddHost(this.m_hostTopology, listenPort);
       if (LogFilter.logDebug)
     Debug.Log((object) ("Server Host Slot Id: " + (object) this.m_ServerId));
       NetworkServer.Update();
       byte error;
       NetworkTransport.ConnectAsNetworkHost(this.m_ServerId, relayIp, relayPort, netGuid, sourceId, nodeId, out error);
       this.m_RelaySlotId = 0;
       if (LogFilter.logDebug)
     Debug.Log((object) ("Relay Slot Id: " + (object) this.m_RelaySlotId));
       if ((int) error != 0)
     Debug.Log((object) ("ListenRelay Error: " + (object) error));
       NetworkServer.s_Active = true;
       this.m_MessageHandlers.RegisterHandlerSafe((short) 35, new NetworkMessageDelegate(this.OnClientReadyMessage));
       this.m_MessageHandlers.RegisterHandlerSafe((short) 5, new NetworkMessageDelegate(this.OnCommandMessage));
       this.m_MessageHandlers.RegisterHandlerSafe((short) 6, new NetworkMessageDelegate(NetworkTransform.HandleTransform));
       this.m_MessageHandlers.RegisterHandlerSafe((short) 40, new NetworkMessageDelegate(NetworkAnimator.OnAnimationServerMessage));
       this.m_MessageHandlers.RegisterHandlerSafe((short) 41, new NetworkMessageDelegate(NetworkAnimator.OnAnimationParametersServerMessage));
       this.m_MessageHandlers.RegisterHandlerSafe((short) 42, new NetworkMessageDelegate(NetworkAnimator.OnAnimationTriggerServerMessage));
 }
 static public int ConnectToNetworkPeer(int hostId, string address, int port, int exceptionConnectionId, int relaySlotId, NetworkID network, SourceID source, NodeID node, int bytesPerSec, float bucketSizeFactor, out byte error)
 {
     return(ConnectToNetworkPeerInternal(hostId, address, port, exceptionConnectionId, relaySlotId, (ulong)network, (ulong)source, (ushort)node, bytesPerSec, bucketSizeFactor, out error));
 }
        static public void GetConnectionInfo(int hostId, int connectionId, out string address, out int port, out NetworkID network, out NodeID dstNode, out byte error)
        {
            ulong  netw;
            ushort node;

            address = GetConnectionInfo(hostId, connectionId, out port, out netw, out node, out error);
            network = (NetworkID)netw;
            dstNode = (NodeID)node;
        }
Exemple #17
0
 public static void ConnectAsNetworkHost(int hostId, string address, int port, NetworkID network, SourceID source, NodeID node, out byte error)
 {
     throw new NotImplementedException("なにこれ");
 }
Exemple #18
0
 public Coroutine JoinMatch(NetworkID netId, string matchPassword, string publicClientAddress, string privateClientAddress, int eloScoreForClient, int requestDomain, DataResponseDelegate <MatchInfo> callback)
 {
     return(JoinMatch(new JoinMatchRequest {
         networkId = netId, password = matchPassword, publicAddress = publicClientAddress, privateAddress = privateClientAddress, eloScore = eloScoreForClient, domain = requestDomain
     }, callback));
 }
Exemple #19
0
 void JoinMatch(NetworkID networkID, LobbyManager lobbyManager, string gameName)
 {
     lobbyManager.roomName = gameName;
     lobbyManager.matchMaker.JoinMatch(networkID, "", "", "", 0, 0, lobbyManager.OnMatchJoined);
     lobbyManager.DisplayIsConnecting();
 }
 void JoinMatch(NetworkID networkID, NetworkManager networkManager)
 {
     networkManager.matchMaker.JoinMatch(networkID, "", networkManager.OnMatchJoined);
 }
 void JoinMatch(NetworkID networkID, LobbyManager lobbyManager)
 {
     lobbyManager.matchMaker.JoinMatch(networkID, "", "", "", 0, 0, lobbyManager.OnMatchJoined);
     lobbyManager._isMatchmaking = true;
     lobbyManager.DisplayIsConnecting();
 }
 public static void GetConnectionInfo(int hostId, int connectionId, out string address, out int port, out NetworkID network, out NodeID dstNode, out byte error)
 {
     ulong num;
     ushort num2;
     address = GetConnectionInfo(hostId, connectionId, out port, out num, out num2, out error);
     network = (NetworkID) num;
     dstNode = (NodeID) num2;
 }
Exemple #23
0
 public Coroutine SetMatchAttributes(NetworkID networkId, bool isListed, int requestDomain, BasicResponseDelegate callback)
 {
     return(SetMatchAttributes(new SetMatchAttributesRequest {
         networkId = networkId, isListed = isListed, domain = requestDomain
     }, callback));
 }
 public static extern void ConnectAsNetworkHost(int hostId, string address, int port, NetworkID network, SourceID source, NodeID node, out byte error);
Exemple #25
0
 public static int ConnectToNetworkPeer(int hostId, string address, int port, int exceptionConnectionId, int relaySlotId, NetworkID network, SourceID source, NodeID node, int bytesPerSec, float bucketSizeFactor, out byte error)
 {
     throw new NotImplementedException("なにこれ");
 }
 public static int ConnectToNetworkPeer(int hostId, string address, int port, int exceptionConnectionId, int relaySlotId, NetworkID network, SourceID source, NodeID node, out byte error)
 {
     return NetworkTransport.ConnectToNetworkPeer(hostId, address, port, exceptionConnectionId, relaySlotId, network, source, node, 0, 0.0f, out error);
 }
Exemple #27
0
 public static void GetConnectionInfo(int hostId, int connectionId, out string address, out int port, out NetworkID network, out NodeID dstNode, out byte error)
 {
     address = GetConnectionInfo(hostId, connectionId, out port, out ulong network2, out ushort dstNode2, out error);
     network = (NetworkID)network2;
     dstNode = (NodeID)dstNode2;
 }
Exemple #28
0
 /// <summary>
 /// Describes what happens when the button is clicked
 /// </summary>
 /// <param name="networkId">Network identifier.</param>
 /// <param name="manager">Manager to call back</param>
 public virtual void OnClick(NetworkID networkId, OnlineLobbyManager manager)
 {
     manager._onlineLobbyUI.TitleLabel.text = "GAME " + _matchName;
     manager.matchMaker.JoinMatch(networkId, "", "", "", 0, manager.GameId, manager.OnMatchJoined);
 }
Exemple #29
0
 public void ConnectAsNetworkHost(int hostId, string address, int port, NetworkID network, SourceID source, NodeID node, out byte error)
 {
     // Creates a dedicated connection to Relay server
     Debug.LogError("[" + TAG + "] ConnectAsNetworkHost() not implemented");
     throw new System.NotImplementedException();
 }
 static public int ConnectToNetworkPeer(int hostId, string address, int port, int exceptionConnectionId, int relaySlotId, NetworkID network, SourceID source, NodeID node, out byte error)
 {
     return(ConnectToNetworkPeer(hostId, address, port, exceptionConnectionId, relaySlotId, network, source, node, 0, 0, out error));
 }
Exemple #31
0
 public void GetConnectionInfo(int hostId, int connectionId, out string address, out int port, out NetworkID network, out NodeID dstNode, out byte error)
 {
     // Returns the connection parameters for the specified connectionId. These parameters can be sent
     // to other users to establish a direct connection to this peer. If this peer is connected to the host
     // via Relay, the Relay-related parameters are set.
     Debug.Log("[" + TAG + "] GetConnectionInfo()");
     address = "";
     port    = -1;
     network = NetworkID.Invalid;
     dstNode = NodeID.Invalid;
     error   = (byte)NetworkError.UsageError;
     if (!connections.ContainsKey(hostId))
     {
         error = (byte)NetworkError.WrongHost;
         return;
     }
     if (!connections[hostId].ContainsKey(connectionId))
     {
         error = (byte)NetworkError.WrongConnection;
         return;
     }
     tempPeer = connections[hostId][connectionId];
     address  = tempPeer.IP;
     port     = tempPeer.Port;
     error    = (byte)NetworkError.Ok;
 }
 public void ConnectAsNetworkHost(int hostId, string address, int port, NetworkID network, SourceID source, NodeID node, out byte error)
 {
     NetworkTransport.ConnectAsNetworkHost(hostId, address, port, network, source, node, out error);
 }
Exemple #33
0
 public Coroutine DestroyMatch(NetworkID netId, int requestDomain, BasicResponseDelegate callback)
 {
     return(DestroyMatch(new DestroyMatchRequest {
         networkId = netId, domain = requestDomain
     }, callback));
 }
Exemple #34
0
 public int ConnectToNetworkPeer(int hostId, string address, int port, int specialConnectionId, int relaySlotId, NetworkID network, SourceID source, NodeID node, out byte error)
 {
     // Creates a connection to another peer in the Relay group.
     Debug.LogError("[" + TAG + "] ConnectToNetworkPeer() not implemented");
     throw new System.NotImplementedException();
 }
 public int ConnectToNetworkPeer(int hostId, string address, int port, int specialConnectionId, int relaySlotId, NetworkID network, SourceID source, NodeID node, out byte error)
 {
     return(NetworkTransport.ConnectToNetworkPeer(hostId, address, port, specialConnectionId, relaySlotId, network, source, node, out error));
 }
Exemple #36
0
 public void StartClient(NetworkID networkId, string password)
 {
     m_NetworkMatch.JoinMatch(networkId, password, "", "", 0, 0, OnMatchJoined);
 }
 public void GetConnectionInfo(int hostId, int connectionId, out string address, out int port, out NetworkID network, out NodeID dstNode, out byte error)
 {
     NetworkTransport.GetConnectionInfo(hostId, connectionId, out address, out port, out network, out dstNode, out error);
 }
 /// <summary>
 /// 
 /// <para>
 /// UnderlyingModel.MemDoc.MemDocModelStarts a server using a relay server. This is the manual way of using the relay server, as the regular NetworkServer.Connect() will automatically  use the relay server if a UMatch exists.
 /// </para>
 /// 
 /// </summary>
 /// <param name="relayIp">Relay server IP Address.</param><param name="relayPort">Relay server port.</param><param name="netGuid">GUID of the network to create.</param><param name="sourceId">This server's sourceId.</param><param name="nodeId">The node to join the network with.</param>
 public static void ListenRelay(string relayIp, int relayPort, NetworkID netGuid, SourceID sourceId, NodeID nodeId)
 {
     NetworkServer.instance.InternalListenRelay(relayIp, relayPort, netGuid, sourceId, nodeId, 0);
 }
Exemple #39
0
 public static void SetAccessTokenForNetwork(NetworkID netId, NetworkAccessToken accessToken)
 {
     s_dictTokens.Add(netId, accessToken);
 }
Exemple #40
0
 public static extern void ConnectAsNetworkHost(int hostId, string address, int port, NetworkID network, SourceID source, NodeID node, out byte error);
Exemple #41
0
 public void joinServer(NetworkID networkId)
 {
     matchMaker.JoinMatch(networkId, "", "", "", 0, 0, OnMatchJoined);
     ServerChangeScene(lobbyScene);
 }
 public override void OnMatchCreate(CreateMatchResponse response)
 {
     base.OnMatchCreate(response);
     _networkID = response.networkId;
     _nodeID = response.nodeId;
 }
        public static bool TryGetPlayer(string identifier, out Players.Player targetPlayer, out string error, bool includeOffline = false)
        {
            targetPlayer = null;
            if (identifier.StartsWith("'"))
            {
                if (identifier.EndsWith("'"))
                {
                    identifier = identifier.Substring(1, identifier.Length - 2);
                }
                else
                {
                    error = "missing ' after playername";
                    return(false);
                }
            }
            if (identifier.Length < 1)
            {
                error = "no playername given";
                return(false);
            }

            // try to find by steamID first
            ulong steamid;

            if (ulong.TryParse(identifier, out steamid))
            {
                Steamworks.CSteamID csteamid = new Steamworks.CSteamID(steamid);
                if (csteamid.IsValid())
                {
                    NetworkID networkId = new NetworkID(csteamid);
                    error = "";
                    if (Players.TryGetPlayer(networkId, out targetPlayer))
                    {
                        return(true);
                    }
                    else
                    {
                        targetPlayer = null;
                    }
                }
            }

            // try to find by hash code
            var m = Regex.Match(identifier, @"#(?<hash>\d{8})");
            int givenHash;

            if (m.Success && int.TryParse(m.Groups["hash"].Value, out givenHash))
            {
                foreach (Players.Player player in Players.PlayerDatabase.Values)
                {
                    if (!includeOffline && player.ConnectionState != Players.EConnectionState.Connected)
                    {
                        continue;
                    }
                    if (player.ID.steamID.GetHashCode() == givenHash)
                    {
                        if (targetPlayer == null)
                        {
                            targetPlayer = player;
                        }
                        else
                        {
                            targetPlayer = null;
                            error        = "duplicate hash code, please use full SteamID";
                            return(false);
                        }
                    }
                }

                if (targetPlayer != null)
                {
                    error = "";
                    return(true);
                }
            }

            // try to find by string closest match
            Players.Player closestMatch = null;
            int            closestDist  = int.MaxValue;

            foreach (var player in Players.PlayerDatabase.Values)
            {
                if (!includeOffline && player.ConnectionState != Players.EConnectionState.Connected)
                {
                    continue;
                }
                if (player.Name != null)
                {
                    if (string.Equals(player.Name, identifier, StringComparison.InvariantCultureIgnoreCase))
                    {
                        if (targetPlayer == null)
                        {
                            targetPlayer = player;
                        }
                        else
                        {
                            targetPlayer = null;
                            error        = "duplicate player name, pls use SteamID";
                            return(false);
                        }
                    }
                    else
                    {
                        int levDist = LevenshteinDistance.Compute(player.Name.ToLower(), identifier.ToLower());
                        if (levDist < closestDist)
                        {
                            closestDist  = levDist;
                            closestMatch = player;
                        }
                        else if (levDist == closestDist)
                        {
                            closestMatch = null;
                        }
                    }
                }
            }

            if (targetPlayer != null)
            {
                error = "";
                return(true);
            }
            else if (closestMatch != null && (closestDist < closestMatch.Name.Length * 0.2))
            {
                error        = "";
                targetPlayer = closestMatch;
                Log.Write($"Name '{identifier}' did not match, picked closest match '{targetPlayer.Name}' instead");
                return(true);
            }
            error = "player not found";
            return(false);
        }
 public static extern int ConnectToNetworkPeer(int hostId, string address, int port, int exceptionConnectionId, int relaySlotId, NetworkID network, SourceID source, NodeID node, int bytesPerSec, float bucketSizeFactor, out byte error);
Exemple #45
0
 private void JoinMatch(NetworkID networkID)
 {
     mainMenu.JoinMatch(networkID);
 }
 public static void GetConnectionInfo(int hostId, int connectionId, out string address, out int port, out NetworkID network, out NodeID dstNode, out byte error)
 {
     ulong network1;
       ushort dstNode1;
       address = NetworkTransport.GetConnectionInfo(hostId, connectionId, out port, out network1, out dstNode1, out error);
       network = (NetworkID) network1;
       dstNode = (NodeID) dstNode1;
 }
 //Relay ----
 static public void ConnectAsNetworkHost(int hostId, string address, int port, NetworkID network, SourceID source, NodeID node, out byte error)
 {
     ConnectAsNetworkHostInternal(hostId, address, port, (ulong)network, (ulong)source, (ushort)node, out error);
 }
 public override void Parse(object obj)
 {
     IDictionary<string, object> dictJsonObj = obj as IDictionary<string, object>;
       if (dictJsonObj == null)
     throw new FormatException("While parsing JSON response, found obj is not of type IDictionary<string,object>:" + obj.ToString());
       this.networkId = (NetworkID) this.ParseJSONUInt64("networkId", obj, dictJsonObj);
       this.name = this.ParseJSONString("name", obj, dictJsonObj);
       this.maxSize = this.ParseJSONInt32("maxSize", obj, dictJsonObj);
       this.currentSize = this.ParseJSONInt32("currentSize", obj, dictJsonObj);
       this.isPrivate = this.ParseJSONBool("isPrivate", obj, dictJsonObj);
       this.directConnectInfos = this.ParseJSONList<MatchDirectConnectInfo>("directConnectInfos", obj, dictJsonObj);
 }
Exemple #49
0
 public void Start(NetworkID networkID)
 {
     NetworkID = networkID;
     UpdateLoot();
 }
 public void CustomOnMatchJoined(JoinMatchResponse response)
 {
     OnMatchJoined(response);
     _networkID = response.networkId;
     _nodeID = response.nodeId;
 }
Exemple #51
0
 public static extern int ConnectToNetworkPeer(int hostId, string address, int port, int exceptionConnectionId, int relaySlotId, NetworkID network, SourceID source, NodeID node, int bytesPerSec, float bucketSizeFactor, out byte error);
Exemple #52
0
        public static void GetConnectionInfo(int hostId, int connectionId, out string address, out int port, out NetworkID network, out NodeID dstNode, out byte error)
        {
            ulong  num;
            ushort num2;

            address = NetworkTransport.GetConnectionInfo(hostId, connectionId, out port, out num, out num2, out error);
            network = (NetworkID)num;
            dstNode = (NodeID)num2;
        }
 private void InternalListenRelay(string relayIp, int relayPort, NetworkID netGuid, SourceID sourceId, NodeID nodeId)
 {
     this.m_SimpleServerSimple.ListenRelay(relayIp, relayPort, netGuid, sourceId, nodeId);
     s_Active = true;
     this.RegisterMessageHandlers();
 }