This is quite a simple post but tons of people are having this problem as evidenced by posts on Reddit and EA below
I managed to resolve it but not in the normal way, The issue started happening to me when i moved my install directory to a new SSD drive and had origin re-initialize it using instructions found here
After i did that BF4 would never stay in Multiplayer for longer than a few seconds, campaign was fine.
They mention several solutions in the posts above
- Re-install all the DirectX redistributables by deleting them from the BF4 folder and then performing a Repair Install [DIDNT WORK FOR ME]
- Update to the latest version of PunkBuster [DIDNT WORK FOR ME]
- Install the DirectX redist yourself [DIDNT WORK FOR ME]
- Shut down your Antivirus (I have Avast) [DIDNT WORK FOR ME]
I resolved the problem by renaming the folder to “C:\Program Files (x86)\Origin Games\Battlefield 4” to “C:\Program Files (x86)\Origin Games\B” and downloading the game all over again overnight.
I then compared the directories to see if they were different, and they were identical except for the PB folder (the SSD version had an upgraded PunkBuster), there was also a file called layout.toc that was different but i have no idea what thats for (and it is binary).
Everything works perfectly now.
I can only assume that there is something that the full install reinitializes that is required for Multiplayer to work!