1.check all programs for run the game installed ( like directx and Redist )
2.u should have version 1.5 for play in battlelog so for check it : when u join the game in right and down corner u will see orange numbers thats show ur game version . also for have version 1.5 there is two way . first install game that already updated to 1.5 or second , first install version 1.0 then 1.41 and after that 1.5 .
3.right click on BF2.exe and also Revive Launcher.app , go to properties and check " run as administrator " . also check " Run this program in compatibitily mode for windows XP service pack 2 or 3 "
4. go to Control Panel\System and Security\Windows Firewall\Allowed apps and check for BF2.exe and Revive Launcher.app that have full access .
5.check now . if donot work go to next step :
6.trun anti virus / widnows defender and windows firewall off and try again .
7.try that are u able to just play BF2.exe in single player .
hope this will be help ful , if u try all of this and again will have problem , post about it ,maybe some better guys will help u .