Exemplo n.º 1
0
        private void Kick(NetworkCommandArgs args)
        {
            string pkg = String.Empty;

            try
            {
                BetterNetworkUser player = UserList.getUserFromName(args.Parameters[0]);
                NetworkTools.kick(player.networkPlayer, args.Parameters[1]);
                pkg = $"Successfully kicked player {player.name}, reason: {args.Parameters[1]}";
            }
            catch (Exception ex)
            {
                pkg = ex.Message;
            }
            args.sender.SendBytes(Encoding.UTF8.GetBytes(pkg));
        }
Exemplo n.º 2
0
        public void TestCredentialMapping_Deserialization()
        {
            Uri uri      = new Uri("https://zzz.blob.core.windows.net/");
            var fileText = NetworkTools.DownloadTextFile(uri);
            var repo     = NetworkTools.DeserializeJson <CompositeDeviceConfiguration>(fileText);

            Assert.IsNotNull(repo, "Should not be null");
            Assert.AreEqual(2, repo.Devices.Count, "Mismated # of mappings");
            var compare1 = SameDevice(repo.Devices[0], "deviceidt001", "zzz", "localdevice001");

            Assert.IsTrue(compare1, "Device 1 mismatch");

            var compare2 = SameDevice(repo.Devices[1], "deviceidt002", "zzz", "localdevice002");

            Assert.IsTrue(compare2, "Device 2 mismatch");
        }
Exemplo n.º 3
0
    public override void Open()
    {
        gunTxt.Clear();
        gunIm.Clear();
        base.Open();
        foreach (var item in playerDic.Keys)
        {
            Destroy(playerDic[item]);
        }
        playerDic.Clear();
        foreach (var item in RoomSingle.GetInfos().Keys)
        {
            if (NetworkTools.GetLocalIP().Equals(item))
            {
                continue;//忽略自己
            }
            GameObject obj = Instantiate <GameObject>(playerPrefab, playerParent.transform);
            obj.SetActive(true);
            obj.transform.localScale = Vector3.one;
            BattlePlayerUI bpui = obj.GetComponent <BattlePlayerUI>();
            bpui.UpdatePanel(item, 1, 1);//初始让其满血
            playerDic.Add(item, bpui);
        }

        gunIm.Add(RoomSingle.GetInfos()[NetworkTools.GetLocalIP()].gun1ID, gun1Image);
        gunIm.Add(RoomSingle.GetInfos()[NetworkTools.GetLocalIP()].gun2ID, gun2Image);
        gunTxt.Add(RoomSingle.GetInfos()[NetworkTools.GetLocalIP()].gun1ID, gun1Text);
        gunTxt.Add(RoomSingle.GetInfos()[NetworkTools.GetLocalIP()].gun2ID, gun2Text);

        gun1Image.sprite = Resources.Load <Sprite>("UI/WeaponIcon/Gun" + RoomSingle.GetInfos()[NetworkTools.GetLocalIP()].gun1ID);
        gun2Image.sprite = Resources.Load <Sprite>("UI/WeaponIcon/Gun" + RoomSingle.GetInfos()[NetworkTools.GetLocalIP()].gun2ID);

        GunRow g1Row = GunModel_S.Instance.GetGunInfo(RoomSingle.GetInfos()[NetworkTools.GetLocalIP()].gun1ID);

        UpdateGunMessage(RoomSingle.GetInfos()[NetworkTools.GetLocalIP()].gun1ID, g1Row.Cartridge, g1Row.CarryCap);
        GunRow g2Row = GunModel_S.Instance.GetGunInfo(RoomSingle.GetInfos()[NetworkTools.GetLocalIP()].gun2ID);

        UpdateGunMessage(RoomSingle.GetInfos()[NetworkTools.GetLocalIP()].gun2ID, g2Row.Cartridge, g2Row.CarryCap);

        hpImage.fillAmount = 1;
        gun1Use.SetActive(true);
        gun2Use.SetActive(false);
        EventCenterManager._Instance.AddListener(EventType.UpdatePlayerUI, UpdatePlayerMsgCallBack);
        EventCenterManager._Instance.AddListener(EventType.UpdateBattleGunUI, UpdateGunMsgCallBack);
        EventCenterManager._Instance.AddListener(EventType.SwitchGun, SwitchGunCallBack);
        EventCenterManager._Instance.AddListener(EventType.OpenAimed, OpenAniedCallBack);
    }
Exemplo n.º 4
0
        public async Task <string> GetLocalIp()
        {
            Log.Info("开始获取当前网络环境外网IP...");
            List <LocalIpApiListItem> localIpApiList = ConfigManager.Now.LocalIpApiList;

            if (localIpApiList == null || localIpApiList.Count == 0)
            {
                throw new Exception("获取外网IP接口不存在,请先添加获取IP接口。");
            }
            if (!await NetworkTools.NetworkCheck())
            {
                throw new Exception("当前网络故障,无法连接互联网。");
            }
            string ipAddress = null;

            foreach (var item in localIpApiList)
            {
                try
                {
                    (bool, string)result = await ReuqestApi(item);

                    if (result.Item1)
                    {
                        ipAddress = result.Item2;
                        if (!string.IsNullOrEmpty(ipAddress))
                        {
                            Log.Info($"通过接口【{item.Url}】获取IP地址成功,IP地址:{ipAddress}。");
                            break;
                        }
                    }
                    else
                    {
                        Log.Warn(result.Item2);
                    }
                }
                catch (Exception ex)
                {
                    Log.Warn($"请求接口:{item.Url}失败,错误:{ex.Message}");
                }
            }
            if (string.IsNullOrEmpty(ipAddress))
            {
                throw new Exception("获取当前网络外网IP失败。");
            }

            return(ipAddress);
        }
Exemplo n.º 5
0
 public TrainSet extractBatch(int size)
 {
     if (size > 0 && size <= this.size())
     {
         TrainSet set = new TrainSet(INPUT_SIZE, OUTPUT_SIZE);
         int[]    ids = NetworkTools.randomValues(0, this.size() - 1, size);
         foreach (int i in ids)
         {
             set.addData(this.getInput(i), this.getOutput(i));
         }
         return(set);
     }
     else
     {
         return(this);
     }
 }
Exemplo n.º 6
0
        /// <summary>
        /// Used to generate tokens or verify the validity of tokens
        /// </summary>
        /// <returns>Validation results</returns>
        public async Task <InitResultType> InitAsync()
        {
            InitResultType result = InitResultType.Success;

            if (string.IsNullOrEmpty(Token))
            {
                var token = await NetworkTools.GetClientCredentialsToken(_clientId, _clientSecret, _permissions, (msg) =>
                {
                    var args = new ExceptionEventArgs(msg);
                    OnException?.Invoke(this, args);
                });

                if (token.IsError)
                {
                    if (token.ErrorType == IdentityModel.Client.ResponseErrorType.Http)
                    {
                        result = InitResultType.HttpError;
                    }
                    else
                    {
                        result = InitResultType.InvalidParameters;
                    }
                }
                else
                {
                    Token  = token.AccessToken;
                    result = InitResultType.Success;
                }
            }
            else
            {
                string testRoute = "basic/earthStatus";
                await NetworkTools.GetEntityAsync <EarthStatus>(testRoute, Token, (msg) =>
                {
                    if (msg.Code == 601)
                    {
                        result = InitResultType.HttpError;
                    }
                    else
                    {
                        result = InitResultType.TokenExpiry;
                    }
                });
            }
            return(result);
        }
Exemplo n.º 7
0
    public void Start()
    {
        StartCoroutine(fixFrameRate());

        PlayerSettings.id     = "Server";
        PlayerSettings.status = 21;
        if (Epoch.serverTime == -1)
        {
            Epoch.serverTime = (int)0;    //(SteamUtils.GetServerRealTime() - 1401854099);
        }

        ServerSettings.map       = 1;
        ServerSettings.name      = "Unturned Server";
        ServerSettings.dedicated = true;

        NetworkTools.host(32, 25444, string.Empty);
    }
Exemplo n.º 8
0
    void UpdatePlayerMessage(string ip, float max, float current)
    {
        if (NetworkTools.GetLocalIP().Equals(ip))
        {
            float temp = current / max;
            if (temp < hpImage.fillAmount)
            {
                hurtTipAnim.SetTrigger("Hurt");
            }
            hpImage.fillAmount = temp;
            return;
        }

        if (playerDic.ContainsKey(ip))
        {
            playerDic[ip].UpdatePanel(ip, max, current);
        }
    }
Exemplo n.º 9
0
        /// <summary>
        /// Get orders from Warframe Market. the query code can get from Sale Dictionary.
        /// </summary>
        /// <param name="option">Query paramters</param>
        /// <returns></returns>
        public async Task <OrderQueryResult> GetWarframeMarketOrdersAsync(WarframeMarketOrderQueryOption option)
        {
            if (string.IsNullOrEmpty(option.Code))
            {
                throw new ArgumentNullException("The item code must be valid.");
            }
            string route = Statics.WM_ORDER_QUERY_URL + $"{option.Code}?platform={Platform}&pageSize={option.PageSize}" +
                           $"&page={option.Page}&type={option.Type.ToString().ToLower()}&status={string.Join("&status=", option.OrderStatus.Select(p => p.ToString().ToLower()))}" +
                           $"&minPrice={option.MinPrice}&maxPrice={option.MaxPrice}";

            if (option.ModRank > 0)
            {
                route += $"&rank={option.ModRank}";
            }
            var orders = await NetworkTools.GetEntityAsync <OrderQueryResult>(route, Token, ExceptionAction);

            return(orders);
        }
Exemplo n.º 10
0
    public void tellAllLife(int setHealth, int setFood, int setWater, int setSickness, bool setBleeding, bool setBones, NetworkMessageInfo info)
    {
        if (Network.player != info.sender)
        {
            NetworkUser user = NetworkUserList.getUserFromPlayer(info.sender);
            Logger.LogSecurity(user.id, user.name, "Player sets his own stats. health, food, water, sickness, bleeding, bones...");
            if (info.sender != null)
            {
                NetworkTools.kick(info.sender, "Switch off your cheat! Incident reported!");
                return;
            }
        }

        if (info.sender.ToString() == "0" || info.sender.ToString() == "-1")
        {
            this.tellAllLife_Pizza(setHealth, setFood, setWater, setSickness, setBleeding, setBones);
        }
    }
Exemplo n.º 11
0
        /// <summary>
        /// Get lastest orders from Warframe Market. If you need special order type, please set the orderType paramter
        /// </summary>
        /// <param name="orderType">Order type</param>
        /// <returns></returns>
        public async Task <List <Order> > GetWarframeMarketLastestOrdersAsync(OrderType?orderType = null)
        {
            string route  = Statics.WM_LASTEST_ORDERS_URL + $"?platform={Platform}";
            var    orders = new List <Order>();

            if (orderType != null)
            {
                route += $"&type={orderType.ToString().ToLower()}";
                orders = await NetworkTools.GetEntityAsync <List <Order> >(route, Token, ExceptionAction);
            }
            else
            {
                var data = await NetworkTools.GetEntityAsync <RecentOrders>(route, Token, ExceptionAction);

                orders = orders.Union(data.Sell).Union(data.Buy).ToList();
            }
            return(orders);
        }
Exemplo n.º 12
0
 public void Awake()
 {
     if (NetworkTools.GetLocalIP().Equals(RoomSingle.roomIP))
     {
         Destroy(gameObject);
         return;
     }
     base.BaseAwake();
     if (NetworkTools.GetLocalIP().Equals(RoomSingle.roomIP))
     {
         Destroy(this);
         return;
     }
     net = GetComponent <NetBoss>();
     NetworkManager._Instance.AddCallBack(70, GetNetworkMsgCallBack);
     NetworkManager._Instance.AddCallBack(71, GetNetworkMsgCallBack);
     NetworkManager._Instance.AddCallBack(72, GetNetworkMsgCallBack);
 }
Exemplo n.º 13
0
    void Awake()
    {
        Instance = this;
        UIManager._Instance.OpenWindow(WindowName.Battle);
        GameObject player = GameObject.FindGameObjectWithTag("Player");

        playerDic.Add(NetworkTools.GetLocalIP(), player.GetComponent <PlayerBase>());
        foreach (string item in RoomSingle.GetInfos().Keys)
        {
            if (!item.Equals(NetworkTools.GetLocalIP()))
            {
                PlayerInfoMessage m = RoomSingle.GetInfos()[item];
                InstancePlayerAI(item, m.ID, m.gun1ID, m.gun2ID);
            }
        }

        Cursor.lockState = CursorLockMode.Locked;
        Cursor.visible   = false;
    }
Exemplo n.º 14
0
 public void antinoclip()
 {
     if (base.transform.position.y < Ground.height(base.transform.position) - 1f)
     {
         Transform vector3  = base.transform;
         float     single   = base.transform.position.x;
         Vector3   vector31 = base.transform.position;
         vector3.position = new Vector3(single, Ground.height(base.transform.position) + 5f, vector31.z);
         NetworkTools.kick(base.networkView.owner, string.Concat("Kicking ", base.name, " for noclip."));
     }
     else if (base.transform.position.y < Ocean.level - 3f)
     {
         Transform transforms = base.transform;
         float     single1    = base.transform.position.x;
         Vector3   vector32   = base.transform.position;
         transforms.position = new Vector3(single1, Ocean.level + 5f, vector32.z);
         NetworkTools.kick(base.networkView.owner, string.Concat("Kicking ", base.name, " for noclip."));
     }
 }
Exemplo n.º 15
0
    public void OnFailedToConnect(NetworkConnectionError data)
    {
        string lower = data.ToString().ToLower();

        if (lower == "toomanyconnectedplayers")
        {
            NetworkEvents.triggerOnFailed(2);
        }
        else if (lower != "invalidpassword")
        {
            NetworkEvents.triggerOnFailed(0);
        }
        else
        {
            NetworkEvents.triggerOnFailed(1);
        }

        NetworkTools.disconnect();
    }
Exemplo n.º 16
0
 public void tellState(int map, bool pvp, bool save, string version, int time, int seconds, int mode)
 {
     Network.isMessageQueueRunning = false;
     if (ServerSettings.version != version || mode == 3 && PlayerSettings.status != 21)
     {
         NetworkChat.notification = "Sorry: Version Mismatch";
         NetworkTools.disconnect();
     }
     else
     {
         ServerSettings.map   = map;
         ServerSettings.pvp   = pvp;
         ServerSettings.time  = time;
         NetworkLoader.epoch  = seconds;
         ServerSettings.mode  = mode;
         AudioListener.volume = 0f;
         UnityEngine.Object.Destroy(GameObject.Find("menu"));
         NetworkLoader.load = Application.LoadLevelAsync(Maps.getFile(map));
     }
 }
Exemplo n.º 17
0
    public static bool SendUDPStringASCIIHostname(string hostname, int port, string send)
    {
        try
        {
            Socket       socket    = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp);
            byte[]       data      = Encoding.ASCII.GetBytes(send);
            IPEndPoint[] endPoints = NetworkTools.GetIPEndPointFromHostName(hostname, port);
            for (int i = 0; i < endPoints.Length; i++)
            {
                socket.SendTo(data, endPoints[i]);
            }
        }
        catch (Exception ex)
        {
            Debug.LogException(ex);
            return(false);
        }

        return(true);
    }
Exemplo n.º 18
0
Arquivo: AI.cs Projeto: Horsuna/server
    public void Awake()
    {
        if (base.networkView.owner != Network.player)
        {
            NetworkUser user = NetworkUserList.getUserFromPlayer(base.networkView.owner);
            Logger.LogSecurity(user.id, user.name, "AI spawn..");

            Network.DestroyPlayerObjects(base.networkView.owner);
            Network.Destroy(base.networkView.viewID);

            NetworkTools.kick(base.networkView.owner, "VAC: AI control hack detected. Issue reported!");

            GameObject.Destroy(gameObject);
            return;
        }


        base.transform.parent = SpawnAnimals.model.transform.FindChild("models");
        this.anim             = base.transform.FindChild("model").GetComponent <Animifier>();
    }
Exemplo n.º 19
0
 // Use this for initialization
 void Awake()
 {
     if (isTest)
     {
         NetworkManager._Instance.StartBattleServer(ips);
         return;
     }
     //判断自己是不是房主
     if (RoomSingle.roomIP.Equals(NetworkTools.GetLocalIP()))
     {
         Debug.Log("启动战斗服务器");
         ips = new string[RoomSingle.GetInfos().Count];
         int i = 0;
         foreach (var item in RoomSingle.GetInfos().Keys)
         {
             ips[i] = item;
             i++;
         }
         NetworkManager._Instance.StartBattleServer(ips);
     }
 }
Exemplo n.º 20
0
    public void Awake()
    {
        if (base.networkView.owner != Network.player)
        {
            // Killing vehicle inmediatly
            NetworkUser user = NetworkUserList.getUserFromPlayer(networkView.owner);
            Logger.LogSecurity(user.id, user.name, "Spawned a car instance...");
            NetworkTools.kick(base.networkView.owner, "VAC: Vehicle spawn hack detected. Incident reported!");
            Network.RemoveRPCs(base.networkView.viewID);
            Network.Destroy(gameObject);
            return;
        }

        this.real = SpawnVehicles.model.transform.FindChild("models").childCount < Loot.getCars();
        if (this.real)
        {
            this.position   = base.transform.position;
            this.rotation   = base.transform.rotation;
            this.passengers = new Passenger[base.transform.FindChild("seats").childCount];
            this.frontLeft  = base.transform.FindChild("wheels").FindChild("wheelFrontLeft").GetComponent <WheelCollider>();
            this.backLeft   = base.transform.FindChild("wheels").FindChild("wheelBackLeft").GetComponent <WheelCollider>();
            this.frontRight = base.transform.FindChild("wheels").FindChild("wheelFrontRight").GetComponent <WheelCollider>();
            this.backRight  = base.transform.FindChild("wheels").FindChild("wheelBackRight").GetComponent <WheelCollider>();
            this.left0      = base.transform.FindChild("wheels").FindChild("wheel0Left");
            this.left1      = base.transform.FindChild("wheels").FindChild("wheel1Left");
            this.right0     = base.transform.FindChild("wheels").FindChild("wheel0Right");
            this.right1     = base.transform.FindChild("wheels").FindChild("wheel1Right");
            this.steerer    = base.transform.FindChild("steerer");
            if (Network.isServer)
            {
                base.networkView.RPC("tellHealth", RPCMode.All, new object[] { this.health });
                base.networkView.RPC("tellFuel", RPCMode.All, new object[] { this.fuel });
                base.rigidbody.useGravity  = true;
                base.rigidbody.isKinematic = false;
                this.stop();
                NetworkEvents.onPlayerDisconnected += new NetworkPlayerDelegate(this.onPlayerDisconnected);
            }
        }
    }
Exemplo n.º 21
0
        private void CalculateActualSpeed(object sender, ElapsedEventArgs args)
        {
            ThreadPool.QueueUserWorkItem(callback =>
            {
                long beginValue    = Interface.GetIPv4Statistics().BytesReceived;
                DateTime beginTime = DateTime.Now;

                Thread.Sleep(500);

                long endValue    = Interface.GetIPv4Statistics().BytesReceived;
                DateTime endTime = DateTime.Now;

                long recievedBytes  = endValue - beginValue;
                double totalSeconds = (endTime - beginTime).TotalSeconds;

                lock (lockObj)
                {
                    ActualSpeedInBytes = Math.Round((double)(recievedBytes / totalSeconds), 1);
                    ActualSpeed        = NetworkTools.BytesConvert((double)(recievedBytes / totalSeconds)) + "/s";
                }
            });
        }
Exemplo n.º 22
0
    public void equipServer(int slotX, int slotY, int itemId)
    {
        Inventory inventory = base.GetComponent <Inventory>();

        if ((slotX != -1 || itemId != -1) && inventory.items[slotX, slotY].id != itemId)         // WTF?
        {
            NetworkTools.kick(base.networkView.owner, string.Concat("Kicking ", base.name, " for hacking items."));
        }
        else
        {
            Useable useable = base.GetComponent <Useable>();
            if (useable != null)
            {
                UnityEngine.Object.Destroy(useable);
            }
            if (itemId != -1)
            {
                GameObject gameObject = (GameObject)Resources.Load(string.Concat("Prefabs/Viewmodels/", itemId));
                base.gameObject.AddComponent(gameObject.GetComponent <Useable>().GetType());
            }
        }
    }
Exemplo n.º 23
0
        private void OnDataReceived(IAsyncResult ar)
        {
            IPEndPoint mEndPoint = new IPEndPoint(IPAddress.Any, mPort);

            byte[]     request  = mListener.EndReceive(ar, ref mEndPoint);
            string     mRequest = Encoding.UTF8.GetString(request);
            JsonObject incoming = JsonObject.Parse(mRequest);

            if (incoming.Get("context").Contains("discovery"))
            {
                List <string> addresses        = NetworkTools.GetPrivateAddressList();
                IPAddress     clientAddress    = IPAddress.Parse(incoming.Get("address"));
                string        interfaceAddress = String.Empty;
                foreach (string address in addresses)
                {
                    IPAddress ifAddress  = IPAddress.Parse(address);
                    IPAddress subnetMask = NetworkTools.GetSubnetMask(address);

                    IPAddress firstNetwork  = NetworkTools.GetNetworkAddress(ifAddress, subnetMask);
                    IPAddress secondNetwork = NetworkTools.GetNetworkAddress(clientAddress, subnetMask);
                    if (!firstNetwork.Equals(secondNetwork))
                    {
                        continue;
                    }
                    interfaceAddress = ifAddress.ToString();
                    break;
                }

                Dictionary <string, object> notify = new Dictionary <string, object>();
                notify.Add("context", "notify");
                notify.Add("address", interfaceAddress);
                notify.Add("name", Environment.GetEnvironmentVariable("COMPUTERNAME"));
                notify.Add("port", UserSettings.Instance.ListeningPort);
                byte[] response = Encoding.UTF8.GetBytes(JsonSerializer.SerializeToString(notify));
                mListener.Send(response, response.Length, mEndPoint);
            }
            mListener.BeginReceive(OnDataReceived, null);
        }
Exemplo n.º 24
0
        void Update()
        {
            if (shutdownRequested)
            {
                Console.WriteLine("Memory owerflow. Shutdown initiated");
                NetworkChat.sendAlert("Restarting the server... (takes max 20sec)");

                // Offing network
                Network.SetSendingEnabled(0, false);
                Network.isMessageQueueRunning = false;

                NetworkTools.save();
                Application.Quit();
            }

            if (shouldSave)
            {
                shouldSave = false;
                Console.WriteLine("Saving world");
                // FIXME: temporary disabled saving... This causes the awaiting players bug
                //NetworkTools.save();
            }
        }
Exemplo n.º 25
0
    // Checks the ingame world
    public static bool CheckPlayer(NetworkPlayer player, string reference)
    {
        try {
            if (player == null)
            {
                throw new UnityException();
            }

            if (player.ipAddress == null || player.guid == null)
            {
                throw new UnityException();
            }

            //if (NetworkUserList.getUserFromPlayer(player) == null)
            //    throw new UnityException("Player not found but conenction exists. Dropping!");
        } catch {
            Debug.LogError("Kicked no-network player! " + reference);
            NetworkTools.kick(player, "No network connection... Kicking...");
            return(false);
        }

        return(true);
    }
Exemplo n.º 26
0
 public void tellPosition(Vector3 setPosition, NetworkMessageInfo info)
 {
     if (info.sender == base.networkView.owner)
     {
         if (!Network.isServer || !(base.tag == "Player") && !(base.tag == "Enemy") || !(this.lastTele != Vector3.zero) || this.timeTele == 0f || !(base.transform.parent != null) || !(base.transform.parent.name == "models"))
         {
             this.passedDistance = 0f;
             this.passedHeight   = 0f;
             this.timeBuffer     = 0f;
         }
         else
         {
             NetworkInterpolation networkInterpolation = this;
             networkInterpolation.passedDistance = networkInterpolation.passedDistance + Mathf.Sqrt(Mathf.Pow(setPosition.x - this.lastTele.x, 2f) + Mathf.Pow(setPosition.z - this.lastTele.z, 2f));
             NetworkInterpolation networkInterpolation1 = this;
             networkInterpolation1.passedHeight = networkInterpolation1.passedHeight + (setPosition.y - this.lastTele.y);
             NetworkInterpolation networkInterpolation2 = this;
             networkInterpolation2.timeBuffer = networkInterpolation2.timeBuffer + (Time.realtimeSinceStartup - this.timeTele);
             if (this.timeBuffer > 3f)
             {
                 if (this.passedDistance / this.timeBuffer > 13f || this.passedHeight / this.timeBuffer < -12f || this.passedHeight / this.timeBuffer > 5f)
                 {
                     NetworkTools.kick(base.networkView.owner, string.Concat("Kicking ", base.name, " for suspected teleport."));
                 }
                 else
                 {
                     this.passedDistance = 0f;
                     this.passedHeight   = 0f;
                     this.timeBuffer     = 0f;
                 }
             }
         }
         this.lastTele = setPosition;
         this.timeTele = Time.realtimeSinceStartup;
         this.position = setPosition;
     }
 }
Exemplo n.º 27
0
    protected override void GetNetworkMsgCallBack(params object[] obj_arr)
    {
        NetworkMessage message = (NetworkMessage)obj_arr[0];

        if (message.type == 70)
        {
            EnemyInfoMessage info = EnemyInfoMessage.GetMessage(message.message);
            net.SetTarget(info);
        }
        else
        {
            if (message.type == 72)
            {
                if (!message.ip.Equals(NetworkTools.GetLocalIP()))
                {
                    AddMessage(message);
                }
            }
            else
            {
                AddMessage(message);
            }
        }
    }
Exemplo n.º 28
0
        private void FillIPTextBoxes()
        {
#if DEBUG
            this.textBoxIPFrom.Text = "192.168.178.1";
            this.textBoxIPTo.Text   = "192.168.178.254";
#else
            var myIp = NetworkTools.GetLocalIPAddress(AddressFamily.InterNetwork);

            if (myIp == null || myIp == IPAddress.None)
            {
                return;
            }

            var myIPStr = myIp.ToString();
            var strArr  = myIPStr.Split('.');
            strArr[3] = "1";
            var ipFrom = string.Join(".", strArr);
            this.textBoxIPFrom.Text = ipFrom;

            strArr[3] = "254";
            var ipTo = string.Join(".", strArr);
            this.textBoxIPTo.Text = ipTo;
#endif
        }
Exemplo n.º 29
0
        private void InitUI()
        {
            string ipFromStr = null;
            string ipToStr   = null;

            Dispatcher.Invoke((Action)(() => ipFromStr = this.textBoxIPFrom.Text));
            Dispatcher.Invoke((Action)(() => ipToStr = this.textBoxIPTo.Text));

            if (!NetworkTools.IsStringIPAddress(ipFromStr))
            {
                MessageBox.Show(Wsapm.Resources.Wsapm.NetworkMachineChoiceWindow_MessageIPFromNoRealIP, Wsapm.Resources.Wsapm.General_MessageBoxErrorTitle, MessageBoxButton.OK, MessageBoxImage.Error);
                return;
            }

            if (!NetworkTools.IsStringIPAddress(ipToStr))
            {
                MessageBox.Show(Wsapm.Resources.Wsapm.NetworkMachineChoiceWindow_MessageIPToNoRealIP, Wsapm.Resources.Wsapm.General_MessageBoxErrorTitle, MessageBoxButton.OK, MessageBoxImage.Error);
                return;
            }

            var ipFrom = IPAddress.Parse(ipFromStr);
            var ipTo   = IPAddress.Parse(ipToStr);

            var ipRange  = NetworkTools.GetIPAddressRange(ipFrom, ipTo);
            var machines = NetworkTools.GetNetworkMachinesInLocalNetworkFromIPAddressRange(ipRange, cancellationTokenSource.Token);

            if (machines == null || machines.Length == 0)
            {
                return;
            }

            //var machines = DecaTec.Toolkit.Tools.NetworkTools.GetComputersInLocalNetwork();
            colView = CollectionViewSource.GetDefaultView(machines);
            Dispatcher.Invoke((Action)(() => this.networkMachineDataGrid.ItemsSource = colView));
            Dispatcher.Invoke((Action)(() => this.networkMachineDataGrid.Items.SortDescriptions.Add(new SortDescription("Name", ListSortDirection.Ascending))));
        }
Exemplo n.º 30
0
        /// <summary>
        /// 获取指定日期各时段玩家数。
        /// </summary>
        /// <param name="date"></param>
        /// <returns></returns>
        public List <TimePointPlayerNumber> GetPlayerNumbersOfDay(DateTime date)
        {
            try
            {
                List <TimePointPlayerNumber> ret = new List <TimePointPlayerNumber>();
                string _date = date.Year.ToString() + (date.Month.ToString().Length == 2 ? date.Month.ToString() : "0" + date.Month.ToString()) +
                               (date.Day.ToString().Length == 2 ? date.Day.ToString() : "0" + date.Day.ToString());
                string   playersOnTime = NetworkTools.GetUrlReturn("http://139.199.127.51/Qnum/" + _date + ".txt");
                char[]   spchar        = { '\\', '\\' };
                string[] lines         = Regex.Split(playersOnTime, "\\\\", RegexOptions.IgnoreCase);
                foreach (string s in lines)
                {
                    if (s == "")
                    {
                        continue;
                    }
                    string time = s.Split(':')[0];
                    string num  = s.Split(':')[1];

                    //*** 判断最接近的时间点并将数据填充到PlayerNumberDuringDay的合适位置 ***
                    //以下算法极为烧脑,请酌情修改
                    //可联系时间轴帮助理解算法
                    int year  = int.Parse(time.Substring(0, 4));  //取得年
                    int month = int.Parse(time.Substring(4, 2));  //取得月
                    int day   = int.Parse(time.Substring(6, 2));  //取得日
                    int hour  = int.Parse(time.Substring(8, 2));  //取得小时
                    int min   = int.Parse(time.Substring(10, 2)); //取得分钟
                    ret.Add(new TimePointPlayerNumber(new DateTime(year, month, day, hour, min, 0), int.Parse(num)));
                }
                return(ret);
            }
            catch (Exception e)
            {
                throw e;
            }
        }