NAME
WWW::BF2Player - Fetch information about game servers from BF2Player.com
SYNOPSIS
# example 1
use WWW::BF2Player;
my $bfp = WWW::BF2Player->new; # omitted UserId, must set it per-request
my $player = $bfp->getPlayer( UserId => '5307', PlayerId => '64246757' ); # userId specified per-request
# example 2
use WWW::BF2Player;
my $bfp = WWW::BF2Player->new( UserId => '5307' ); # set a default UserId, can omit UserId per-request
my $player = $bfp->getPlayer( PlayerId => '64246757' ); # use the default UserId
DESCRIPTION
First, you must have an account (free) at BF2Player.com to make use of this module. Second, you must create and populate a buddy list on their site. You can only use this module to ask for information about players in your buddy list. This is a restriction on their part to prevent you from asking information for too many players. I guess to prevent you from competing and wasting their resources. Understandable, I suppose.
new
my $gm = WWW::BF2Player->new; # no options or defaults specified
my $gm = WWW::BF2Player->new( UserId => '5307' ); # default to a certain UserId
You can specify several options in the constructor.
my $gm = WWW::BF2Player->new(
Expires => 300,
UserId => '5307',
CacheFile => 'my_player_cache.xml',
DebugLog => 'my_debug_log.txt',
DebugLevel => 3,
);
Expires [optional]
Sets the data cache freshness in seconds. If the cache has data older than this number of seconds, it is no longer valid. It's best that you set this value to something higher than 1 minute and would be even better if you were satisfied with setting it around 5 minutes. If the cache is fresh enough, it won't even ask the Game-Monitor.com server for any information. Keep in mind that Game-Monitor doesn't update their information more than once every several minutes. It won't be useful for you to set the Expires value too low.
UserId [optional]
Sets the default UserId use. If you don't specify a UserId when asking for data, it will use this value instead. You have to specify it somewhere (here or per-request) or it won't work.
CacheFile [optional]
Sets the path and filename for the data cache. This is "bf2PlayerCache.xml" by default.
DebugLog [optional]
Sets the path and filename for the debug log. This is "bf2PlayerDebug.log" by default. To enable logging, you'll have to choose a DebugLevel greater than zero (zero is default).
DebugLevel [optional]
Sets the level of debugging. The larger the number, the more verbose the logging. This is zero by default, which means no logging at all.
getPlayerRaw
my $player = $gm->getPlayerRaw( PlayerId => '64246757' ); # omitted UserId, use the UserId specified in the constructor
my $player = $gm->getPlayerRaw( UserId => '5307', PlayerId => '64246757' ); # specified UserId, use a different UserId
This fetches the player data from the BF2Player.com server. It's returned as-is from the server, so the data isn't pretty, but it's technically accurate. If you just want the raw data, this is the function for you. If you want it prettified a bit, getPlayer might be a better fit. See also getPlayer.
UserId [optional]
If you specify it here, it overrides what was set in the constructor. If you didn't specify it in the constructor, it is required here.
PlayerId [required]
Which PlayerId to ask about. This is their official Battlefield 2 PID, not their username.
getPlayer
my $player = $gm->getPlayer( PlayerId => '64246757' ); # omitted UserId, use the UserId specified in the constructor
my $player = $gm->getPlayer( UserId => '5307', PlayerId => '64246757' ); # specified UserId, use a different UserId
This is the same thing as getPlayerRaw, except it prettifies the returned data. See also getPlayerRaw.
UserId [optional]
If you specify it here, it overrides what was set in the constructor. If you didn't specify it in the constructor, it is required here.
PlayerId [required]
Which PlayerId to ask about. This is their official Battlefield 2 PID, not their username.
AUTHOR
Dusty Wilson, <www-bf2player-module@dusty.hey.nu>
COPYRIGHT AND LICENSE
Copyright (C) 2006 by Dusty Wilson <http://dusty.hey.nu/>
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.8.8 or, at your option, any later version of Perl 5 you may have available.
4 POD Errors
The following errors were encountered while parsing the POD:
- Around line 11:
=cut found outside a pod block. Skipping to next block.
- Around line 153:
=cut found outside a pod block. Skipping to next block.
- Around line 181:
=cut found outside a pod block. Skipping to next block.
- Around line 476:
=cut found outside a pod block. Skipping to next block.