Battlefield 6 Matchmaking Won't Connect? (Windows Fix Guide)
SYMPTOM: BF6 sits in matchmaking forever with no error, but the moment you turn on any free VPN it connects instantly. Your friends in the same region play fine.
WHAT THAT TELLS YOU: Nothing is wrong with BF6, EA, or your country. A program on your own PC is silently intercepting and dropping the game's UDP matchmaking traffic. A VPN works only because it tunnels that traffic past the blocker. Remove the blocker and you're fixed — no VPN needed.
STEP 1 — Confirm it's a local blocker
Turn the VPN off and try matchmaking. If it hangs, but works with VPN on, it's local. Proceed.
STEP 2 — Find the culprit
Open Task Manager, go to Services (or run services.msc) and look for any of these common traffic-intercepting tools:
Corporate / zero-trust VPN clients: Sangfor aTrust, Sangfor EasyConnect, Cisco AnyConnect, GlobalProtect, Zscaler, Netskope, FortiClient, Check Point, Sophos
Endpoint security / "protect" services: anything with Protect, Security, Guard, Shield, Zero Trust, or SDP in the name
Filtering / parental tools: Qustodio, Cold Turkey, Net Nanny, family-safety suites
Also check Network Connections (run ncpa.cpl) for adapters you don't recognize named Wstun, TAP, SecureLink, Sdp, or your VPN's name — even when "disconnected" they can still filter traffic.
STEP 3 — Remove it (quickest method)
Option A — You still need the tool for work: Don't uninstall. Just stop it before playing.
1. Right-click its tray icon, then Exit / Quit.
2. If it has a service that auto-restarts, open an Admin PowerShell and run: Stop-Service <ServiceName> (Get the exact name from services.msc.)
3. Launch BF6.
Option B — You don't need it anymore: Uninstall it properly.
1. Settings, then Apps, then Installed apps, find it, then Uninstall.
2. If it has no uninstaller (corporate lockdown), run this in Admin PowerShell — adjust the -match list to your culprit's name:
Get-Service | Where-Object Name -match 'Sangfor|aTrust|Zscaler|Netskope|GlobalProtect|AnyConnect|FortiClient|EasyConnect' | ForEach-Object { Set-Service $_.Name -StartupType Disabled; Stop-Service $_.Name -Force; sc.exe delete $_.Name }
STEP 4 — Clean leftovers (only if uninstall left junk)
In Admin PowerShell, run these two commands:
Get-NetAdapter -IncludeHidden | Where-Object InterfaceDescription -match 'Wstun|TAP|Sdp|Sangfor|aTrust' | ForEach-Object { Disable-NetAdapter $_.Name -Confirm:$false }
Get-Content C:\Windows\System32\drivers\etc\hosts | Where-Object { $_ -notmatch 'aTrust|sangfor|<yourtool>' } | Set-Content C:\Windows\System32\drivers\etc\hosts -Encoding ASCII
STEP 5 — Reboot and test
Reboot (clears loaded kernel filter drivers and WFP rules), launch BF6 without any VPN. Matchmaking should work.
IF IT STILL FAILS
Battlefield firewall rules: re-install EA App or repair the game to regenerate them; verify they're enabled in wf.msc.
DNS: set your DNS to 1.1.1.1 / 8.8.8.8 (Settings, Network, adapter properties) in case your router's DNS is the issue.
Still suspect a hidden filter: run "netsh wfp show filters" in an admin shell and search the output for your security vendor's name — any hit means it's still injecting kernel filters.