Brett Rijnders

Welcome to my Playground

PB Screenshot Viewer

 

PBSViewer is a free php program to view your punkbuster screens. This program ‘PBSViewer’ also known as Punkbuster Screenshot Viewer, will download pb screens. Those downloaded screens are published on your website. Next to this you can search for pb screens by name or guid. For a demo click here.

Download

The latest version is 2.3.0.0 and can be downloaded here:

PBSViewer 2.3.0.0

To see the changelog go to this page.

Latest key features

  • Download pb screens from your gameserver and show them on your website.
  • Shows your pb screens independently to your visitors, without user/admin intervention.
  • Easy search for screens, search supports wildcards. You can search by guid or name.
  • Great image enhancement tools, you can easily make an image darker or brighter.
  • Secure Admin login.
  • PBSViewer has an Admin Control Panel (ACP), here you can easily configure your PBSViewer.
  • Option to make PBSViewer private, only those who know password can use PBSViewer.
  • Automated checking of md5 hashes of screens, it can automatically check if screens have been altered or not.
  • Get aliases of player.
  • Easy installation script included.
  • Reset feature included to delete all screens and logs.

Help

If something is not clear please first check the FAQ page to find your answer. If you can not find your answer please contact me (please use contact form) or leave a comment.

Supported games

This program is tested for the following games:

  • AA: America’s Army 2.8.5
  • AA3: America’s Army 3
  • BF2: Battlefield 2
  • BF2142: Battlefield 2142
  • BFBC2: Battlefield Bad Company 2
  • CoD4: Call of Duty 4

Probably it can also be used for other pb supported games. Please report if this is the case, then I will add it to list. A list of pb supported games can be found here.

System recommendations

  • php version 5.0 or higher, did not tested it for lower versions
  • MySQL version 4.0 or higher.
  • Webhosting that supports .htaccess files.
  • Punkbuster server with ftp access to your pb screens directory.

Help needed

Since I don’t have the time to test all systems, I need your help. If you have installed this tool under another environment, please tell me so I can change this list.

Dev page

If you have found a bug or you have a suggestion please check out this page. This project is also being hosted on google code, more information on development can be found there as well.

Donate

PBViewer is free for everyone. I have put a lot of time in this project. If you want to help me, consider donating. Then I know for who I’m doing all this. It also keeps me motivated to bring out new updates for this tool.

Copyright

PBSViewer is released under the GPL licence ( see ‘licence.txt‘).

System recommendations

Comments (69)

  1. Alexander H Reply

    This is great. Can u add the md5tools check?? that would be just perfect :D

  2. Brett Rijnders Reply

    Alexander H :

    This is great. Can u add the md5tools check?? that would be just perfect :D

    I will try, I am working on it ;)

  3. New version for PBSViewer, version 1.2.2.1 « Pbsviewer &Laquo; Php Projects &Laquo; Projects « BeeSaR Reply

    […] is a new version available for PBSViewer, version 1.2.2.1. This free php script PBSViewer can be used to view ingame captured pb(punkbuster) […]

  4. New version for PBSViewer « Pbsviewer &Laquo; Php Projects &Laquo; Projects « BeeSaR Reply

    […] version for PBSViewer There is a new version available for PBSViewer, version 1.2.2.2. This free php script PBSViewer can be used to view ingame captured pb(punkbuster) […]

  5. PBSViewer on google code « News « BeeSaR Reply

    […] PBSViewer […]

  6. New version PBSViewer « News « BeeSaR Reply

    […] PB Screenshot Viewer […]

  7. New version PBSViewer 2.1.0.0 « News « BeeSaR Reply

    […] PB Screenshot Viewer […]

  8. MadMakz Reply

    Thx for this! Looking forward to Milti-Server support. Atm I#M running seperate installs for each server. Works also with MoH (i wish evenbalance would fix the AA/DX10 issue)

    1. Brett Rijnders Reply

      You are welcome, thank you for using my program! To be honest I think it will take some time to implement the Multi-Server support, because at the moment I am busy with other things…

  9. TopS Reply

    Hello there

    It looks good but i try to get it on our website
    We have a E107 website do you know if it works on that systeem?

    Cheers TopS

    1. Brett Rijnders Reply

      Hi,

      If you are using E107 you should be able to run PBSViewer as well, though you should install it separately. There is no plugin for E107 available if that’s what you mean…

      Greets,

      Brett

  10. TopS Reply

    Thx and yh thats what i mean :)

  11. recon Reply

    I finally got this working. Just had trouble finding paths to certain files.
    Works great for battlefield 3.

    Keep up the good work.

    Paul

    1. Brett Rijnders Reply

      Ok great to hear that it is working now and that it works for BF3 as well.

      Cheers,

      Brett

  12. Douglas Carr Reply

    I believe I have found a problem with your reset routine. While using reset, I kept getting the error “seems to be the wrong directory, did not delete any files”. I knew however that the path was correct so I got into your code in functions.inc.php. I found on line 3460, 3469, and 3472 a reference to the var $list. However there is no var $list. Instead it should be referring to $fileList. After changing those three apparent errors, my reset is working perfectly.

    Thanks.

    1. Brett Rijnders Reply

      Thank you Douglas for pointing out the bug, I have implemented your fix and I will release it in the new version. The latest files can be accessed through the repository:
      http://code.google.com/p/pbsviewer/source/checkout

      For those who are interested in the fix, you can check the differences here:
      http://code.google.com/p/pbsviewer/source/diff?spec=svn199&r=199&format=side&path=/trunk/PBSViewer/inc/functions.inc.php

      Search for “$list” and change “$list” to “$fileList” on line 3460, 3469, 3472, 3604, 3607, 3732 and 3735.

      Cheers,

      Brett

  13. Douglas Carr Reply

    Thanks for pointing out the remaining errors. I can’t believe I hadn’t taken the time to do a find and replace on any remaining $list. Duh.

  14. Douglas Carr Reply

    What happens when, while trying to list your screenshots, instead of a thumbnail you just get red text with a link showing the player name and when the ss was taken? I’m assuming it got info from the log but didn’t download the image?

    1. Brett Rijnders Reply

      I am not sure what you mean? Usually it should give some error when a screenshot is missing. If a screenshot is missing it gives a default thumbnail screen which says ‘No Image available’. Could you show me an example or something of your problem?

    1. Brett Rijnders Reply

      Thank you for the example, though I don’t see anything strange…?

  15. dnroc Reply

    Hello there,

    First big thanks for this tool, its so great and funcional :D
    I have installed it and it works excelent except logging thing (md5,ip).
    Can you help me make it work???

    In game server is svlogs folder with files inside (00000202.log , 00000203.log , etc…)

    tnx

    Details after update:

    Connected to: xxx.xxx.xxx.xxx:xx
    11:34:50]
    Directory changed to: /xxx.xxx.xxx.xxx port 16567/svss
    11:34:50]
    Downloaded file:pbsvss.htm
    11:34:50]
    Made a copy of old DB table containing date of pbsvss.htm data
    11:34:50]
    Data from pbsvss.htm is stored in DB
    11:34:50]
    No PNG files were downloaded, same PNG files were already located on your website
    11:34:51]
    Directory changed to: /xxx.xxx.xxx.xxx port 16567/svlogs
    11:34:51]
    Not able to generate a list of all files
    11:34:51]
    Available files:
    11:34:51]
    Something went wrong, not all log files were downloaded. Only downloaded 0 of 1 log files
    11:34:51]
    Not all log files were parsed correctly, only parsed 0 of 1 log files
    11:34:51]
    Did not remove the log files of your gameserver, only removed 0 of 1 log files

    1. Brett Rijnders Reply

      Hi dnroc,

      Unfortunately the logging feature is not working on all servers due to the fact that required function “ftp_nlist” is not always working, it has some PHP related bugs.

      You could try to change the ‘FTP passive mode’ setting in your ACP to passive. What you also could try is to implement the latest fix I have described earlier. This fix is not implemented yet in the latest version. You can download the latest “functions.inc.php” here:
      http://pbsviewer.googlecode.com/svn/trunk/PBSViewer/inc/functions.inc.php

      Once you have opened the file in your browser just go to ‘File’ and click on ‘Save as’, then upload this file to your server. Please let me know if this fix works.

  16. dnroc Reply

    Brett Rijnders :
    Please let me know if this fix works.

    thanks to assistance, unfortunately these changes did not helped.
    is there any other thing i can try to do?

    tnx,
    dnroc

    1. Brett Rijnders Reply

      Hi dnroc,

      I have made some changes in PBSViewer, you can download the fix here:
      http://code.google.com/p/pbsviewer/downloads/detail?name=PBSViewer_log_fix_2.2.0.4.zip

      It took me a couple of hours to make this fix. I tried to reduce the amount of ftp connections PBSViewer is currently using. Please try this fix, I really hope it works. The logging feature works on my server with and without this fix, please let me know if this fix works on your server as well.

      Cheers,

      Brett

      1. dnroc Reply

        I am very grateful for your help but with this update PBSViewer not download ss at all.. :(

        this two files going to INC folder, right?
        update log:
        23:51:35]
        Connected to: x.x.x.x:21
        23:51:35]
        Directory changed to: /x.x.x.x port 16567/svss
        23:51:35]
        Downloaded file:pbsvss.htm
        23:51:35]
        Made a copy of old DB table containing date of pbsvss.htm data
        23:51:35]
        Data from pbsvss.htm is stored in DB
        23:51:35]
        All PNG files (0) were downloaded succesfully!
        23:51:35]
        Directory changed to: /x.x.x.x port 16567/svlogs
        23:51:35]
        Not able to generate a list of all files
        23:51:35]
        Available files:
        23:51:35]
        Something went wrong, not all log files were downloaded. Only downloaded 0 of 1 log files
        23:51:35]
        Not all log files were parsed correctly, only parsed 0 of 1 log files
        23:51:35]
        Did not remove the log files of your gameserver, only removed 0 of 1 log files

        i restore old functions.inc.php and init.inc.php and update continue work like before (without logging)

        tnx, dnroc

        1. Brett Rijnders Reply

          Yes the files need to be uploaded to the ‘inc’ directory. It is a pity that the fix is not working, though the fix seems to have an affect on your server. I really want to fix this bug, because you are not the only one having troubles with the logging feature.

          It would be great if I can have access to your webserver for testing my new fixes related to the logging feature, since your server is processing ftp data slightly different than my server. You would not only help me but also many others dealing with the same problem. Please mail me your login credentials of your webserver if you want to help, my mail is brettrijnders@gmail.com.

          1. dnroc

            Hi Brett,

            all working great now :D
            big thanks for assistance

            cheers

  17. Brett Rijnders Reply

    dnroc :

    Hi Brett,

    all working great now :D
    big thanks for assistance

    cheers

    You are welcome dnroc, I hope you enjoy my program :) To others who are having the same problems with the logging feature I will release a new version with the latest bug fixes soon.

    Cheers,

    Brett

  18. Boomsling Reply

    Hi

    Im trying to set this up for our BF3 server

    At step 2 of the install I get the error:

    ftp_close() expects parameter 1 to be resource, boolean given in /home/pcforums/public_html/PBS/install/install.php on line 1839

    Can you help?

    1. Brett Rijnders Reply

      Hey Boomsling,

      I have read your posts at:
      http://forums.multiplay.co.uk/battlefield-3/86393-msg-punkbuster-screenshot-viewer#post1070647

      It seems that you weren’t able to login at your gameserver, this might have to do with the following:
      1) The IP address might be wrong, try to use numbers instead of names (e.g. “clanforge.multiplay.co.uk”). You can easily convert from host name to IP address here: http://www.hcidata.info/host2ip.cgi
      2) Your username or password might be wrong, please check if your username and password are correct.
      3) The punkbuster directory might be wrong. To make sure you are using the correct pb directory you could use a FTP client to connect to your gameserver and browse to your pb directory. Then use this path to your pb directory for the install. Note that you should use the full path.

      In general it is a good practice to first use a FTP client to login at your gameserver, then you at least know your login credentials are correct and that the FTP server is not down or something.

      Once you have installed PBSViewer you can try to use the fixes I mentioned in my other post:
      http://www.beesar.com/2010/06/pbsviewer-on-google-code/comment-page-1/#comment-2677 (December 16th, 2011)

      Cheers,

      Brett

      1. Boomsling Reply

        Hi tried those fixes and its still not working

        Ive logged the steps Ive taken on the multiplay forum thread.

        Regards

        Boomer

  19. Boomsling Reply

    Thanks for the reply and help.

    I’ll work through that list and report back#

    Thanks again.

  20. Boomsling Reply

    Hi

    Ive tried those fixes and Im still having problems. Ive logged it all in the Multiplay forum thread.

    Can you take a look?

    Thanks

    Boomer

    1. Brett Rijnders Reply

      Hi Brett (funny hehe),

      Let me give you some explanatory comments regarding your forum posts: http://forums.multiplay.co.uk/battlefield-3/86393-msg-punkbuster-screenshot-viewer-2

      1) You should use double quotes (i.e.: “some value”) to enclose your pb screenshot and log directory values in init.inc.php
      2) All the default variables set in init.inc.php are overwritten automatically by the stored database values unless they are not stored in the database. Therefore you should change those variables in your ACP if they are listed over there.
      3) When entering a path, always try to use forward slash ( / ) instead of backward slash ( \ ). Forward slash in most cases works correctly on all operating systems.
      4) Your ACP settings seems to be correct and it should work…

      If you want I can install PBSViewer for you I think I can fix it, please send me your login credentials through mail (brettrijnders@gmail.com) or twitter.

      Cheers,

      Brett

    2. Brett Rijnders Reply

      Hi,

      Thank you for your login credentials. I have installed the latest version of PBSViewer and I think it is working now. Could you test it? I am not sure what went wrong during your install, it might be that something in your init.inc.php file was wrong…
      As you can see you can easily change the directory names in the ACP in this new version :) I also have enable logging, that one should work as well when you have valid log files. Currently you don’t have any valid log files for your server id (I used 99621).

      Well have fun with PBSViewer and if you got any questions please let me know.

      Cheers,

      Brett

      1. Boomsling Reply

        Many thanks for sorting this out, its working perfectly.

        Regards

        Brett

  21. Corvin Reply

    Hi there.
    Our Gaming Host ist restarting the Server every day and zipping the old screens and htmls. The screenshot folder is empty after zipping and also PBSViewer is emptied after that.

    Is it somehow possible to keep the collected data?

    Thanks for reading

    Corvin

    1. Brett Rijnders Reply

      Hi Corvin,

      No sorry I don’t think it is possible to keep the collected data, unless you install PBSViewer on a different server on which the data is not deleted automatically.

      Cheers,

      Brett

      1. Corvin Reply

        PBSViewer already runs on a different Server and collects the Data thru ftp.

        After the reboot of the Gameserver the screens are still there until they are overwritten, but the DB seems to be cleared.

        A nice feature would be that PBSViewer stores the screens for each Day in a different folder and keeps the Data in the DB.

        We really appreciate your good work.

        Thanks for your reply ;)

        1. Brett Rijnders Reply

          Strange, currently PBSViewer is already storing all the screenshots that are located on your gameserver. Those screens however are all stored in one single folder ‘download’. PBSViewer is not really used as a back-up program, it is more a synchronisation tool.

          Cheers,

          Brett

  22. Boomsling Reply

    Me again.

    Had a slow day at work so Ive had a go at the webpage header.

    You can see it at http:/www.pcforums.co.uk/pbss

    I’ll knock up some buttons to match for update, reset etc soon.

    Feel free to us it as you see fit.

    1. Brett Rijnders Reply

      Great work! :) I have downloaded the buttons, maybe I am going to use them in future versions in which users can select and customize their own theme.

  23. Blackwatch Reply

    I am getting the following error ” Warning: ftp_chdir() [function.ftp-chdir]: The system cannot find the file specified. in /var/www/vhosts/warrior-knights.com/httpdocs/PBSViewer/inc/functions.inc.php on line 516
    directory change failed ” when i try to run an update. Could anyone help me please.

    Thanks in advance guys

  24. Brett Rijnders Reply

    Hi Blackwatch,

    Are you sure the pb directory in your ACP is correct? Did you also try to run FTP in passive mode? You can change this in your ACP, because some servers only work with passive mode. If nothing works could you please set debug mode to true in your ACP and give me your error/debug/warning messages when you try to update?

    Cheers,

    Brett

  25. Manu Reply

    Fatal error: Call to undefined function ftp_connect() in /srv/www/httpd/phost/t/org/pytalhost/the-asylum/web/pbss/install/install.php on line 1874

    anybody know whats wrong?

  26. Manu Reply

    and can you tell me an good Provider (for php/MySQL)?

    1. Brett Rijnders Reply

      Hi Manu,

      It seems that your provider does not support FTP. Did you already ask your web hosting company about this? There are a lot of good web hosting companies on the internet. For instance in the Netherlands you have http://www.versio.nl/. I don’t know from which country you are, but I think your country has some good web hosting companies as well.

      Cheers,

      Brett

  27. RockPaperSizzors Reply

    nO ERRORS WITH SETUP/INSTALL BUT NO IMAGES APPEAR

    1. Brett Rijnders Reply

      Hi,

      Could you set debug mode to true in your ACP and do an update? Do you get any error messages during update?

      Greets,

      Brett

  28. Manu Reply

    Hey Brett thx 4 you fast reply.
    My dutch is not so good ;) So can you give me an Eng or Ger Provider?
    Thx a lot!
    Greetz

  29. John Reply

    Hoi Brett;

    Ik had je een dag of 3 geleden via een contact form hier op je side om wat hulp gevraagd.
    Ik denk dat dat mailtje nooit bij je is aangekomen.
    Zou je mij mss kunnen helpen,heb wat problemen met pbsviewer.

    Thanks John

  30. John Reply

    Hmm ziet er dood uit hiero

    1. Brett Rijnders Reply

      Hey John,

      Toon a.u.b. de volgende keer wat meer respect en wat geduld, wees blij dat ik je nu nog wil gaan helpen na je typische goedkope arrogante en platte Hollandse opmerking ;) Ik was op vakantie en je mail was gemarkeerd als spam. Ik zal er dit weekend naar kijken.

      Gr,

      Brett

  31. dnroc Reply

    Hello again,

    After few months i need some help again…
    Can you please help me?

    1. Brett Rijnders Reply

      Hi,

      I have sent you a mail.

      1. dnroc Reply

        Thanks for help, it works great :D

  32. aircraft Reply

    does this work with Battlefield 3?

  33. Szabi Reply

    does this work with AAPG (America’s Army Proving Ground)?

  34. Jermin Hu Reply

    I am not able to make pbsviewer work for bf3 on my own (windows) server. It worked perfectly when the website are hosted on a web host (linux).

    Is it related to the OS?

  35. Jermin Hu Reply

    I’m running php in fastcgi mode. When I click the update button, the update page is not able to be loaded. And I get following errors in Apache error log:

    [Sun May 11 12:00:31 2014] [warn] [client 66.249.79.95] (OS 109) The pipe has been ended. : mod_fcgid: get overlap result error
    [Sun May 11 12:00:31 2014] [error] [client 66.249.79.95] Premature end of script headers: index.php

    1. Brett Rijnders Reply

      Hello Jermin,

      Yes, it might be related to windows. I only have tested it on a linux machine. I am not sure where those Apache errors are coming from, it seems like a time-out issue. Usually the execution time of a PHP script is 30 seconds. If you have a lot of screenshots that need to be updated then you might get problems. You can configure the execution time in the ACP. However, running in fastcgi might overwrite or ignore this setting.

      Just to be sure, please make sure you have the following:
      – PHP 5
      – FTP access (with proper firewall settings)
      – Correct CHMOD of files
      – Small initial set of screenshots (<100). Once it has updated it performs incremental updates.

      It seems that you were able to install PBSViewer succesfully. Can you maybe download the latest “functions.inc.php” file and overwrite the old one:
      https://pbsviewer.googlecode.com/svn/trunk/PBSViewer/inc/functions.inc.php

      This file fixes several bugs, see https://code.google.com/p/pbsviewer/issues/detail?id=47

      After overwriting this file can you turn on debug mode in the ACP and provide me the log messages when you click on update? You can also try ftp passive mode, see ACP, it might work.

      Please let me know if you’ve got it working!

  36. Jermin Hu Reply

    Updating the file makes no difference. Sometimes I can open the update page. But the page remains blank until I get a internal server 500 error, disregard of FTP and debugging settings.

    The update script can automatically start at the defined intervals, and pbsvss.htm in /download folder on web ftp can successfully updated. But the screenshots are not downloaded.

    When I was using 2.4.0.4 (with fix) on the same machine, the update page works normally (lines are generated). But I got the same error as dnroc (http://www.brettrijnders.nl/work/php/pb-screenshot-viewer/comment-page-1/#comment-2578).

    1. Brett Rijnders Reply

      Ok interesting… First of all, sorry for my late reply, I am quite busy lately. The fix I gave you should fix the same error as dnroc. Are you sure you have applied the following correctly:
      – CHMOD of the correct files and directories?
      – Correct path to pb directory
      – Correct pb screenshot directory name
      – Correct web log dir

      Can you also tell me if you get a message during update which says something about a list of png files that have been downloaded? Or do you only get a message like “All PNG files (0) were downloaded succesfully!”?