Beispiel #1
0
        public async void OnClientResourceStart([FromSource] Player source)
        {
            GeminisPlayer player     = players.GetPlayerFromSource(source);
            string        identifier = this.GenerateIdentifier();

            player.SetData("heartbeat_identifier", identifier);
            player.SetData("heartbeat", utils.GetTimestamp());

            source.TriggerEvent("geminis:set_identifier", identifier);
        }
Beispiel #2
0
        public void OnPlayerConnecting(GeminisPlayer geminisPlayer)
        {
            geminisPlayer.SetData("entities_ratelimit", new Dictionary <string, EntityRatelimit> {
            });
            Dictionary <string, EntityRatelimit> playerRatelimit = geminisPlayer.GetData("entities_ratelimit");


            foreach (KeyValuePair <string, List <int> > pair in config.entities_ratelimit)
            {
                if (this.NameToType(pair.Key) != -1 && pair.Value.Count == 2)
                {
                    playerRatelimit.Add(pair.Key, new EntityRatelimit(pair.Value[0], pair.Value[1]));
                }
            }
        }
Beispiel #3
0
        public async void OnClientHeartbeat([FromSource] Player source, string identifier)
        {
            GeminisPlayer geminisPlayer = players.GetPlayerFromSource(source);

            if (geminisPlayer == null)
            {
                return;
            }

            if (geminisPlayer.GetData("heartbeat_identifier") != identifier)
            {
                geminisPlayer.Drop(locale.wrong_heartbeat);
                return;
            }

            geminisPlayer.SetData("heartbeat", utils.GetTimestamp());
        }