Alright, So hopefully this will help folks. I own Battlefield 3 and 4. Both were having the same issue. This fix does work for Windows 8 and 8.1 as well.If you would like to check to see if your kick is based on a heartbeat problem you can verify it by checking your PB log.
How to Check the PB log for a heartbeat error
Go to your PB folder (located inside the game installation folder) and look for the “pbcl.log”.
Open the pbcl.log then copy and paste the latest lines of the log into a new note here.
If the pbcl.log does not exist, please create a plain text file "pbcl.cfg" (use a text editor like "Notepad", make sure it has no additional '.txt' extension). Open the pbcl.cfg (again something like “Notepad”), copy the text pb_logtofile 1 and paste it into the pbcl.cfg. Then save the file and join a PB enabled server. After a few moments, you should have a new “pbcl.log” file in the PB folder.
Sometimes you will check your log and it will state something like:
[04.11.2014 09:42:19] pb_LogToFile = 1 (0=No, 1=Yes)
[04.11.2014 09:42:19] Changing PunkBuster homepath to [C:\Users\JohnDoe\AppData\Local\PunkBuster\BF4\pb\]
This means that your game is installed in a directory other than the main directory and your punkbuster log is saved in that directory. Check the log in that directory
*Example of a log with Heartbeat error*
[04.11.2014 09:42:19] pb_LogToFile = 1 (0=No, 1=Yes)
[04.11.2014 09:42:19] Attempting to resolve master5.evenbalance.com
[04.11.2014 09:42:19] Resolved to [50.63.136.194] (18)
[04.11.2014 09:42:19] PunkBuster Client (v2.333 | A0 v) Enabled
[04.11.2014 09:42:19] Game Version [117022]
[04.11.2014 09:42:19] Connected to Server 216.52.143.53:25200
[04.11.2014 09:42:22] PB Services socket initialized
[04.11.2014 09:42:25] WARNING: PB Kicks for Name Spamming and Name Stealing and Level 2 PB Restrictions on this Server
[04.11.2014 09:42:25] PB Server assigned guid = #############################
[04.11.2014 09:42:25] Receiving from PB Server (v v1.883 | A1390 C2.333)
[04.11.2014 09:42:27] PnkBstrA successfully loaded PnkBstrB
[04.11.2014 09:42:30] PnkBstrB service installed and started successfully
[04.11.2014 09:45:15] Service Communication Failure: PnkBstrB.exe no heartbeats
[04.11.2014 09:45:26] PnkBstrB service installed and started successfully
[04.11.2014 09:46:06] RESTRICTION: Disallowed Program/Driver [130827]
[04.11.2014 09:46:10] Not Connected to a Server
How to Resolve PnkBstrB from failing to get a heartbeat on Windows 7/8/8.1
Provided by the folks at Evenbalance
If you run some type of personal firewall or security software, make sure that you configure it to fully allow our services, especially PnkBstrA.exe. These kicks are most often caused by our PnkBstrA.exe service failing to properly install our PnkBstrB.exe service during gameplay. Also, several Windows 7 users have reported that the following steps corrected the issue for them: 1) login as an Administrator user, 2) open Windows Explorer and browse to c:\windows\system32 (or wherever the windows folder is on your machine) - note: if you run Windows 7 64 bit, you need to browse to c:\windows\syswow64 instead, 3) scroll down and find PnkBstrA.exe, 4) right-click PnkBstrA.exe and choose Properties, 5) click the Compatiblity tab, 6) click the button at the bottom of the window that reads "Change settings for all users", 7) click the checkbox for "Run this program as an administrator", 8) click the "Ok" buttons to accept the changes and get back out.
Attention Avast! and other Antivirus Users: It is normally recommended that the following two directory's are free from shields and antivirus/firewall blocks
Your pb folder in your user directory - Example: C:\Users\JohnDoe\AppData\Local\PunkBuster\BF4\pb\
Your pb folder in the game directory - Example: E:\Program Files (x86)\Origin Games\Battlefield 4\pb\