WineHQ
Category: Main Games Game Tools PunkBuster Bundled

PunkBuster

No Screenshot

Submit Screenshot
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.

Application Details:

Version: Bundled
License: Free to use
URL: http://www.evenbalance.com/
Votes: 66
Latest Rating: Garbage
Latest Wine Version Tested: 1.6-rc1

Maintainers: About Maintainership

No maintainers. Volunteer today!

Test Results

Old test results
The test results you have selected are very old and may not represent the current state of Wine.
Selected Test Results

What works

Nothing really at this point  

What does not

Online play on punkbuster enabled servers (any game), will kick on WINDOWS API ERROR, because it cannot load the kernel driver. Potentially furthered by patch released in bug report below.

Workarounds

What was not tested

Nothing

Hardware tested

Graphics:

  • GPU:
  • Driver:

Additional Comments

selected in Test Results table below
Operating systemTest dateWine versionInstalls?Runs?Used
Workaround?
RatingSubmitter
ShowDebian GNU/Linux Unstable "Sid" x86_64Jun 10 20131.6-rc1No Not installable NoGarbageBerillions 
ShowDebian GNU/Linux 7.x "Wheezy" x86_64Dec 24 20121.5.20Yes Yes NoBronzeBerillions 
ShowDebian GNU/Linux 6.x "Squeeze" x86_64Jun 13 20121.5.6Yes Yes NoBronzeBerillions 
ShowFedora 14 x86_64Feb 15 20111.3.13Yes No NoGarbageBarborica Alexandru 
ShowUbuntu 9.10 "Karmic" amd64 (+ variants like Kubuntu)Nov 18 20091.1.33Yes Yes NoGarbagephantom_ch 

Known Bugs

Bug # Description Status Resolution Other apps affected

Show all bugs

HowTo / Notes

32-bit PunkBuster services fail to run in 64-bit WINEPREFIX

Make sure you operate on a clean 32-bit WINEPREFIX (~/.wine)!

$ WINEARCH=win32 WINEPREFIX=foo ...

­­­
PunkBuster enabled games status

­­Following is a list of games and their status regarding PunkBuster/Wine.

The list is not complete and may change over time. Please help to im­prove the table by reporting your game along with the kick message (number).

 Game  Status  Wine version­  Kick # reported
­Assassin's Creed Brotherhood/R­evelations­ working (2012-06-13­)
1.5.6

Call of Duty not working (2010-04-09)
1.3.13 131125

 

PunkBuster Support/Version for Wine/Linux Petition

See: http://www.petitionspot.com/petitions/PunkBusterforWINE

EvenBalance (PunkBuster Vendor) statement:

­­­­­We're sorry, but Wine and other compatibility layers are not supported. Punkbuster uses advanced and rare Windows functions, which are subject of change quite often. Unfortunately these programs are not in such a end state of development that it will be able to support all of Punkbuster's functions.

UNKNOWN WINDOWS API FUNCTION [131xxx]

This is bug 9685

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 o­n 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

PunkBuster service components test

Besides the client dlls, the Windows version of PunkBuster consists of system services and a kernel driver.

C:\WINDOWS\system32\PnkBstrA.exe

C:\WINDOWS\system32\PnkBstrB.exe

C:\WINDOWS\system32\drivers\PnkBstrK.sys

­

For further information see: here.

You can verify the functioning of the services with this tool from EvenBalance: here

Test with GUI:

$ wine pbsvc.exe­

­­­

Silent (unattended) installation of services without GUI:

$ wine pbsvc.exe /i --no-display --i-accept-the-pb-eula­
­­­
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.

PunkBuster Client - pbcl.cfg - Logging PB messages

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:

pb_msgprefix "PunkBuster Client"
pb_sleep 60
pb_logtofile 1
­pb_sslog 1
pb_sssave 1­­ ­
­­­

­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.

Comments

Comments Disabled

Comments for this application have been disabled because there are no maintainers.
Back