PigShell 1.1 README (pigshell.txt) file Marcy 29, 2001 Copyright (c) 2001 Eric Dennison Disclaimer: This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. Sections included in this file: PigShell introduction PigShell features Supported platforms Installation Usage FAQ/examples License Source code Contact Credits ***PIGSHELL INTRODUCTION******************************************************* PigShell is a Windows application for launching PigStats, the Half-Life server log analyzer (www.planethalflife.com/pigstats). PigShell should only be installed (and will only work) if you have already installed PigStats version 1.5 or higher. For more information on PigStats, see the readme.txt file that is installed with PigStats. Beginning with PigShell version 1.1, PigStats and PigShell are automatically installed at the same time. What you get with PigShell is a convenient tool for: * customizing most of the command line arguments that PigStats accepts * launching pigstats * launching a browser when pigstats is finished analyzing server logs * running pigstats full-time in the system tray of your windows computer PigShell can be launched in two different ways: * launch from the start menu to interactively try different PigStats options. * launch from a batch file or "DOS" command line with preset options. Like PigStats, there are many different ways to use PigShell. You can: * Run it on an as-needed basis to generate statistics. * Schedule it to run periodically using your operating system's task scheduling facilities, updating statistics with each run. * Run it using its internal scheduler, which updates the statistics any time new log files are produced. * Use it to generate statistics on log files covering a specific time span. * Use it to automatically delete old log files (feature is a little buggy). * Use it to archive statistics with each run, so that subsequent runs only analyze recent log files. * Run several instances ot PigStats to maintain statitistics covering several different time spans (i.e. today's stats, yesterday's, last week's, etc.) * Collect statistics from several servers at one master server (coming soon) ***PIGSHELL FEATURES*********************************************************** Revision 1.1: * Checkbox added for selecting name filtering feature in PigStats 1.6 * Pushbutton added for editing the name filtering rule file, "pigrules.txt". The file is assumed to be in the directory specified for HTML output. * Any other PigStats options (-c or -v, for example) that are not supported by the PigShell gui, may be added manually in the "other options" window at the bottom of the PigShell dialog. These options may also be passed in on the PigShell command line. Revision 1.0: * The initial, inevitably buggy release.. ***SUPPORTED PLATFORMS******************************************************** PigShell was built and tested under both WinMe and WinNT4.0. It should work under Win95/98, but I'm not promising anything. ;) ***INSTALLATION*************************************************************** PigShell must be in the same directory as your PigStats executable. It may be executed from the start menu or a batch file, but the working directory must remain the same as the PigStats directory. The PigShell installer also includes full source code for PigShell. If you would like the source code to be installed, run the installer again and select the "custom installation", then check the "source code" box. Source will be installed to c:\program files\pigstats\source\pigshell ***USAGE********************************************************************** Run PigShell from the start menu and you'll be looking at dialog with checkboxes, edit windows and several buttons. Here's what they do: Buttons: GO! Start running PigStats with the current settings. While PigStats is running, most of the PigShell dialog is greyed out. When PigStats is finished, your browser will automatically launch to display the stats. Hide this dialog Make the PigShell dialog go to the system tray. If you press this button while PigStats is running, PigShell will automagically be restored when PigStats stops running. Readme Displays this readme file, or the license statement. Quit Closes PigShell and kills PigStats if it's running. Kill The Pig! Kills PigStats (but not PigShell) if it's running. Delete If you are running PigStats with "remember parsed Remembered data from the previous run" checked, an archive of the Data PigStats data is created. This is used the accelerate the next PigStats run, but may skew your stats if you change the log filtering parameters. Press this button to "unremember" the archived data and get a clean run. Filter Options: no stats for players w/o kills: see -f option below show top players: see -f[N] option below show last games: see -gN option below limit cross references to players: see -xN option below don't cross reference unranked players: see -u option below limit to logs from : see -l option below stay resident and parse : see -r option below delete files too old to be parsed: see -d option below remember parsed data from the previous run: see -a option below filter player names: see -p option below other options: see -c -v options below **** You can customize the default settings by running PigShell with one or more of the command line options shown below: PigShell [-i] [-f[N]] [-xN] [-j] [-gN] [-l[y|w|l|m|n|N]] [-d] [-r[h|q|d|w|m][N]] [-a] [-u] [-p] [-v] [-c] [/r] [/h] If PigShell is executed with NO arguments whatsoever, PigShell uses its own favorite default values. If you execute PigShell with ANY arguments, none of PigShell's own defaults are used and the command line arguments you supply are used to set the initial state of all PigShell dialog controls. These are the same command line arguments that are available when running PigStats (minus a few). If you add the /r option PigShell will begin executing PigStats with your selected arguments right away. If you also add the /h option, it will hide the PigShell dialog in your computer's system tray (that area in the lower right hand corner of your computer screen that has the current date and time). Where is the path and file name (including wild cards) of the input log file(s), is the path (only) to receive JavaScript include files. Don't add any spaces between the '-i' or '-j' and the respective paths. '-f' causes PigStats to filter out zero scores. Players with zero kills are not displayed in the general statistics section. If N is provided and the -j option is used, this limits the JavaScript data listings to the top N players (by total kills). '-x' customizes cross reference list sizes (default is 5). If the number of ogs or players is relatively small, increase this value to show more cross reference info (i.e. each player's top N favorite victims, etc.). This feature is only available with the -j option. '-g' limits game/map statistics to N games. The default is unlimited. This feature is only available with the -j option. '-l' directs PigStats to parse a limited set of log files, according to the next character or number (only available with the -j option): (no next char or num): only parse log files from today y: only parse log files from yesterday w: only parse log files from this week l: only parse log files from last week m: only parse log files from this month n: only parse log files from last month N (integer number): only parse log files from the last N days, where 1 means today and yesterday, 2 means same as 1 plus the day before, and so on... '-d' DELETES all log files that weren't parsed as a result of the -l option. USE WITH CAUTION. '-r' parse after 5 minutes, and repeat automatically every 5 minutes. The following modifiers affect repetition rate: N: wait for N minutes, then repeat every N minutes. If preceded by one of the following modifiers, indicates an additional N minute delay before parsing. h: parse hourly (+ N minutes) q: parse on the quarter hour (+ N minutes) d: parse daily (midnight + N minutes) w: parse weekly (midnight sat/sun + N minutes) m: parse monthly (midnight AM of 1st, + N minutes) '-a' archive pigstats' internal state between runs. This allows you to efficiently repeat cumulative stats runs without parsing the same logs over and over again. The state is archived to a file called archive.pig if you have selected the -j option and .archive.pig if only the -o option is used AND a file name was provided. If no output path/filename is given or neither -j and -o are provided, then -a does nothing. The archive file is saved to the same directory as the specified output file(s). '-u' ignore unranked players when generating player cross-reference lists. This must be used with the '-f' option and is useful for limiting the output file size and improving stats readability. Any player that doesn't make the 'top N' list will not appear in the player detail view cross-reference lists, but will appear in weapon and game details. '-v' act as pigstats server. Port id is a single character from a..z. In this mode, pigstats may receive log files from other computers running pigstats in 'client' mode, putting them in the log file path indicated with the '-i' option. This option is only effective in conjunction with the '-r' option. The '-v' option can be added more than once in the command line as long as each instance uses a different port id. This permits multiple clients from one machine to direct logs to a single server on the same or different machine. '-c' act as pigstats client. Port id is a single character from a..z, that much match the port id of the destination server, permitting multiple servers running on the same computer. Server ip address or name is either the ip address (i.e. 192.168.0.1), or a valid name for a machine running the pigstats server (i.e. pig.pigindustries.com). No spaces are allowed between the option, the port id and the destination address. The pigstats client will forward all processed log files to the server machine where they may be collected with logs from multiple machines and re-processed as a whole. This option is only effective with the '-a' option. '-p' use player name filtering as specified in the file 'pigrules.txt', located in the HTML output directory specified with the '-j' option. See the sample 'pigrules.txt' file for instructions on creating the rules file. '/r' begin executing PigStats with the command line arguments provided. This is the same as pressing the PigShell 'Go' button. '/h' execute PigStats in the system tray (hidden). This option is only effective with the '/r' option. ***FAQ/EXAMPLES************************************************************** Q: Why don't you have any questions in your FAQ section? A: This often happens when I'm rushing to get a first release out. No one has really tried this stuff, so no one has really asked any questions yet. Send me a note with your question, and I'll answer it just like that. betterdead@planethalflife.com --- ***LICENSE******************************************************************* This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. ***SOURCE CODE*************************************************************** Full source code is available for PigShell under the terms of the GPL and is a part of the PigShell installation. ***CONTACT******************************************************************* Contact the author, Eric Dennison, at betterdead@planethalflife.com, or visit the lovely PigStats web site at www.planethalflife.com/pigstats. ***CREDITS******************************************************************* The installer for this product was created using Installer VISE from MindVision Software. For more information on Installer VISE, contact: MindVision Software 7201 North 7th Street Lincoln, NE 68521-8913 Voice: (402) 477-3269 Fax: (402) 477-1395 E-mail: mindvision@mindvision.com http://www.mindvision.com This project uses Quma Software's QVCS version control software Version 3.4. This package provides unbelievable functionality for the price. Check it out! PigShell uses the CFolderDialog class implementation, by Kenneth M. Reed, to implement the "directory picker". ******************************************************************************