public void OnPreAuth(PreAuthenticatingEventArgs ev) { tcp.SendData(new UserId { eventName = "PreAuth", userid = ev.UserId, ip = ev.Request.RemoteEndPoint.ToString() }); }
internal void OnPlayerPreauth(PreAuthenticatingEventArgs ev) { if (PreauthTime.ContainsKey(ev.UserId)) { PreauthTime.Remove(ev.UserId); } PreauthTime.Add(ev.UserId, DateTime.Now); }
public IEnumerator <float> CheckVPN(PreAuthenticatingEventArgs ev) { IPAddress address = ev.Request.RemoteEndPoint.Address; if (IsWhiteListed(address) || IsBlackListed(address)) { Log.Debug($"[VPNChecker] Already Checked:{address}", SanyaPlugin.Instance.Config.IsDebugged); yield break; } using (UnityWebRequest unityWebRequest = UnityWebRequest.Get($"https://v2.api.iphub.info/ip/{address}")) { unityWebRequest.SetRequestHeader("X-Key", SanyaPlugin.Instance.Config.KickVpnApikey); yield return(Timing.WaitUntilDone(unityWebRequest.SendWebRequest())); if (!unityWebRequest.isNetworkError) { var data = JsonSerializer.Deserialize <VPNData>(unityWebRequest.downloadHandler.text); Log.Info($"[VPNChecker] Checking:{address}:{ev.UserId} ({data.countryCode}/{data.isp})"); if (data.block == 0 || data.block == 2) { Log.Info($"[VPNChecker] Passed:{address} UserId:{ev.UserId}"); AddWhiteList(address); yield break; } else if (data.block == 1) { Log.Warn($"[VPNChecker] VPN Detected:{address} UserId:{ev.UserId}"); AddBlackList(address); var player = Player.Get(ev.UserId); if (player != null) { ServerConsole.Disconnect(player.Connection, SanyaPlugin.Instance.Translation.VpnKickMessage); } if (!EventHandlers.kickedbyChecker.ContainsKey(ev.UserId)) { EventHandlers.kickedbyChecker.Add(ev.UserId, "vpn"); } yield break; } else { Log.Error($"[VPNChecker] Error({unityWebRequest.responseCode}):block == {data.block}"); } } else { Log.Error($"[VPNChecker] Error({unityWebRequest.responseCode}):{unityWebRequest.error}"); yield break; } } }
private void Player_PreAuthenticating(PreAuthenticatingEventArgs ev) { NetDataWriter writer = new NetDataWriter(); writer.Put(ev.UserId); writer.Put(ev.Request.RemoteEndPoint.Address.ToString()); writer.Put(ev.Country); writer.Put(ev.Flags); NPManager.Singleton.PacketProcessor.Send <EventPacket>( NPManager.Singleton.NetworkListener, new EventPacket() { Type = (byte)EventType.PreAuth, Data = writer.Data }, DeliveryMethod.ReliableOrdered); }
internal void PreAuthenticating(PreAuthenticatingEventArgs ev) { if (Plugin.Instance.Config.PreAuthenticating == "") { return; } string message = Plugin.Instance.Config.PreAuthenticating.Replace("%country%", ev.Country.ToString()); message = message.Replace("%id%", ev.UserId.ToString()); if (Plugin.Instance.Config.debug_to_console) { Log.Debug(message: "[ " + Plugin.Instance.Config.player_name + "] " + message); } Plugin.sendWebHook(Plugin.Instance.Config.player_url, message, Plugin.Instance.Config.player_name); }
public async Task BanChecks(PreAuthenticatingEventArgs ev) { Log.Info($" USERID: {ev.UserId} connected, pulling player info from web api!"); if (plugin.Config.IsLobby) { await WebTask.IsKickedDetail(plugin.Config.APIKey, ev.UserId); await WebTask.IsBannedDetail(plugin.Config.APIKey, ev.UserId, false); } else { if (await WebTask.GetPlayerInfo(plugin.Config.APIKey, ev.UserId)) { PlayerInfo pi; if (PlayerInfoDict.TryGetValue(ev.UserId, out pi)) { ; } { if (pi.isBanned) { Player ply = Player.Get(ev.UserId); if (ply != null) { SendClientToServer(ply, 7790); } else { StartStopwatch(); ToKick.Add(new PlayerToKick(ev.UserId, KickReason.Ban)); } return; } } } } }
/// <summary> /// Invoked before pre-authenticating a player. /// </summary> /// <param name="ev">The <see cref="PreAuthenticatingEventArgs"/> instance.</param> public static void OnPreAuthenticating(PreAuthenticatingEventArgs ev) => PreAuthenticating.InvokeSafely(ev);
/// <inheritdoc cref="Exiled.Events.Handlers.Player.OnPreAuthenticating(PreAuthenticatingEventArgs)"/> public void OnPreAuthenticating(PreAuthenticatingEventArgs ev) { Log.Info($"{ev.UserId} is pre-authenticating from {ev.Country} ({ev.Request.RemoteEndPoint}) with flags {ev.Flags}!"); }
public void OnPreAuth(PreAuthenticatingEventArgs ev) { _ = BanChecks(ev); }