Having taken the somewhat suspect decision to install COD4 on my main PC (under peer pressure as my boy tells me!- You can tell he’s growing up when he comes out with stuff like this.) I have run into lots of issues with that lovely bolt on “Punkbuster”. To sort of tell things in reverse I have by the looks of things got the game running on Multiplayer now- though I would not say its 100% sorted, but its usable at least.
My original plan was to load the game on to my sons PC- this is much higher spec than mine- and less critical should anything bad happen. This I did and the Single player game run beautifully- looks glorious with the high spec Graphics (Twin Nvidia 8800GTS’s in SLi mode).
However Multiplayer was dire- ping was at lowest over 100ms and often more so no good. This is because his machine is on a wireless bridge. It doe snot seem to affect a lot of games but COD4 was unplayable. On the few times I got it going though I was getting kicked around 60 seconds in by Punkbuster. The error was initially indicating PunkBuster was not responding to the server.
I did a bit googling and found out that there are many and various issues here.
First Firewall: If you run one- and you probably should then you need to ensure UDP port 28962 is open both ways. If you can’t do this as you don’t understand firewalls, you don’t have the rights or whatever- the only thing I can suggest is (assuming you can) disable any firewall to all traffic while playing COD4 online. On my machine I run FSecure 2007 and I had to set up a specific service rule for Punkbuster- allow all networks bothways, All IP addresses UDP Port 28962 in and out.
Next having sorted this the reachability kicks stopped and the Restriction Service Communications Failure: PnkBstrB.exe initialisation failed errors started.
I would love to say I totally got tot he bottom of this but probably haven’t- however I do have it working.
First of version control: the version that comes with COD4 is well out of date, its meant to update automatically when online, but then if your having network problems your going to be stuffed there I reckon. You can go to the Evenbalance website and download PBSVC to install the service properly (you need to be running this as admin in Vista- right click the icon and select run as admin).
Next there is an updater which ensures you have the right versions for your game. You can download PBSETUP here. Its worth running this even if you think your installed OK because it runs through a test that dumps to your screen and lets you see any obvious issues.
Run this , select COD4 and let it do its thing- takes about 60 seconds to complete. You could if you like now try your game but I suspect you will be unsuccessful.
You probably are not aware (or maybe you are- so why read this!) but when PunkBuster installs the executables for the services reside in C:\windows\system32 (PnkBstrA.exe and PnkBstrB.exe). The former appears to be a resident service that runs all the time in your machine once its installed. The latter is initalised by the game, which in turn is detected by the former- ie, A detects the game is starting and kicks B into life. You can see PnkBstrA running as a service if you go into Control Panel/Admin tools/Services and list them alphabetically- it should be running. If its not investigate why- check the properties and ensure its running with high enough privileges, it needs admin rights. If it snot use the “log in as” tab and set it to run under an admin account.
Also there are potentially compatibility issues. You can try these- I did on the way to getting things working but have since turned them off. Righclick on your icon for COD4 Multiplayer and in the properties option, select the Compatibility Windows XP service Pack 2 Option. Also select Run as administrator in the check box at the bottom.
Do the same for PnkBstrA and PnkBstrB in your windows\system32 directory. Now as I say I have since turned off the Windows XP setting but you DO need to leave the run as admin in place. According to the Punkbuster FAQ at Evenbalance.com this is not necessary. Well I would dispute this as if I set mine back to run normally I get the error back within 60 seconds of starting a game.
Its worth playing around with these settings but just change one thing at a time to ensure you know whats having an affect.
Another factor in the problem I discovered is that in C:\windows\system32\logfiles\PunkBuster there are service logs- for the kernel, and services a and b. I found when i was getting the init error the logs were populated with the following:
[01.12.2008 21:50:34] ERROR: File “C:\Program Files\Activision\Call of Duty 4 - Modern Warfare\pb\PnkBstrB.exe” does not exist.
[01.12.2008 21:50:34] ERROR: C:\Program Files\Activision\Call of Duty 4 - Modern Warfare\pb\PnkBstrB.exe does not contain a valid certificate; Load denied.
[01.12.2008 21:50:39] ERROR: Ignoring load request coming within a few seconds of prior load
The first error seems to suggest a missing file in the COD game - and indeed it did not exist but how it gets there looks to be down to the game running under admin privs. Its not as far as I can tell just a matter of copying the file there are there appear to be other files spawned here too. Again- don’t be afraid to try at worst you can delete them again! The second error appears to indicate a security issue. You can see the certificates associated withthe programs in the Security tab in the file properties- both seem OK, again it appears to be an admin rights thing.
Having tried this the game appears to run OK, however on my first session of about 30 minutes I suffered a total hang of my PC which takes me back to my opening lines that I probably should not run this on this PC, as I ended up having to hard reset it. This is the first total hang/crash I have had under Vista I have to say. Tomorrow, armed with this info I am going to tackle my sons machine again so at least it does not get the Punk Buster Issues, the high ping will be solved when I get some Ethernet over Mains adapters this week.