DXSpider Variables Reference
Jump to navigation
Jump to search
The list of variables comes from the files and code in the /spider/perl directory.
WARNING! If you are unsure of what you are doing, backup all files before making changes otherwise you are likely to break your installation.
This is a list of the variables found in the various files and code of the DXSpider cluster programs written by Dirk Koopman, G1TLH.
$ - scalar variable
@ - array variable
% - hash variable
/spider/perl
AGWMsg
$AGWMsg::enable - enable the AGW engine (1) $AGWMsg::login - user name you are logging in as $AGWMsg::passwd - login password $AGWMsg::addr - ip addres of the AGW engine you are logging in to $AGWMsg::port - the listening port of the AGW engine $AGWMsg::monitor - default monitor status $AGWMsg::ypolltime - time between polls of channel queues $AGWMsg::hpolltime - time between polls of Mheard
AnnTalk
$AnnTalk::duplth - the length of text to use in the deduping $AnnTalk::dupage - the length of time to hold ann dupes $AnnTalk::filterdef - declaration of filtering definitions
Bands
%Bands::bands - the 'raw' band data %Bands::regions - list of regions for shortcuts eg. vhf ssb %Bands::aliases - list of aliases
BBS
%BBS::bid - bid hash $BBS::bidfn - the bid file filename $BBS::lastbidclean - the last time the bid file was cleaned $BBS::bidcleanint - the time between bid cleaning intervals $BBS::maxbidage - the maximum age of a stored bid
BPQMsg
$BPQMsg::enable - set to 1 to enable BPQ handling $BPQMsg::ApplMask - Applmask is normally 1, unless you are already running another BPQ app such as a BBS $BPQMsg::BPQStreams - streams to allocate - used for both incoming and outgoing connects
main
$main::version - DXSpider version $main::root - dxspider filesystem root path $main::systime - the time now (in seconds) @main::inqueue - the main input queue, an array of hashes $main::starttime - the starting time of the cluster @main::outstanding_connects - list of outstanding connects @main::listeners - list of listeners $main::lang - default language $main::clusteraddr - cluster tcp host address - used for things like console.pl $main::clusterport - cluster tcp port $main::reqreg - 1 = registration required 2 = deregister people $main::bumpexisting - 1 = allow new connection to disconnect old, 0 - don't allow it $main::allowdxby - 1 = allow "dx by <othercall>", 0 - don't allow it $main::maxconnect_user - the maximum no of concurrent connections a user can have at a time $main::maxconnect_node - Ditto but for nodes. In either case if a new incoming connection takes the no of references in the routing table above these numbers then the connection is refused. This only affects INCOMING connections. $main::idle_interval - the wait between invocations of the main idle loop processing $main::log_flush_interval - interval to wait between log flushes $main::broadcast_debug - allow broadcasting of debug info down "enhanced" user connections $main::yes - visual representation of yes $main::no - visual representation of no $main::user_interval - the interval between unsolicited prompts if no traffic $main::local_data - path to local_data dir $main::localcmd - path to local_cmd dir $main::cmd - path to cmd dir $main::system - path to system dir $main::data - path to data dir $main::allowslashcall - Allow / in connecting callsigns (ie PA0/G1TLH, or even PA0/G1TLH/2) $main::localhost_alias_ipv4 - these are the IPV4 & 6 aliases for localhost connected clients $main::localhost_alias_ipv6 - for things (PC92, PC61 etc) that expose IP addresses. These *may* be set by Msg.pm stuff if they are left undefined but, if you need certanty then set/var them in the startup file. $main::save_route_cache - save and restore route cache on restart. Probably only useful for G1TLH testing $main::foreground - foreground color from Console.pm (see Console.pm header) $main::background - background color from Console.pm (see Console.pm header) $main::mycallcolor - color of mycall from Console.pm (see Console.pm header) $main::mycall - call of the node in capital letters $main::myname - sysop name $main::myalias - sysop callsign $main::mylatitude - Your latitude (+)ve = North (-)ve = South in degrees and decimal degrees $main::mylongitude - Your Longtitude (+)ve = East, (-)ve = West in degrees and decimal degrees $main::mylocator - Your locator (USE CAPITAL LETTERS) $main::myqth - Your QTH (roughly), SomeTown, SomeState $main::myemail - your e-mail address @main::my_cc - the country codes that my node is located in @main::debug - are we debugging $main::do_xml - are we doing XML $main::dsn = the SQL database DBI dsn $main::dbuser - database user login $main::dbpass - database password login $main::data - data file directory path $main::local_data - local_data directory path $main::system - system files live in (except they don't, not really) $main::cmd - command file directory path $main::localcmd - local command file directory path $main::userfn - user data file directory path $main::motd - message of the day file
DXChannel
$DXChannel::maxerrors - the maximum number of concurrent errors allowed before disconnection
DXCommandmode
%DXCommandmode::Cache - cache of dynamically loaded routine's mod times %DXCommandmode::cmd_cache - cache of short names $DXCommandmode::errstr - error string from eval %DXCommandmode::aliases - aliases for (parts of) commands $DXCommandmode::scriptbase - the place where all users start scripts go %DXCommandmode::nothereslug $DXCommandmode::maxbadcount - no of bad words allowed before disconnection $DXCommandmode::msgpolltime - the time between polls for new messages $DXCommandmode::default_pagelth $DXCommandmode::cmdimportdir - the base directory for importing command scripts this does not exist as default, you need to create it manually $DXCommandmode::users - no of users on this node currently $DXCommandmode::maxusers - max no users on this node for this run $DXCommandmode::maxcmdlth - max length of incoming cmd line (including the command and any arguments $DXCommandmode::maxcmdcount - max no cmds entering $cmdinterval seconds $DXCommandmode::cmdinterval - if user enters more than $maxcmdcount in $cmdinterval seconds, they are logged off
DXDb
$DXDb::opentime - length of time a database stays open after last access $DXDb::dbbase - where all the databases are kept %DXDb::avail - the hash contains a list of all the databases %DXDb::valid $DXDb::lastprocesstime $DXDb::nextstream %DXDb::stream
DXDebug
$DXDebug::keepdays - number of days to keep debug logs
DXMsg
%DXMsg::work - outstanding jobs @DXMsg::msg - messages we have $DXMsg::msgdir - directory contain the msgs %DXMsg::busy - station interlocks $DXMsg::maxage - the maximum age that a message shall live for if not marked $DXMsg::last_clean - last time we did a clean $DXMsg::residencetime - keep deleted messages for this amount of time @DXMsg::badmsg - bad message table @DXMsg::swop - swop table $DXMsg::swopfn - the swopping table $DXMsg::badmsgfn - list of TO address we wont store $DXMsg::forwardfn - the forwarding table @DXMsg::forward - msg forward table $DXMsg::timeout - forwarding timeout $DXMsg::waittime - time an aborted outgoing message waits before trying again $DXMsg::email_server - DNS address of smtp server if 'smtp' $DXMsg::email_prog - program name + args for sending mail $DXMsg::email_from - the from address the email will to be from $DXMsg::queueinterval - run the queue every 1 minute $DXMsg::lastq $DXMsg::importfn - import directory $DXMsg::minchunk - minimum chunk size for a split message $DXMsg::maxchunk - maximum chunk size $DXMsg::bulltopriv - convert msgs with callsigns to private if they are bulls
DXProt
$DXProt::pc11_max_age - the maximum age for an incoming 'real-time' pc11 $DXProt::pc23_max_age - the maximum age for an incoming 'real-time' pc23 $DXProt::last_hour - last time I did an hourly periodic update %DXProt::rcmds - outstanding rcmd requests outbound %DXProt::pc19list - list of outstanding PC19s that haven't had PC16s on them $DXProt::pc19_version - the visible version no for outgoing PC19s generated from pc59 %DXProt::nodehops - node specific hop control $DXProt::censorpc - Do a BadWords::check on test fields and reject things loads of 'bad things' 1 -> enabled $DXProt::pc9x_past_age - maximum age in the past of a px9x (a config record might be the only thing a node might send - once an hour and we allow an extra hour for luck) this is actually the partition between "yesterday" and "today" but old. $DXProt::pc9x_dupe_age - catch loops of circular (usually) D records $DXProt::pc10_dupe_age - just something to catch duplicate PC10->PC93 conversions $DXProt::pc92_slug_changes - slug any changes going outward for this long $DXProt::last_pc92_slug - the last time we sent out any delayed add or del PC92s $DXProt::pc9x_time_tolerance - the time on a pc9x is allowed to be out by this amount $DXProt::senderverify - 1 -> check for forged PC11 or PC61 2 -> if forged, dump them ¹ $DXProt::pc11_dwell_time - number of seconds to wait for a PC61 to come to substitute the PC11 $DXProt::pc61_extract_route - generate missing user route entry and IP address from passing PC61s $DXProt::preserve_node_ssid - With the changes to badnode set this to 1 to preserve badnode ssids $DXProt::pc92_update_period - the period between outgoing PC92 C updates %DXProt::pc92_find - outstanding pc92 find operations $DXProt::pc92_find_timeout - maximum time to wait for a reply $DXProt::pc92_short_update_period - shorten the update period after a connection or start up $DXProt::pc92_extnode_update_period - the update period for external nodes $DXProt::pc92_keepalive_period - frequency of PC92 K (keepalive) records $DXProt::pc92_ad_enabled - send pc92 A & D records $DXProt::pc92c_ipaddr_enable - add the local ip address info to each callsign in a PC92 C $DXProt::pc50_interval - the interval between pc50s (in seconds) $DXProt::myprot_version - the version of DX cluster (tm) software I am masquerading as $DXProt::def_hopcount - default hopcount to use %DXProt::hopcount - some variable hop counts based on message type @DXProt::nodx_node - list of nodes we don't accept dx from @DXProt::noann_node - list of nodes we don't accept announces from @DXProt::nowwv_node - list of node we don't accept wwvs from $DXProt::send_opernam - send out for/opernams for callsigns sending dx spots who haven't got qra locators $DXProt::disable_set_external_ip - enable/disable auto detection of IPv4 external address 1=disabled $DXProt::remove_auto_ftx - remove automatically generated FTx spots, default=0
DXUser
$DXUser::maxconnlist
DXXml
$DXXml::xs - the XML::Simple parser instance $DXXml::id - the next ID to be used $DXXml::max_old_age - how old a sentence we will accept $DXXml::max_future_age - how far into the future we will accept $DXXml::dupeage - duplicates stored half a day
Geomag
$Geomag::date - the unix time of the WWV (notional) $Geomag::sfi - the current SFI value $Geomag::k - the current K value $Geomag::a - the current A value $Geomag::r - the current R value $Geomag::forecast - the current geomagnetic forecast @Geomag::allowed - if present only these callsigns are regarded as valid WWV updators @Geomag::denied - if present ignore any wwv from these callsigns $Geomag::fp - the DXLog fcb $Geomag::node - the originating node $Geomag::from - who this came from $Geomag::duplth - the length of text to use in the deduping $Geomag::dupage - the length of time to hold spot dups
Internet
$Internet::contest_host - url of the contest host for show/contest $Internet::allow - set this flag to 1 if you want to allow internet commands $Internet::qrz_uid - set this to your QRZ user name (you need this for the sh/qrz command) $Internet::qrz_pw - QRZ.com password - this goes with your user id above $Internet::http_proxy - the address of any HTTP proxy you might be using, leave as is unless you need one $Internet::http_proxy_port - HTTP proxy port - again leave alone unless you need this $Internet::qrz_url - url for xml requests used by sh/qrz $Internet::w7md_url - used by sh/wm7d $Internet::db0sdx_url - used by sh/db0sdx $Internet::db0sdx_path - see Internet.pm $Internet::db0sdx_suffix - see Intenet.pm $Internet::dx425_url - used by sh/425 $Internet::contest_url - used by sh/contest $Internet::ik3qar_url - used by sh/ik3qar $Internet::ik3qar_pw - password used by sh/ik3qar
Prefix
$Prefix::db - the DB_File handle %Prefix::prefix_loc - the meat of the info %Prefix::pre - the prefix list $Prefix::lrusize - size of the prefix LRU cache $Prefix::misses - cache stats $Prefix::hits - cache stats $Prefix::matchtotal - cache stats
RBN
$RBN::startup_delay - don't send anything out until this time has expired this is to allow the feed to "warm up" with duplicates so that the "big rush" doesn't happen. $RBN::respottime - the time between respots of a callsign - if a call is still being spotted (on the same freq) and it has been spotted before, it's spotted again after this time until the next respottime has passed. $RBN::beacontime - same as minspottime, but for beacons (and shorter) $RBN::dwelltime - the amount of time to wait for duplicates before issuing a spot to the user (no doubt waiting with bated breath). $RBN::limbotime - if there are fewer than $minqual candidates and $dwelltime has expired then allow this spot to live a bit longer. It may simply be that it is not in standard spot coverage. (ask G4PIQ about this). $RBN::cachetime - the length of time spot data is cached $RBN::filterdef - we use the same filter as the Spot system. Can't think why :-). $RBN::spots - the GLOBAL spot cache $RBN::qrg - the GLOBAL (ephemeral) qrg cache (generated on re-read of cache) %RBN::runtime - how long each channel has been running $RBN::cache_valid - the cache file is considered valid if it is not more than this old $RBN::maxqrgdiff - the maximum $RBN::minqual - the minimum quality we will accept for output $RBN::maxqual - if there is enough quality, then short circuit any remaining dwelltime. $RBN::noinrush - override the inrushpreventor if set $RBN::maxdeviants - the number of deviant QRGs to record for skimmer records %RBN::seeme - the list of users that want to see themselves
Route
$Route::maxlevel - maximum recursion level in Route::config
Spot
$Spot::maxspots - maximum spots to return $Spot::defaultspots - normal number of spots to return $Spot::maxdays - normal maximum number of days to go back $Spot::duplth - the length of text to use in deduping $Spot::dupage - the length of time to hold spot dupes $Spot::maxcalllth - the max length of call to take into account for dupes %Spot::spotcache - the cache of data within the last $spotcachedays 0 or 2+ days $Spot::spotcachedays - default 2 days worth $Spot::minselfspotqrg - minimum freq above which self spotting is allowed $Spot::readback - don't read spot files backwards if it's windows $Spot::qrggranularity - normalize the qrg to this number of khz (default: 25khz), so tough luck if you have a fumble fingers moment $Spot::timegranularity - ditto the nearest 100 seconds $Spot::oldstyle - revert to traditional dupe key format $Spot::no_node_in_dupe - remove the node field from dupe considerations $Spot::do_node_check - do checks/adds for node duping, starting build 608 default=0 (off) $Spot::do_call_check - do checks/adds for call duping, starting build 608 default=1 (on) $Spot::do_by_check - do checks/adds for the spotting station, starting build 608 default=1 $Spot::do_ipaddr_check - do checks/adds for the spotting station IP address, starting build 608 default=1 $Spot::dupecall - check that call is not spotted too often - this the base dedupe interval - set to 0 to disable $Spot::dupecallthreashold - This is threshold at which a repeated call's dupe record actually becomes a dupe. So somewhere between 4 slowish and 3 fast spots will cause this indicate a possible flood. $Spot::nodetime - same as $dupecall but for nodes $Spot::nodetimethreshold - same as $dupecallthreshold but for nodes $Spot::dupegrgcall - check that a call is not spotted on the same (normalised) qrg too often - this the dedupe interval $Spot::spotage - the spot time stamp cannot be older than this no of secs
WCY
$WCY::date - the unix time of the WWV (notional) $WCY::sfi - the current SFI value $WCY::k - the current K value $WCY::expk - expected K value $WCY::a - the current A value $WCY::r - the current R value $WCY::sa - solar activity $WCY::gmf - geomag activity $WCY::au - aurora warning @WCY::allowed - if present only these callsigns are regarded as valid WWV updators @WCY::denied - if present ignore any wwv from these callsigns $WCY::node - originating node $WCY::from - who this came from $WCY::dirprefix - path to wcy directory in local_data $WCY::duplth - the length of text to use in the deduping $WCY::dupage - the length of time to hold spot dups
Web
$Web::maxssid - the maximum number of bare @WEB connections we will allow - this is really to stop runaway connections from the dxweb app
¹ These variables need a daemon restart to update changes.