Bundled with software in many popular online games such as Battlefield 2, America's Army, Call of Duty, F.E.A.R, Prey, Far Cry and many others.
Selected Test Results (selected in 'Test Results' table below)
What works
Installation
Update (PBSetup)
Search/Add Games
Update Games PB
What does not
PB in MultiPlayer Mode
RESTRICTION: Unknown Windows API Function [131134]
RESTRICTION: Disallowed Program/Driver [125096]
RESTRICTION: Service Communication Failure: PnkBstrB.exe driver failure (PnkBstrK.sys) ffbf
What was not tested
nothing
Additional Comments
PB kicks me on MP Mode in BF2142, CoD4 MW and i think in a lot of other Games that needs MP Mode and PB...
Wine Team... see my comment :)
kings regards
phantom
EvenBalance instructs the PB client to carry out several integrity checks.
One of those checks determines if certain components of the operating system have been modified in memory - so called API fingerprinting.
Third party software and hacks modify parts of operating system in memory for their own reasoning.
To detect this modifications, Punkbuster takes fingerprints from operating system API entry code.
A number of system libraries (dlls) and their respective API are verified.
Each fingerprint is compared with a list of signatures on PB server.
If the fingerprint does not match, a kick is issued for the player along with the following infamous message:
"UNKNOWN WINDOWS API FUNCTION [131xxx]"
Depending on PB server/client versions and game, this specific check might be executed immediately upon join or several minutes thereafter.
There have been rare occurrences where this specific check was never executed thus letting the player remain on server without being kicked.
Because of this specific API integrity check, PunkBuster will not work with wine in most PB-enabled multiplayer games.
The API entry code generated by (wine)gcc compiler differs from Windows, resulting in signature mismatches.
There is no way to mimick/generate all the required API entry code to keep the signature check succeeding due to technical limitations and legal reasons.
Technically there are ways (client hacks) to circumvent those checks even
in Wine - but this is out of the scope of Wine. Such manipulations defeat
the purpose of PunkBuster.
Following is a small part of my own list of most common [131xxx] kick id's (EvenBalance considers them a hook target by hacks).
The complete API fingerprinting list is larger and extended by EvenBalance from time to time.
Kick #
Library
API (signature fail)
131124
kernel32.dll
IsBadReadPtr
131125
user32.dll
CreateWindowExA
131126
user32.dll
GetForegroundWindow
131131
kernel32.dll
GetTickCount
131133
d3d9.dll
Direct3DCreate9
131134
kernel32.dll
DeviceIoControl
131136
ddraw.dll
DirectDrawCreate
131932
kernel32.dll
VirtualQuery
pbsvc.exe tool hangs/crashes at the end - while deleting PnkBstrK kernel service
err:ole:CoGetClassObject class {304ce942-6e39-40d8-943a-b913c40c9cd4} not registered
The following message in console while running the pbsvc test tool can be safely ignored:
err:ole:CoGetClassObject class {304ce942-6e39-40d8-943a-b913c40c9cd4} not registered
err:ole:CoGetClassObject no class object {304ce942-6e39-40d8-943a-b913c40c9cd4} could be created for context 0x1
The missing interface doesn't prevent the application from functioning.
The application is querying the Windows firewall manager (CSLID_NetFwMgr). Many internet applications use Windows Firewall NetFwMgr to programmatically add themselves to the list of authorized applications and register incoming ports.
You can show PunkBuster server messages in-game and log them to a file. To do that, create a file named "pbcl.cfg" in the "pb" folder of the game. Put the following in the "pbcl.cfg" file:
This will print PB messages to your on screen console area, so kicks can be easily seen instead of being hidden in the pull-down console. You can disable the screenshot notifications with the pb_sslog setting, if you receive to much messages on large servers.
PB_MsgPrefix [New Prefix]
Holds the text that PunkBuster displays in front of every output line displayed; the default is "[skipnotify]PunkBuster Client".
PB_LogToFile [0=no, 1=yes]
When set to 1, PunkBuster will log activity to the pbcl.log file; the default is 0 which means only errors are logged.
PB_Sleep [Period]
Holds the period of time (milliseconds) that PunkBuster "sleeps"
between processing cycles; the default is 60; lower numbers will cause
PunkBuster to process events more times each second which also has the
effect of increasing the bandwidth used by PunkBuster; Players with a
modem connection will probably want to set this as high as possible.
PB_SsLog [0=no, 1=yes]
When set to 1 (which is the default), PunkBuster will create an entry
in the pbsslog.htm log file every time a PunkBuster Server requests a
screenshot to be taken and delivered; this log file is designed to be
viewed with a web browser and contains information about the size of
the image, when it was taken, and also a digital signature of the image
itself.
PB_SsSave [0=no, 1=yes]
When set to 1 (0 is the default), PunkBuster will save
all Server-requested Screenshots to the local hard drive so that
Players can see the actual screenshots that have been delivered to Game
Servers that they were connected to; if this setting and the PB_SsLog
setting are both set to 1, then the pbsslog.htm log file will
automatically have links created for local viewing directly from the
log file.
Updating PunkBuster files (PBSetup)
Automatic in-game update of PB client files doesn't always work correctly. To work around that, update the PB files manually with "PBSetup" tool provided by EvenBalance.
Visit EvenBalance homepage for instructions. Download the Windows version of the updater and run it for the PB-enabled games you have installed.
The following comments are owned by whoever posted them. WineHQ is not responsible for what they say.
Contacting EvenBalance
by phantom_ch on Wednesday November 18th 2009, 4:07
Hi all...
Today i contacted EB over their Support Ticket System:
-----------------------------
Dear EvenBalance Team
I play a lot of PunkBuster enabled windows games on my machine. So i have spent a lot of money in windows games and do that anytime, for new games ;).
My game machine is my only windows machine i have. For work, developing (web) and other things i use Linux (Ubuntu).
So i will change also my game machine to Ubuntu and installing games with wine, which works perfect, also for the newest games.
The installation of PB with wine works also and PB can find the game (CoD4) and update PB information.
The big problem is, you know, that if a game run's in wine and in MultiPlayer mode, PB Kicks the Gamer out of the PB enabled Server.
I tried to check out the Problem and found, that PB checks API's and dll's for originaly windows code lines, or something like this.. and cause wine's API's and dll's are not a copy of window's, PB check fails -> so kick from PB enabled servers.
Some people have contacted wine and PB developers, to get them together.
I know that there is also a Linux PB client, but this won't work in/with a wine installation.
I don't really know, why there is no solution, eg. PB trusts wine's API's or dll's, i just try to give this information:
If i want play windows games on Linux with wine, i can AND i need to buy the game anyway, so why not make a PB wine compatibility?
We are all on the same planet, we are all Gamers :) so, let's try work together...
So, thank you very much for your time reading this ticket and thank your for your feedback.
Kind Regards from Switzerland and have a nice Day
phantom_ch
-----------------------------
Punkbuster needs to be running under wine
by phantom_ch on Wednesday November 18th 2009, 0:59
Good Morning all
We need to get Punkbuster running in wine, cause if not, a lot of Games can't be played in MultiPlayer Mode.
I will try to contact PB Team directly to explain.. don't know if anybody done this already...
I also will give a Test Result with my System (Ubuntu Karmic 9.10 64bit).
My special thanks to the wine Team.. really great App..
If anybody of the wine Community can fix the PB Problems of many Linux/wine users with the newest wine out of the box.. do it.. need support/donation.. no Problem...