After a particularly lengthy break in development, Sascha Rhein has returned with a fantastic update to his server stats utility, FraXStats, now to be considered a complete version (1.0). FraXStats is now fully supported by all three games in the Call of Duty series -- CoD, CoDUO, and CoD2 -- and it's even possible to convert it for use in other games (not like you'd want to, you CoD fanatic, you :P ). In addition to this expansion in usability, the tool has loads of other fixes and additions (see the full list below) that will surely pull in the inspiration of server admins everywhere. With that in mind, see the ReadMe for extended information on FraXStats, and download this excellent new version today! :thumbsup:

  • Statistics can now be updated by any site visitor
  • Game log files can be imported from a remote location without copying them first
  • Support for LAN servers
  • Language file (English and German included)
  • Admin script completely rewritten to be able to extend it easily to new games
  • Player name history
  • In-game chat history
  • PunkBuster screenshot support
  • Picture packs are now included
  • CoD2 fully supported


/*  FraXStats - The most flexible game server stats                         */
/*  http://www.fraxstats.com                                                */
/*  ======================================================================  */
/*                                                                          */
/*  Copyright (c) 2004-2006 Sascha Rhein. Permission is granted to copy,    */
/*  distribute and/or modify this document under the terms of the GNU Free  */
/*  Documentation License, Version 1.2 or any later version published by    */
/*  the Free Software Foundation; with no Invariant Sections, no Front-     */
/*  Cover Texts, and no Back-Cover Texts.                                   */
/*                                                                          */

FraXStats v1.0

1. Requirements
2. File list
3. Installation guide
3a.Update old installation
3b.New installation
4. Configuration of FraXStats
5. Import of log files
6. PHP-Nuke specialities
7. None PHP-Nuke specialities
8. Version history
9. Bug fixes
10.Known issues

~-_-~-_-~-_-~-_-~-_-~-_-~   1. REQUIREMENTS   ~-_-~-_-~-_-~-_-~-_-~-_-~

You basically need a web site on which you want to show the statistics. And
your provider should give you the possibility to use PHP and MySQL.

ATTENTION: Even so FraXStats is easy to integrate into PHP-Nuke you have to
have MySQL as a database as I have not implemented it into all the databases
that PHP-Nuke is capable of. Please check with your web site provider if you
are not sure.

And if you don't use PHP-Nuke then you need to know how a web site works and
how to set a link to your FraXStats index.php file. Further more you have to
know the connection details of your MySQL database. Your web site provider can
give you this information easily. And you need to know how to use FTP in order
to copy the FraXStats files on to your server and to upload the game log files
to your website, should you not want FraXStats is doing this for you
automatically. Either way you need to know the FTP address and the password to
access your game server log files and your web server.

You do NOT need to know how to do anything in PHP nor in MySQL or anything like

~-_-~-_-~-_-~-_-~-_-~-_-~   2. FILE LIST   ~-_-~-_-~-_-~-_-~-_-~-_-~

Here is an overview of the files that are used by FraXStats:

FraXStats/index.php ------------ Shows the statistics to the visitors.
FraXStats/fraxstats-config.php - Keeps the password and MySQL settings.
FraXStats/fraxstats-import.php - Contains all the relevant import functions.
FraXStats/fraxstats-lib.php ---- General function library.
FraXStats/style.css ------------ Styling your site if you don't use PHP-Nuke.
FraXStats/import-history.log --- Import history log file.
FraXStats/import.usr ----------- To control that only one user is updating.

Folder: FraXStats/admin -------- Admin functions and PHP-Nuke integration.
Folder: FraXStats/images ------- Used Images (except pics for maps, etc.)
Folder: FraXStats/language ----- Language files.
Folder: FraXStats/pb-files ----- PunkBuster screen shots for different servers.
Folder: FraXStats/pictures ----- Pics for different games (weapons, maps, etc.)

~-_-~-_-~-_-~-_-~-_-~-_-~   3. INSTALLATION GUIDE   ~-_-~-_-~-_-~-_-~-_-~-_-~

An easy installation and maintainance of FraXStats is one of my biggest goals
and I hope you agree that it is easy to install it. Let's see....

~-_-~-_-~-_-~-_-~-_-~-_-~   3a.Update installation   ~-_-~-_-~-_-~-_-~-_-~-_-~

Due to the fact that I have updated the database tables in order to provide you
with more detailed statistics you have to import your log files again.
Otherwise the newly added part of your stats would be empty. Therefore just
perform this update like a new installation and follow the section 
3b.New installation, please.

~-_-~-_-~-_-~-_-~-_-~-_-~   3b.New installation   ~-_-~-_-~-_-~-_-~-_-~-_-~

1. Step - Copy files
The first thing you need to do is to upload FraXStats to your server. This
depends on if you are using PHP-Nuke or not. If you do, just upload it so that
the folder "FraXStats" is created in the modules folder of your PHP-Nuke
installation. After an sucessfull upload you should see a new subfolder in your
modules folder called "FraXStats" (without quotation marks).
!!!!!! Please be careful about the upper and lower case of the letters !!!!!!
This folder should contain all the files listed in section 2. FILE LIST.

If you don't use PHP-Nuke then you can upload the foder "FraXStats" to any
location of your desire.

2. Step - File permissions
Once you have copied all the files to the server you have to make sure that the
permissions on the files and folders are set to CHMOD 777, so that
FraXStats can access them. Should any of the files or folders not exist please
create them manually and than set the permissions.

FraXStats/fraxstats-config.php - Keeps the password and MySQL settings.
FraXStats/import-history.log --- Import history log file.
FraXStats/import.usr ----------- To control that only one user is updating.

Folder: FraXStats/pb-files ----- PunkBuster screen shots for different servers.

3. Step - MySQL Configuration - Password
Now open your Internet browser and browse to the URL of admin/index.php
(http://www.your-website.com/subfolder/FraXStats/admin/index.php) or you use
the admin panel of PHP-Nuke and click on "FraXStats". In both cases you should
see a screen which asks you for the details about how to connect to your MySQL 
database. And a field asking for the prefix of the tables. This can be used if
you like to install FraXStats more than once in the same database. Usually just
enter "fraxstats" (without quotation marks) and its fine. Please enter these
information and also the password that you want to use in the future when ever
you enter this administration page of FraXStats.
ATTENTION: Do not use a dash (-) in the database prefix table name as it does
not work in all MySQL versions/settings and can therefore cause problems.

You find also a field called Password. This is the password that you will need 
later on to login to the FraXStats admin panel.

Click on "save" and it will update the file "fraxstats-config.php" in the main
FraXStats folder and save all the given information in it. No worries, the
password is encrypted.
It will also show you on the screen that it has written all the information to
this file, as well as created all the necessary tables in the database.

Please continue with the next section, the configuration of FraXStats.

~-_-~-_-~-_-~-_-~-_-~-_-~   4. CONFIGURATION OF FraXStats   ~-_-~-_-~-_-~-_-~-_

I will not go into the details of the configuration as all the fields are well
explained within the admin panel.
However I will pinpoint the order of the steps and the most important fields.

1. Step - General Settings
- Language (only available if NOT PHP-Nuke installation)
- Time per step in seconds
- Header text
- Background colours
- Minimum kills
- Maximum age of records
- Minimum time between user updates

2. Step - Available Games
- Custom Name

3. Step - Server Settings
- Select Game - click "add"
- Server name
- GUID Server
- Amount of Log Files
- How to read-in Log Files
- After click on "select" fill in rest of the page.

~-_-~-_-~-_-~-_-~-_-~-_-~   5. IMPORT OF LOGFILES   ~-_-~-_-~-_-~-_-~-_-~-_-~

1. Import as administrator
- Select "Import" from admin panel menu.
- Select game for which you would like to perform the import.
- Select server or chose "*** All servers ***".
- Import Starts
- Check log result window for any error messages

2. Import as user
- Surf to your main index.php
- Click on the "update" button

ATTENTION: This update button is only available if:
- The file size of the latest log file has changed.
- The minimum period of time since the last update has passed.
- No other user is currently performing an import.

~-_-~-_-~-_-~-_-~-_-~-_-~   6. PHP-NUKE SPECIALITIES   ~-_-~-_-~-_-~-_-~-_-~-_-

One I am not capable of doing right now is the support of more 
database, even so PHP-Nuke is working with a lot of different databases.
FraXStats will only be working with MySQL as it currently stands. But I
don't think that this is a big issue. If you wish an integration please post in
the wishlist forum at http://www.FraXStats.com. Thanks!

~-_-~-_-~-_-~-_-~-_-~-_-~   7. NONE PHP-NUKE SPECIALITIES   ~-_-~-_-~-_-~-_-~-_

How can you change the layout of FraXStats without PHP-Nuke?
Okay, this is fairly easy cause I have implemented the usage of the styles that
are used in PHP-Nuke, which means you can use any PHP-Nuke theme that is out
there. You can check the following sites to find a Theme which suits you most:


Should you like to run it without PHP-Nuke then you can still have a look for
which PHP-Nuke layout you like most and copy the file "style.css" from any
theme folder into your FraXStats folder. There are also several  other websites
from where you can download additional PHP-Nuke Themes, just google for them.

~-_-~-_-~-_-~-_-~-_-~-_-~   8. VERSION HISTORY   ~-_-~-_-~-_-~-_-~-_-~-_-~

- Completly new administration interface.
- Support for several languages.
- Page showing the chats made within the games.
- Page showing the PunkBuster screen shots.
- Possibility for visitors to update the statistics automatically.
- Import from different locations (local, copy with ftp, remote processing).
- Full support for Call of Duty 2 log files.
- Statistics based on player names (not GUID) for LAN servers.
- Player name history.
- Improved installation routine.

- Damage points inflicted.
- Damage points received.
- Damage occured by (bullet, grenade, melee, etc.).
- Graphics (maps, weapons, bodyparts).
- Graphic packages for CoD and CoD-UO.
- Player Filter (negative or positive).
- Show selected columns only, individuel for each stat type.
- Define order of columns.
- New row: Kill Points (calculation= kills minus deaths).
- File browser for FTP and local files.
- Import of several log files at once.
- Instructions for visitors.
- Show last update date.

This is the first version of FraXStats available to public. It includes the
following features:
- It creates the statistics at the moment of request.
- Compare players with each other.
- Statistics across several server of the same game.
- Filter statistics to your desire.
- Easy to install.
- Include FTP function to download log files to server.
- Supports Call of Duty (CoD).
- Supports Call of Duty - United Offensive (CoD-UO).

~-_-~-_-~-_-~-_-~-_-~-_-~   9. BUG FIXES   ~-_-~-_-~-_-~-_-~-_-~-_-~

Verison 1.0
- Show FraXStats version in the bottom line.
- Eliminate spaces in file name and path.
- Some player names are missing.
- Implement workaround function into core script.
- Error on browse in server settings (depending on provider).
- Some functions don't find page if PHP-Nuke installation is NOT in root
- Issues with "external" scripts - implement as function.
- Fix all warning displayed, depending on PHP.INI settings.
- Some times body parts have a space at the end of a name.
- Fix of footer layout within PHP-Nuke.

Version 0.9d
- Fixed installatin issue, asking for Password on empty config file.

Version 0.9c
- Changed name from X-Stats to FraXStats.
- some functions dont find page if PHP-Nuke installation is NOT in root.

Version 0.9b
- Only every second line of a log file got processed.

Version 0.9a
- The "Instruction" page was not working on PHP-Nuke installations.

Version 0.9
- Fixed an error where CoD (UO) logfiles only read in partly when 
  minutes in beginning of line is smaller than 1000 minutes.

Version 0.8c
- Fixed wierd display in with some PHP-Nuke themes.
- Fixed, where filters are not working if a server is selected.

Version 0.8b
- FTP delete function only deletes if set in settings
- Filters are not empty if server selected.

Version 0.8a
- Players with GUID 0 (zero) are not imported into database anymore.
- Adjusted filter, only items available to filter selection are shown.
- Error with limited length of GUID in CoD. Length now unlimited.

~-_-~-_-~-_-~-_-~-_-~-_-~   10. KNOWN ISSUES   ~-_-~-_-~-_-~-_-~-_-~-_-~

For some reason I could not get FraXStats to import log files properly when
Nuke-Sentinel is installed. The work around is to use the admin panel without
PHP-Nuke, but to access it directly, like this:
Should you find out the necessary settings in Nuke-Sentinel to get FraXStats
running than please let me know on www.FraXStats.com. Thanks!!!

PHP-NUKE 7.7 onwards
Since PHP-Nuke 7.7 there is an advanced Java-Script WYSIWYG Editor build in.
And as this editor can not be disabled unless you turn it off completly in your
PHP-Nuke installation (setting $advanced_editor = "0"; is not enough) I have no
possibility to fix this. This issue is causing the log file import history to 
be shown in an odd way, but everything is working otherwise.

Since new issues could occure at any time I have decided to not include them in
this document anymore. Please look them up in the forums on www.FraXStats.com.
This link brings you there: 

There are no comments yet. Be the first!