New features and other changes in the v1.03 release of XASECO:
new support for an admin lock password:
a lock password for /admin and /jfreu commands, as well as other admin abilities and the admin panel, can be configured via new config.xml setting <lock_password>
if the password setting is non-empty, admins of any tier have to enter a password before being able to use admin commands and features
the new /admin unlock command compares the supplied password with the above setting, and unlocks the admin commands and features if valid
the unlock status is remembered for the duration of the player session, so after every reconnect admins will have to enter the password again before they are fully authorized
when an /admin or /jfreu command is not permitted, the error message does not distinguish between a login without admin abilities and the absence of its unlock status, so a player with a spoofed login is left guessing whether the login indeed belongs to an admin or whether an unlock password is required
new support for admin IP addresses:
after each <tmlogin> field in the <masteradmins> section in config.xml there is now an <ipaddress> field which, if not empty, should contain the IP address that this MasterAdmin login is authorized from
similarly, after each <tmlogin> field in the <admins> and <operators> sections in adminops.xml there are now <ipaddress> fields which, if not empty, should contain the IP addresses that these Admin and Operator logins are authorized from
if the specified IP address for a given login does not match, a player with a spoofed MasterAdmin, Admin or Operator login will only have normal player abilities, and any unauthorized attempts to use admin commands are logged
when starting v1.03 for the first time it is not necessary to add <ipaddress> fields to your adminops.xml file, as empty fields will be created and saved automatically the next time that this file is written (e.g. with /admin writeabilities) – IP addresses for existing logins can then be added manually, and the file reloaded with /admin readabilities
when using this security feature for the <masteradmins> section in config.xml, you do have to manually add the <ipaddress> fields to the file, whether empty or with actual IP addresses
newly added admins and operators will always be saved to adminops.xml with their IP address, so if you are not using this security feature you can manually delete the address from the file, and then reload it
note to plugin authors: because of these two security features the parameter type for the allowAbility, isMasterAdmin, isAdmin, isOperator and isAnyAdmin functions changed from a login string to a player object
new support for IP address bans, in co-operation with regular server bans (which are not preserved across TM server restarts):
the new bannedips.xml file can contain a list of banned IP addresses, which is automatically loaded at XASECO start-up
the IP addresses of players are checked against the list upon connecting, and banned players are kicked with a banned IP message
the existing /admin ban and /admin unban commands also add/remove the IP address of the pertaining player to/from the banned IPs list
the new /admin banip command adds a manually specified IP address to the list, and /admin unbanip removes an IP address from the list – /admin banip does not require the pertaining player to be online like /admin ban does
the new /admin showiplist command (alias /admin listips) displays the current list of banned IP addresses – on TMF if config.xml setting <clickable_lists> is True, the addresses in the output are buttons to invoke /admin unbanip on the selected IP
the new /admin cleaniplist command deletes the entire list of banned IP addresses
all commands automatically write the updated bannedips.xml file, but the new /admin writeiplist and /admin readiplist commands can also be used to write/read the list whenever you want
on TMF when plugin.msglog.php is enabled:
a small arrow button is displayed in the lower-left corner above the chat window button that will invoke /msglog, allowing to quickly review the system message history
the system message window now always displays the last 5 message lines, and the /msglog output has been reduced to a single-page window of 21 lines to avoid having to page in order to read the latest messages
global jukebox messages can now be diverted to the window, configurable via rasp.settings.php setting $jukebox_in_window (true/false)
global chat-based vote messages can also be diverted to the window, configurable via votes.config.php setting $vote_in_window (true/false)
new /admin writeabilities and /admin readabilities commands to write and read the admins/operators/abilities list to and from disk
the player join/leave messages (for both the full and lite Jfreu plugins) are defined via new jfreu.config.php settings $player_join, $player_joins, and $player_left
an optional divider message at the start of each track shows the name, author and author time, configurable via new config.xml setting <show_curtrack> (2 = TMF message window, 1 = chat, 0 = off)
it's now possible to specify multiple track IDs to /admin add (but not to /add due to the voting process) in order to quickly download more than one track from TMX or ShareMania – the optional TMX section or SM parameter should be last
when the target player of a /kick vote leaves before the vote completes, the vote is now cancelled
the karma message at the start of each track can now be disabled via new rasp.settings.php setting $karma_show_start (true/false)
the Dedimania welcome message for a newly connecting player can also be disabled via new dedimania.xml setting <show_welcome> (True/False)
the default name for the blacklist file used by /admin readblacklist and /admin writeblacklist is now configurable via new config.xml setting <blacklist_file> (default: blacklist.txt) – note that the TM server will continue to load the blacklist file with its default name at start-up, unless you adjust <blacklist_filename> in dedicated_cfg.txt as well
the default name for the guestlist file used by /admin readguestlist and /admin writeguestlist is also configurable via new config.xml setting <guestlist_file> (default: guestlist.txt) – note that the TM server will continue to load the guestlist file with its default name at start-up, unless you adjust <guestlist_filename> in dedicated_cfg.txt as well
the default name for the track history file is now configurable via new config.xml setting <trackhist_file> (default: trackhist.txt)
the output of /admin players is limited to at most 10000 entries to prevent possible memory overruns
the background of the TMF system message window is changed from transparent into blurry to enhance readability of the messages
a high-level outline of all of XASECO's features and plugins can be found on the new Overview page
the Upgrade notes for earlier versions are now archived on a separate page
this release requires the latest server build 2008-08-05
Bug fixes in the v1.03 release of XASECO:
on TMF with the Jfreu info messages diverted to the system message window, the /message command makes the window pop up much longer than the <window_timeout> value – fixed
if <cache_tags> in musicserver.xml is disabled, the /music list output isn't formatted correctly – fixed
attempts to /admin ban offline players are allowed (and naturally always fail) – fixed
the Z-value of the TMF /admin pay dialog puts it behind the full chat window – fixed
--------------------------------------------------------------------------------
New features and other changes in the v1.02 release of XASECO:
new support for a system message window on TMF with the following features:
the message window becomes available when plugin.msglog.php is enabled (uncommented) in plugins.xml
various system messages that are sent to all players in the chat window can now be diverted into the message window in order to reduce chat clutter
the window normally pops up with the last 4 message lines whenever a new message is received, using a timeout that is configurable via new config.xml setting <window_timeout> (default: 6 seconds)
during the scoreboard at the end of each track, the window pops up with the last 6 lines if there are any new messages, for the same duration as the server's ChatTime setting (default: 10 seconds) plus an extra 5 seconds for the podium animation before the scoreboard comes up
the window size is restricted to 4 and 6 lines respectively due to the available screen space between the notice area and drop-down menu above it, and the main command window or scoreboard (at its largest size) below it
the new /msglog command displays the last 30 message lines so players can check back the system message history
messages to be diverted into this window can be any or all from:
new/improved/equalled local records, configurable via new config.xml setting <recs_in_window> (True/False)
new/improved/equalled Dedimania records, configurable via new dedimania.xml setting <recs_in_window> (True/False)
the local records report before a track, configurable via config.xml setting <show_recs_before> (add 4 to original value: 6 = full report in window, 5 = track record in window, 2 = full report in chat, 1 = track record in chat, 0 = off)
the local records report after a track, configurable via config.xml setting <show_recs_after> (add 4 to original value: 6 = full report in window, 5 = top-5 in window, 2 = full report in chat, 1 = top-5 in chat, 0 = off)
the Dedimania records report before a track, configurable via dedimania.xml setting <show_recs_before> (2 = message window, 1 = chat, 0 = off)
the Dedimania records report after a track, configurable via dedimania.xml setting <show_recs_after> (2 = message window, 1 = chat, 0 = off)
the round finish reports in Rounds mode, configurable via new config.xml setting <rounds_in_window> (True/False)
the TMX World Record message at the start of a track, configurable via config.xml setting <show_tmxrec> (2 = message window, 1 = chat, 0 = off)
the total playtime message at the end of a track, configurable via config.xml setting <show_playtime> (2 = message window, 1 = chat, 0 = off)
the Jfreu Info message at the end of a track, configurable via jfreu.config.php setting $infomessages (2 = message window, 1 = chat, 0 = off)
new /admin call command for MasterAdmins to directly execute a server call, essentially incorporating most of the RPC Utilities, with the following options:
help: Displays help information
help Method: Displays help for method
list: Lists all available methods
Method {params}: Executes method with any necessary parameter(s) and displays any result(s)
boolean parameters should be entered as 'true' and 'false' (without the single quotes); string parameters consisting of multiple words need to be entered between double quotes (")
methods that require an array or struct as parameter are not supported
Admins and Operators cannot use this command regardless of the <call> setting in adminops.xml, as it would permit them to bypass all the normal ability checks
new support for .OGG comments (ID3 tags) in the TMF music server plugin:
the new <cache_tags> setting in musicserver.xml defines whether to cache and display comments (typically ID3 tags) for all .OGG files in the song list
the new <cache_file> setting defines the filename where the cached comments are stored (default: musictagscache.xml)
when the cache file doesn't exist upon restarting XASECO, it is created, and all .OGG files are read and their comments extracted
upon further XASECO restarts, and when using /music reload, the cache file is used to load the comments for all known songs, and only the .OGG files for new songs are read
only the first block (512 bytes) of each .OGG file is read to minimize server traffic and start-up time, but obviously this can still take some time when building the initial cache for a large song collection
the cache file is then immediately written out with the title and artist for all songs, ready for future restarts and reloads
if comments are enabled, the /music current and /music settings commands include the title and artist in their output, and the /music list command displays a secondary line with the title and artist for every song
the cache file can be edited manually to make adjustments or corrections to the title and artist information
.MUX files are ignored because they are encrypted and cannot be parsed for their comments
on TMF (except when /style is off) all windows now show an icon in the left corner of the header that's appropriate for that window's content
on TMF if config.xml setting <clickable_lists> is True, the karma values in the /list karma output are buttons to invoke /karma on the selected track
on TMF in the /jukebox display output, admins with the 'clearjukebox' ability get buttons at the end of every page to invoke /admin clearjukebox
the /recs and /dedirecs commands now accept the following options:
help: Displays help information
pb: Runs the /pb or /dedipb command, respectively
new: Runs the /newrecs or /dedinew command
live: Runs the /liverecs or /dedilive command
first: Runs the /firstrec or /dedifirst command
last: Runs the /lastrec or /dedilast command
next: Runs the /nextrec or /dedinext command
diff: Runs the /diffrec or /dedidiff command
range: Runs the /recrange or /dedirange command
without an option, they display the local or Dedimania records for the current track as before
the main aseco.php program now contains a few configuration definitions that cannot be stored in a .php or .xml file:
ABBREV_COMMANDS controls whether to define abbreviations for some chat commands: /ad for /admin, /jb for /jukebox, and /aj for /autojuke – this was previously controlled by uncommenting a few lines in the pertaining source files
INHIBIT_RECCMDS controls whether all local and Dedimania record relations commands are disabled from the /help and /helpall lists; these are: /pb, /newrecs, /liverecs, /firstrec, /lastrec, /nextrec, /diffrec, /recrange as well as /dedipb, /dedinew, /dedilive, /dedifirst, /dedilast, /dedinext, /dedidiff, /dedirange – note that the commands can still be used (and on TMN will be echoed to the chat window when doing so)
MONTHLY_LOGSDIR defines whether to write the log in monthly chunks in a "logs/" subdirectory – this was previously controlled by the $log_monthly_logsdir variable in function doLog() in includes/basic.inc.php
on TMF, tweaked the Z-values of the single- and multi-page windows so that they clearly stay "on top of" the full chat window (except when /style is off, as those windows were already displayed correctly)
if $always_show_pb = false in rasp.settings.php, the Personal Best message at the start of each track is also skipped if the player uses the records panel on TMF
the default name for the matchsettings file used by /admin readtracklist and /admin writetracklist is now configurable via new config.xml setting <default_tracklist> (default: tracklist.txt)
it's now possible to add an extra explanation to the /help output to help new players, configurable via new config.xml setting <help_explanation> (default: False)
chat-based voting commands can be temporarily disabled during the scoreboard at the end of a track, configurable via new votes.config.php setting $disable_while_sb (default: true)
the default number of tracks displayed by /list newest and /list oldest is now 50
the dedimania.xml settings <log_news>, <show_recs_range> and <display_recs> should now be specified as True/False instead of 1/0
the Dedimania system "refresh" is reduced from once every 3 minutes to once every 4 minutes
the /donpanel command is now disabled if plugin.donate.php is disabled in plugins.xml
optimized URL parsing in the get_file functions of the SMInfoFetcher, TMNDataFetcher, TMXInfoFetcher and TMXInfoSearcher modules
new window style ProgressBar, admin panel AboveSpeed2, donate panels LeftSmall and RightSmall, and vote panel BottomCenterTransp, courtesy of nouseforname
this release requires the latest server build 2008-07-22
Bug fixes in the v1.02 release of XASECO:
on some PHP systems all ManiaLink windows are broken – fixed by setting locale LC_NUMERIC = "C"
on some servers players that leave have their win counts cleared – fixed this long-standing issue
/ladder and /replay are unable to reload the current track (temporarily added via /add) if that has just been added permanently via /admin addthis – fixed
disabling the default donate panel in config.xml also disables the admin panel – fixed
--------------------------------------------------------------------------------
New features and other changes in the v1.01 release of XASECO:
new TMX search support:
there is a new TMXInfoSearcher class to search TMX with the following features:
find tracks matching name, author and/or environment, returning up to 500 results from the TMNF/TMU sections and up to 20 from the TMO/TMS/TMN sections (due to an API limitation)
list the 10 most recent tracks (max. one per author) on any section
the TMXInfoSearcher object is an iterator that allows you to 'foreach' over it to obtain TMXInfo objects with all the info on each track
new /xlist command to list tracks on TMX with the following options and features:
help: Displays help information
recent: Lists the 10 most recent tracks (max. one per author)
<xxx>: Lists tracks the matching (partial) name
auth:<yyy>: Lists tracks the matching (partial) author
env:<zzz>: Where <zzz> is an environment from: Stadium, Bay, Coast, Island, Snow/Alpine, Desert/Speed, Rally (case-insensitive)
<xxx> auth:<yyy> env:<zzz>: Combines any of the name, author and/or environment searches
<tmx>: Where <tmx> is a TMX section from: TMO, TMS, TMN, TMNF, TMU (case-insensitive)
the section option must be the last one but can be combined with any of the above searches; on a TMNF server the default section is TMNF, on a TMUF server it's TMU, and of course the TMN section on a TMN server
on TMF if config.xml setting <clickable_lists> is True, the TMX ids are buttons to invoke /tmxinfo on the selected track; the track names invoke /add on the selected track; admins with the 'add' ability also get Add buttons to invoke /admin add on the selected track; and the author names invoke /xlist auth: on the selected author
on TMN you can list tracks in other TMX sections, but obviously only add them from the TMN section
new ShareMania support:
with /add <ID> SM and /admin add <ID> SM you can now use the ShareMania site to download tracks ('SM' is case-insensitive)
new /sminfo command (based on the new SMInfoFetcher class) to display the ShareMania information on the current track or, when given a track ID (from /list) or an SM ID, any other track
new TMUF donate panel support with the following features:
the donate panel shows buttons for seven different donation values, by default: 20, 50, 100, 200, 500, 1000, 2000 (configurable in plugin.donate.php)
the buttons invoke the /donate command with the specified coppers value
the distribution's panels/ subdirectory can contain up to 20 donate panel templates; their filenames must start with 'Donate'
there are 6 standard templates in various positions and sizes all around the HUD
templates define the complete ManiaLink panel with position, size and fonts, so you have full control to develop custom panels
the default donate panel is configurable via new config.xml setting <donate_panel> (default: BelowCPList)
new /admin donpanel <xxx> command to select another default donate panel for newly connecting players (requires panel name, 'off' disables the default)
the new /donpanel command allows players to select an individual donate panel with the following options:
help: Displays help information
list: Displays available panels
default: Resets panel to server default
off: Disables donate panel
<xxx>: Selects donate panel <xxx>, which can be a panel name or the sequence number from /donpanel list
in the /donpanel list overview a player can also click a panel name to dynamically select a new panel (or refresh the current one if its .xml file was updated)
on TMNF servers, players using the /donpanel command (and admins using /admin donpanel) receive a message that a TMUF server is needed; on TMUF servers, a TMNF player receives a message that a TMUF account is needed
automatically enabling /cps and /dedicps for newly connecting players is now configurable via new config.xml settings <auto_enable_cps> and <auto_enable_dedicps>
new /admin pay command (TMUF-only) to pay server coppers to a login, including another server login, with the following features:
the required parameters are the login, which can be any valid player or server login, and the coppers amount to pay
the command provides a dialog box, similar to the donation dialog, allowing the admin to confirm or cancel the payment
after confirmation, the payment happens immediately but the Nadeo tax (2 coppers plus 5 % of the transaction) isn't deducted from the server account until any player joins or leaves the server
on TMNF servers, admins using this command receive a message that a TMUF server is needed
new /admin cleanmutes command (alias /admin cleanignores) to completely clean the global mute/ignore list
the /admin server command now also works on TMN (albeit with the column alignment difficulties inherent to those windows)
on TMF, /server and /admin server now show the server's rights (United or Nations) and /stats shows the pertaining player's rights
on TMNF servers, players using the /donate command now receive a message that a TMUF server is needed; on TMUF servers, a TMNF player receives a message that a TMUF account is needed
on TMNF servers, admins using the /admin coppers command now receive a message that a TMUF server is needed
updated the Dedimania system to randomly choose between the existing :8006 and :8007 and new :8011, :8012 and :8013 communication ports (remember to open those ports on your firewall/router as well) in order to distribute the load across more Dedimania servers
attempts to /add, /admin add or /admin addlocal a track that's larger than 256 KB (the maximum online track size) are aborted with an error message
when using the full Jfreu plugin, the banning period by the badword filter is now configurable via $badwordstime in jfreu.config.php (default: 10 minutes)
new /jfreu badwordstime command to set the banning period (in minutes)
on TMF, unusual characters (such as in challenge names and player nicknames) no longer cause ManiaLink windows not to be displayed
on TMF, all standard admin panel templates now use the animated Buddy icon instead of the static Buddies one
on TMF, added the server's login, rights and packmask to the start-up header in the log
on TMN the default style and panel templates are no longer loaded
optimized the multi-page ManiaLink windows code on TMF
Bug fixes in the v1.01 release of XASECO:
on TMF, using /style <##>, /admin panel <##>, /recpanel <##> and /votepanel <##> to select the default style/panel doesn't work – fixed
on TMF, unofficial players (ladder rank -1) can bypass the rank limit checks – fixed
if a player reconnects within the same second after disconnecting, a MySQL warning is logged – fixed this long-standing bug
using /add on a track that's already in the server's list does not properly jukebox it anymore – fixed
on Windows, downloading the same track from TMX again with /add or /admin add can result in a PHP warning – fixed
if a newly connected player uses /refresh, a PHP warning can result – fixed
bogus PlayerFinish callbacks (with no valid login) occasionally result in PHP/XASECO warnings – fixed, such callbacks are now ignored
there are some layout glitches in the /jfreu players output when /style is off – fixed
the /jfreu badwordsnum command actually shows the /jfreu maxplayers value – fixed
on TMN, /admin players results in a 'GetIgnoreList' warning – fixed
a non-responding music server can cause XASECO to time out or crash when loading a song – fixed
log messages with a "Fatal Error" don't include the source file where the error occurs – fixed
--------------------------------------------------------------------------------
New features and other changes in the v1.00 release of XASECO:
new TMF window styles support with the following features:
the distribution includes a new styles/ subdirectory that can contain up to 50 style templates for the ManiaLink windows
there are no fewer than 20 standard templates in light and dark, and in transparent, blurred and opaque variants
templates define the window, header and body background containers, as well as the header and body text fonts, and the clickable button style
the default window style is configurable via new config.xml setting <window_style> (default: DarkBlur)
new /admin style <xxx> command to select another default window style for newly connecting players (requires style name, 'off' disables the default)
the new /style command allows players to select an individual window style with the following options:
help: Displays help information
list: Displays available styles
default: Resets style to server default
off: Disables TMF window style
<xxx>: Selects window style <xxx>, which can be a style name or the sequence number from /style list
in the /style list overview a player can also click a style name to dynamically select a new style (or refresh the current one if its .xml file was updated)
multi-page windows get ArrowFirst and ArrowLast buttons to jump directly to the first and last pages – as with the plain TMN-like style, windows of more than 5 pages also get ArrowFastPrev (Prev5) and ArrowFastNext (Next5) buttons to jump back and forth by 5 pages
note that on TMNF the Black, Blue, Cyan and Orange styles revert to Green, so you might as well remove those files to prevent player confusion
new TMF admin panel support with the following features:
the admin panel contains 7 icons to perform common admin tasks, from left to right (or top to bottom):
the ClipRewind icon for /admin restartmap, ClipPause for /admin endround, ClipPlay for /admin nextmap, Refresh for /admin replaymap, ArrowGreen for /admin pass, ArrowRed for /admin cancel and Buddies for /admin players live
the distribution includes a new panels/ subdirectory that can contain up to 40 admin panel templates; their filenames must start with 'Admin'
there are 14 standard templates in various positions and sizes all around the HUD
templates define the complete ManiaLink panel with position, size and fonts, so you have full control to develop custom panels
the default admin panel is configurable via new config.xml setting <admin_panel> (default: BelowChat)
new /admin admpanel <xxx> command to select another default admin panel for newly connecting admins (requires panel name, 'off' disables the default)
the new /admin panel command allows admins to select an individual admin panel with the following options:
help: Displays help information
list: Displays available panels
default: Resets panel to server default
off: Disables admin panel
<xxx>: Selects admin panel <xxx>, which can be a panel name or the sequence number from /admin panel list
in the /admin panel list overview an admin can also click a panel name to dynamically select a new panel (or refresh the current one if its .xml file was updated)
as with chat commands, use of the buttons in the admin panel remains governed by the tiered admin system and the ability lists
new TMF records panel support with the following features:
the records panel lists the Personal Best, Local #1 record, Dedimania #1 record and TMX world record
the times (or scores in TMUF Stunts mode) for these four fields act as buttons to invoke the /topsums, /recs, /dedirecs and /tmxrecs commands, respectively
the distribution's panels/ subdirectory can contain up to 50 records panel templates; their filenames must start with 'Records'
there are 15 standard templates in left- and right-edge variants
templates define the complete ManiaLink panel with position, size and fonts, so you have full control to develop custom panels
the default records panel is configurable via new config.xml setting <records_panel> (default: RightBottom)
new /admin recpanel <xxx> command to select another default records panel for newly connecting players (requires panel name, 'off' disables the default)
the new /recpanel command allows players to select an individual records panel with the following options:
help: Displays help information
list: Displays available panels
default: Resets panel to server default
off: Disables records panel
<xxx>: Selects records panel <xxx>, which can be a panel name or the sequence number from /recpanel list
in the /recpanel list overview a player can also click a panel name to dynamically select a new panel (or refresh the current one if its .xml file was updated)
all players' records panels are updated when a new #1 Local or Dedimania record is driven, a player's own panel when a new Personal Best is driven
when the scoreboard comes up at the end of a track, records panels are temporarily disabled
note that on TMNF some of the Blue fonts revert to Green, so you could rename those files to prevent player confusion
new TMF vote panel support with the following features:
the vote panel provides Yes and No buttons for TMX /add and all chat-based votes
players can also operate the buttons with the F5 and F6 keys respectively (the keys don't work for spectators)
the Yes button and F5 key invoke the /y command, the No button and F6 key are dummy operations to close the vote panel, which is necessary for a consistent user interface experience
the vote panel is displayed for all players upon entering an /add or chat-based voting command, except for spectators when $allow_spec_voting in votes.config.php is off (but admins always get the vote panel) and for the vote initiator when $auto_vote_starter is on (because that already invokes /y automatically)
a player's vote panel disappears once clicked (or when entering /y), and any remaining panels disappear automatically when a vote passes, expires, or is cancelled
the color of the Yes button matches the type of vote: pink ({#vote} in config.xml) for chat-based votes and orange ({#emotic}) for /add votes; the No button is always dark gray
the distribution's panels/ subdirectory can contain up to 10 vote panel templates; their filenames must start with 'Vote'
there are 4 standard templates in various positions and sizes around the HUD
templates define the complete ManiaLink panel with position, size and fonts, so you have full control to develop custom panels
the default vote panel is configurable via new config.xml setting <vote_panel> (default: BelowChat)
new /admin votepanel <xxx> command to select another default vote panel for newly connecting players (requires panel name, 'off' disables the default)
the new /votepanel command allows players to select an individual vote panel with the following options:
help: Displays help information
list: Displays available panels
default: Resets panel to server default
off: Disables vote panel
<xxx>: Selects vote panel <xxx>, which can be a panel name or the sequence number from /votepanel list
in the /votepanel list overview a player can also click a panel name to dynamically select a new panel (or refresh the current one if its .xml file was updated) – while doing this the panel is briefly displayed to show its new location
when the scoreboard comes up at the end of a track, vote panels are disabled (because the ongoing vote expires at that point)
the /admin players command now accepts a special option live to display a list of just the online players, rather than any players in the database that match the search string
on TMF the /admin players command now provides a comprehensive player management window:
the nick/login buttons will invoke /stats on the selected player
the operation buttons invoke, from left to right, on the selected player: /admin warn, /admin ignore or /admin unignore, /admin kick, /admin ban or /admin unban, /admin ban or /admin unblack, /admin addguest or /admin removeguest, and /admin forcespec
the toggle operations show the operation that is meaningful with respect to the player's status, e.g. UnIgnore for an ignored player, Add Guest for a non-guest one, and no Force Spec button for a spectator
operations can be performed on both online and offline players, but buttons are only provided when that operation is feasible, e.g. offline players cannot be warned, ignored, kicked or banned but they can still be unbanned and unblacked
the window is refreshed (albeit to the first page) to show the new status when any toggle operation is performed, i.e. (Un)Ignore, Kick, (Un)Ban, (Un)Black, Add/Remove Guest and Force Spec
buttons are only provided for the first 200 players, which should be sufficient for the live list – if the desired player in an offline list is beyond the 200 mark, refine your search string
new /jfreu players command to display the list of all known players since the last XASECO restart, and search for offline players via a (part of a) login or nickname with /jfreu players <string>
the special option live displays a list of just the online players, rather than any players tracked since the last XASECO restart that match the search string
on TMN this command also includes the current Badword count for each player if $badwords in jfreu.config.php is 1 (true)
on TMF this command provides the second player management window:
as before, the nick/login buttons will invoke /stats on the selected player
the operation buttons invoke, from left to right, on the selected player: /jfreu badword (if $badwords is 1), /jfreu banfor 1H, /jfreu banfor 24H, /jfreu unban, /jfreu addvip or /jfreu removevip, and /jfreu unspec
also shown are the player's current badword count (if $badwords is 1) and the time left in a temporary ban, if any
the single toggle operation in this window shows the operation that is meaningful with respect to the player's status, i.e. Add or Remove a player as VIP
the Spec column provides an UnSpec button for SpecOnly players, and otherwise shows the player's current status (Player, Spec or Offln)
operations can be performed on both online and offline players, but buttons are only provided when that operation is feasible, e.g. offline players cannot have their badword count incremented or be unspec-ed but they can still be temporarily banned
the window is refreshed (albeit to the first page) to show the new status after all of the operations
buttons are only provided for the first 200 players, which should be sufficient for the live list – if the desired player in an offline list is beyond the 200 mark, refine your search string
on TMF in the output of the various /list lists, /best and /worst, an author column has been added
on TMF it's now possible to add clickable buttons to relevant lists, configurable via new config.xml setting <clickable_lists> (default: True):
in the various /list lists, /best and /worst the track buttons will jukebox the selected track; no button is displayed for tracks in the track history – supports up to 1900 tracks
in the various /list lists, /best and /worst the author buttons will invoke /list <author>
on TMUF, in the various /list lists, /best and /worst the environment buttons will invoke /list env: for the selected environment
in /music list the song buttons will jukebox the selected song – supports up to 1900 songs
in /jukebox display a player will get a button only for the name of his/her own jukebox track, which can be used to drop it; admins of any tier with the 'dropjukebox' ability get buttons for all track names to drop any of them – supports up to 100 tracks
in /players the nick/login buttons will invoke /stats on the selected player – supports up to 200 players
in /stats the Time Played field is a button to invoke /active, Server Rank invokes /top100, Records invokes /toprecs and Races Won invokes /topwins
in /admin listignores, /admin listbans, /admin listblacks and /admin listguests the nick/login buttons will invoke /admin unignore, /admin unban, /admin unblacks and /admin removeguest (respectively) on the selected player – supports up to 200 players
in /jfreu listbans, /jfreu listvips and /jfreu listvipteams the nick/login/team buttons will invoke /jfreu unban, /jfreu removevip and /jfreu removevipteam (respectively) on the selected player/team – supports up to 200 players/teams
this works with any window style, including the plain TMN-like style
all clicked commands in the aforementioned windows and panels are logged analogous to chat commands
when you've added more style or panel templates than the maximum, a warning is logged and the excess templates are ignored
new /autojuke command to automatically jukebox the first available track from the chosen /list selection (e.g. /autojuke nofinish, /autojuke norank... see /autojuke help) – optional alias /aj becomes available by uncommenting the appropriate two lines at the start of plugin.rasp_jukebox.php
new /admin forcespec command to force a player into spectator mode (free camera)
the /stats command now accepts an optional login or player ID by all players, not just admins with the 'chat_stats' ability – that ability was renamed to 'chat_statsip' and defines which admin tiers can see the player's IP address (for privacy reasons this isn't shown to all players)
on TMF, players' team names are no longer updated (cleared) in the local database upon reconnection, so that a plugin/command (e.g. /teamname in plugin.matchsave.php) can store meaningful team names in the database
on TMF if a track contains no custom song, /song will advise to try /music current if the music server plugin is enabled
when the scoreboard comes up at the end of a track, any pop-up windows are now automatically closed
optimized the checkpoints panel display code
HTTP GET requests to TMX and for the up-to-date check now include a User-Agent header to allow minimal statistics tracking
updated the GBXDataFetcher module to rename the GBXDataFetcher class to GBXChallengeFetcher, and add the new GBXReplayFetcher class (not used in XASECO though)
Bug fixes in the v1.00 release of XASECO:
the search order is missing from the /list karma header – fixed
on TMF, the /admin listignores (aka. ignorelist) listing could get mixed up with previous window output – fixed
reminder, expiration and cancellation messages for /add votes show the unstripped track name – fixed
--------------------------------------------------------------------------------
New features and other changes in the v0.99b release of XASECO:
new /admin clearhist command to clear part of, or the entire, track history: with no option, it shows the total number of tracks in the history; with the 'all' option, the entire history is cleared; with a positive number, that many of the most recent tracks are cleared, and with a negative number that many of the oldest tracks
the music server plugin supports song files in subdirectories at the server URL, but now those subdirectories can be excluded in any command that shows songs (configurable via new musicserver.xml setting <strip_subdirs>)
new /music stripdirs command to show and change the strip subdirs setting; the /music settings output also includes the StripDirs value
a flexible way to control the contents of the ManiaLinks <custom_ui> block now allows other plugins and widgets to co-operate with the main XASECO system
the config.xml settings <show_recs_before> and <show_recs_before> are now integers instead of booleans: 2 = show the full records report, 1 = show just the track record before or the top-5 records after the track, 0 = show no records at all (reduces chat message volume when a records ManiaLink panel is displayed)
when XASECO is out of date and a master admin connects, he/she will automatically receive an /admin uptodate reminder message – hopefully this will motivate more master admins to keep their XASECO version in sync with the latest release
Bug fixes in the v0.99b release of XASECO:
new local records aren't properly marked anymore in /liverecs, /newrecs, rounds reports and the records report after a track – fixed
too stringent input checking for /admin setpwd, /admin setspecpwd and /admin setrefpwd prevents clearing those passwords – fixed
--------------------------------------------------------------------------------
New features and other changes in the v0.99 release of XASECO:
new music server support (TMF-only) becomes available when plugin.musicserver.php is enabled (uncommented) in plugins.xml, offering the following features:
the music plugin is configured via musicserver.xml, containing the following entries:
the server URL, an http server that must allow direct download of the song files from the specified directory
a list of song files (case-sensitive) in .OGG or .MUX format that must exist at the server URL – duplicates are removed when loading the XML file
configuration options to control whether to override a track's own music, whether to automatically load the next song upon the next track, and whether to allow jukeboxing songs by players
a list of plugin messages
the new /music command offers the following options:
help: Displays help information – admins see all options, other players only the options they can use
settings: Displays current music settings – for security, only admins see the server URL
list: Displays available songs
current: Shows current song
reload: Reloads musicserver.xml config file – admin-only
next: Skips to next song (upon next track) – admin-only
shuffle: Randomizes song list – admin-only
override: Changes track override setting – admin-only
autonext: Changes automatic next song setting – admin-only
allowjb: Changes allow jukebox setting – admin-only
off: Disables music, auto next & jukebox – admin-only
jukebox (alias jb): Displays upcoming songs in jukebox
drop: Drops your currently added song
<##>: Adds a song to jukebox where <##> is the number from /music list
a new <music> color is defined in config.xml and used in all relevant music messages so that they can easily be customized
a new chat_musicadmin ability controls which tiered admin levels can use the /music admin commands
if autonext is enabled, the next song from the list will be loaded upon the next track, unless an admin manually skipped to the next song or the jukebox specifies another song
if allowjb is enabled, any player can add one song at a time to the jukebox – to jukebox another, first use the drop option
the same song cannot by added to the jukebox more than once
if a track itself contains a song and override is disabled, a possible jukeboxed song is skipped as it's not possible to detect the track song
the off option disables server music upon the next track (so the in-game music returns), clears the jukebox, and disables the autonext and allowjb options so no new songs get loaded – to enable server music again, simply turn either or both options back on
the reload and shuffle options also clear the jukebox
a warning message is logged when a song file cannot be loaded, and no song change takes place until the next track
reminder: to see the filename of a track's own song, use the /song command
new donation support (TMUF-only) becomes available when plugin.donate.php is enabled (uncommented) in plugins.xml, providing the following features:
new /donate command to give coppers to the server
the minimum donation is 10 coppers (because of Nadeo tax)
donations of 100 and more coppers are awarded with a public appreciation message (below 100 it remains private)
both thresholds are configurable in plugin.donate.php
a new <donate> color is defined in config.xml and used in all relevant donation messages so that they can easily be customized
remember that the server's coppers amount (seen with /admin coppers) isn't updated until any player joins or leaves the server
important: you must make an initial donation from a TMUF player login to your server login via the in-game message system, so that there are sufficient coppers in the account to pay the Nadeo tax on the first /donate transaction
an account rights error is shown when attempting to donate from a TMNF player account or to a TMNF server account
new /list env:zzz option (TMUF-only) to search for tracks by environment, where zzz can be: Stadium, Bay, Coast, Island, Alpine/Snow, Desert/Speed, Rally (case-insensitive) – can also be combined with a search for track/author name in either order: /list xxx env:zzz or /list env:zzz xxx (remember that xxx itself is allowed to contain spaces too)
on TMF, the /stats output now includes the time (in days and hours) since the player inscribed in the zone, as well as the last match score, number of wins/draws/losses and win/loss ratio (which are included in the /statsall output on TMN)
on TMF, the /server output now includes the server comment – note however that special formatting in long comments is not continued after column line breaks
new /admin server command (TMF-only) to display the server's detailed settings
new /admin setcomment command to change the server comment
new /admin setmaxspecs command to change the maximum number of spectators
new /admin setpwd, /admin setspecpwd and /admin setrefpwd commands to change the player, spectator and referee passwords (referee only on TMF)
new /admin setrefmode command (TMF-only) to change the Referee mode (0 = top3, 1 = all)
new /admin forceteam command (TMF-only) to force a player into the 'Blue' or 'Red' team (the names can be abbreviated to 'B' and 'R') – if no team is specified, the player's current team is shown
new /admin nextenv command (TMUF-only) to skip to the next track within the same environment
on TMF, the track name is now hyperlinked to the corresponding TMX page (if available) in the /track, /playtime, /newrecs and /liverecs messages as well as the local record reports before and after each track, and the total playtime message at the end of each track in Rounds/Team/Cup mode
on TMF, the track name is now hyperlinked to the corresponding Dedimania page in the /dedinew and /dedilive messages as well as the Dedimania record reports before and after each track
in TMUF Stunts mode, updated the TMX World Record message and /tmxrecs output to show scores
in TMUF Stunts mode, the total playtime message at the end of each track isn't shown anymore (always 5 minutes)
the /tmxinfo output now includes the TMX section for the track, as well as the download link to the TMX World Record replay (if available)
when the current track is not found on TMX, /tmxinfo and /tmxrecs now show the track name instead of the UID in the error message
added new internal onStatusChangeToX (X = 1-5) event for the corresponding TM server status changes, and new internal onKarmaChange event for karma vote changes
enforced strict and complete error checking on all local database operations
added a warning if the SuperAdmin password is still set to the default (and insecure) 'SuperAdmin'
added the operating system to the first log message during start-up
set a 20 MB memory limit for the XASECO PHP process
this release requires the latest server build 2008-05-19
Bug fixes in the v0.99 release of XASECO:
when the TM server goes away (e.g. crashes), XASECO loops forever at high load – fixed, XASECO also shuts down with an appropriate error message
tracks downloaded via /add and /admin add are corrupted since v0.98 and won't load in-game – fixed
in TMUF Stunts mode, the new/improved/secured/equalled record messages (both local and Dedimania) specify that the finish value is a Time – fixed into Score
on TMF, players added to the global mute list are still able to send global messages via the /me, /hi, /bye, etc. chat commands – fixed
on TMF, the muting system handles only 18 lines of the full chat window – increased to all 28 lines
on TMF, there is a tiny layout glitch in the /server output – fixed
there is no log message for /admin setgamemode – fixed
--------------------------------------------------------------------------------
New features and other changes in the v0.98 release of XASECO:
new /dedicps command to select which Dedimania record is used as reference for checkpoints tracking, with the following features:
checkpoint references are stored for all players (according to their preferences) only at the start of a track, not when entering the /dedicps command or when the player (re)connects
with no parameter (/dedicps) the player's own record on each track is selected or, if none is set, the last record on the pertaining track
/dedicps {1-30} selects Dedimania record 1-30 on each track or, if unavailable, again the last record
/dedicps off disables the Dedimania references for checkpoints tracking
as usual, once a player gains a better finish time than the chosen Dedimania reference, the checkpoints panel (TMF) or pop-up (TMN) will use those corresponding checkpoints for further updates during the current track
if the checkpoints for the chosen Dedimania record are invalid (empty, or the last checkpoint doesn't match the finish time) then no record is used as reference during that track for the pertaining player(s)
the chosen /dedicps setting is remembered between a player's reconnects as long as /cps remains enabled, until the next XASECO restart
new /admin shuffle (alias /admin shufflemaps) command to shuffle (randomize) the current track list; this requires having set <writetracklist_random> to True in config.xml, and defining an $autosave_matchsettings filename in rasp.settings.php – note that autosaving only happens during a track switch, so if you shuffle immediately after adding a track, the addition will be lost
new /admin addlocal command to add a track to the server's track list from the local 'Challenges/Downloaded/' directory; the track filename cannot contain spaces or non-typable characters, but can be entered case-insensitively and the '.Challenge.gbx' extension is optional – also, the $jukebox_adminadd setting is respected
new /admin specfree command (TMF-only) to set the camera mode of a spectator (login or ID) to Free – requires build '2008-05-07' or later
added support for TMF Laps mode:
the checkpoints tracking system (if activated via /cps) will show the difference to the best lap at each checkpoint and at the lap finish, and update the best lap data after each improved lap
if /dedicps is activated, the lap data for the chosen Dedimania record is used as initial best lap according to the rules above
local records are now maintained and compared on lap basis, meaning that those records will usually be unbeatable once the server is switched back to another game mode than TimeAttack, so keep that in mind when picking tracks for TimeAttack and Laps versus other modes
Dedimania records are also maintained and compared on lap basis like the central Dedimania system does (where they're mixed with TimeAttack mode records only), so they are now properly supported
added support for TMUF Stunts mode:
updated /track, /recs and /dedirecs, /pb and /dedipb, and all record relation commands to show scores
updated the 'before' and 'after' track record messages (both local and Dedimania) to show scores
updated the new/improved/secured/equalled record messages (both local and Dedimania) to show scores
updated all record sorting into descending order
updated /list nogold and /list noauthor to check for player scores worse than the tracks' gold and author scores
adjusted the /list help information
disabled the /list longest/shortest command
disabled all /cps functionality (checkpoints are inactive)
disabled Dedimania records handling until the central Dedimania system supports them
added explanations why the checkpoints panel doesn't appear immediately when /cps is activated (Stunts mode, spectating, and warm-up phase all disable the panel temporarily)
on TMF, multi-page ManiaLink windows now show the current and total page numbers in the header
on TMF, multi-page ManiaLink windows of more than 5 pages now include Prev5 and Next5 buttons to speed up navigation through long lists
updated the Dedimania system to randomly choose between the :8003 and new :8006 and :8007 communication ports (remember to open those ports on your firewall/router as well) in order to distribute the load across more Dedimania servers
new records in the /recs and /dedirecs lists are now highlighted with a black time
on TMF, the /stats output now displays the full location path (sans "World|") instead of just the nation (thanks w1lla)
on TMF, the /server output now includes the server's location path (again without "World|") – requires build '2008-05-07' or later
added the capability to write the log in monthly chunks named "logfile-YYYYMM.txt" in an (automatically created) "logs/" subdirectory, instead of the single big "logfile.txt" – this is activated by setting "$log_monthly_logsdir = true" in function doLog() in includes/basic.inc.php, as it cannot be a configuration option because configs aren't read until later during start-up
various welcome messages and in-game URLs are now hyperlinked to the external browser
updated the /add and /admin add commands to time out when the TMX site is down
minor optimizations of all multi-page window code
an example plugin.ml_howto.php module is included to demonstrate how to create single- and multi-page ManiaLink windows
Bug fixes in the v0.98 release of XASECO:
when <lists_colortracks> is True, recently played tracks are no longer greyed out to visually distinguish them from tracks that can be jukeboxed – fixed
jukeboxing a track via /admin add and /admin replay leaves out the Environment value – fixed
even when a player ID cannot be obtained from the local database, there's still an attempt to insert a finish time for the pertaining player login – fixed
on TMF, the /admin shutdown command produced a PHP warning because /autoquit is now the default – fixed, a QuitGame call is only done if /noautoquit was active
--------------------------------------------------------------------------------
New features and other changes in the v0.97 release of XASECO:
on TMF, the brief /cps pop-up is now a permanent, small transparant panel, mid-center of the screen just above the race time; it is temporarily disabled when a player switches to spectator mode though
on TMF, the checkpoints panel now also shows the difference against the best run at the finish ('CPF')
in TMF Cup mode, the end of the warm-up phase no longer generates an onEndRace event, preventing several chat messages that only belong at the end of the track; also, during warm-up the checkpoints panel is temporarily disabled
on TMF, the /tmxinfo window now displays the track screenshot from TMX
on TMF, /tmxinfo {ID} and /tmxrecs {ID} accept an optional TMX section parameter (TMN, TMU, TMNF, and even TMO, TMS &ndash all case-insensitive) after the TMX track ID to enable displaying track info from another section than the default (as outlined in the v0.96 release notes)
new /admin scorepanel command (TMF-only) to show the current Automatic Scorepanel setting – displaying the scoreboard after each run/round, or only at the end of the track – and to toggle it with an ON" or "OFF" (case-insensitive) parameter
new /admin roundsfinish command (TMF-only) to show the current Rounds Finishpanel setting – displaying the rounds panel for all players when the first player finishes, or not until each player finishes him/herself – and to toggle it with an ON" or "OFF" (case-insensitive) parameter
displaying colored or stripped player nicknames in /top10, /top100, /toprecs, /topsums, /topwins, /recs, /dedirecs and /active is now configurable via new config.xml setting <lists_colornicks> – because of column formatting caveats, it's recommended to keep nicknames stripped on TMN, as they were before
displaying colored or stripped tracknames in all /list commands, /best, /worst, /jukebox display and /admin listdupes is now configurable via new config.xml setting <lists_colortracks> – again, it's recommended to keep tracknames stripped on TMN as they were before
the teamnames in the /topclans output are not color-stripped anymore
Dedimania system timeouts are handled better to prevent record message flooding; also, improved logging and debugging of the low-level Dedimania layers
on TMF, any admin with the new server_coppers ability can see the server's coppers amount in the /server output
new /admin coppers command (TMF-only) to similarly check the server's coppers amount
on TMUF, the output of all /list commands (including /best, /worst) and of /jukebox display and /admin listdupes now includes an Env(ironment) column
on TMUF, the chat and log messages for the next jukebox track now specify that track's environment
added new internal onBillUpdated, onChallengeListModified and onPlayerInfoChanged events for the corresponding new TMF callbacks; also, the onEndRound event is now triggered by the real TMF EndRound callback
the new onPlayerInfoChanged event is now used to keep track of players' spectator status to avoid an extra GetPlayerInfo call whenever that status is needed (thanks Dagobert)
updated the stripColors function to strip out the '$h', '$l' and '$p' links for TMF as well
clarified all error messages related to XML config files not being read or parsed correctly
fine-tuned column widths of many ManiaLink windows
when restarting XASECO, all ManiaLinks on all connected clients are cleared
Bug fixes in the v0.97 release of XASECO:
when Dedimania is slow to respond to a track switch, the updated records message for the finished track may not appear until the next track is loaded, and use that new track's name – fixed
on TMF, very long country names cause layout glitches in the /players output – fixed, country names longer than 14 characters are mapped to their nation abbreviations
on TMF in Rounds/Team/Cup mode, the last 'Rx>' rounds report isn't shown due to a different callback sequence – fixed by using the real EndRound callback above
if a player connects without a team name, the TMNDataFetcher is used to try and obtain it from the TMN master server, even on TMF – fixed
the file_exists_nocase function (used by /add and /admin add) doesn't work correctly on Windows – fixed (hopefully)
adjusted two function declarations and related calls to avoid pass-by-reference warnings on some PHP setups
the /summary chat message was largely lacking the shadow attribute – fixed
--------------------------------------------------------------------------------
New features and other changes in the v0.96b release of XASECO:
on TMF, the global mute list now uses the built-in Ignore features instead of the muting plugin, so the actual muting works much better; the plugin is still needed for the individual player muting features though
accordingly, there are new aliases for the related admins commands: /admin ignore (for /admin mute), /admin unignore (for /admin unmute), /admin ignorelist and /admin listignores (for /admin mutelist and /admin listmutes)
on TMF, the ManiaZones country names are mapped back to three-letter nation abbreviations for storage in the local database and for Dedimania; to repair the Nation field in the local players table, you can use this script
new $autosave_matchsettings option in rasp.settings.php to enable autosaving the matchsettings file (with a configurable name) upon every track switch
on TMF, /add and /admin add accept an optional TMX section parameter (TMN, TMU, TMNF, and even TMO, TMS &ndash all case-insensitive) after the TMX track ID to enable downloading a track from another section than the default (as outlined in the v0.96 release notes)
when a track is jukeboxed that doesn't match the server packmask, it is skipped with warning, and the next track from the tracklist is loaded (the next jukeboxed track will follow after that)
on TMF, added another method in votes.config.php to really disable all CallVotes if chat-based votes are enabled
the pop-up windows in plugin.matchsave.php are now converted to TMF ManiaLink windows too, along with minor touch-ups of the TMN pop-ups
Bug fixes in the v0.96b release of XASECO:
on TMF, the /nextmap command always shows the first track after the current one is removed from the server's track list (via /admin removethis or /admin erasethis) – fixed
a missing or invalid connection to the TM server (due to configuration errors) can cause a flood of PHP warnings in the log – fixed
a track ending with no records set can cause a PHP warning in the Dedimania plugin – fixed
--------------------------------------------------------------------------------
New features and other changes in the v0.96 release of XASECO:
the system has been renamed to XASECO to avoid confusion with other ASECO/RASP systems, and to signify it's a complete and integrated solution for server control
added ManiaLinks windows (via new include manialinks.inc.php) to allow the system to display TMN-style pop-ups on TMF
added a Prev button to all multi-page ManiaLinks windows when viewing the second and subsequent pages
added recognition of server type TMF and game mode Cup, including with the /admin setgamemode command
updated the /server command to handle Cup mode and show the RoundsPerChallenge value (in addition to the points limit) if the server is in Cup mode
new /admin disablerespawn command (TMF-only) to show the current DisableRespawn setting – allowing players to respawn at checkpoints – and to toggle it with an ON" or "OFF" (case-insensitive) parameter
new /admin forceshowall command (TMF-only) to show the current ForceShowAllOpponents setting – forcing players to see all opponents – and to toggle it with an ON" or "OFF" (case-insensitive) parameter
updated the TMXInfoFetcher class to handle the new TMNF section
on a TMNF server (packmask Stadium) the /tmxinfo and /tmxrecs commands as well as the TMX World Record message at the start of a new track will consult the TMNF section of TMX, on a TMUF server the TMU section, and (as before) on a TMN server the TMN section
the /add and /admin add commands will consult the TMNF, TMUF and TMN sections of TMX according to the same rules
new $jukebox_permadd option in rasp.settings.php to allow tracks voted into the jukebox via /add to remain permanently in the server's track list (normally they're removed after they're finished)
added extra check for non-empty TM server build during start-up
several minor tweaks to web_access.inc.php to make it more robust and prevent stream_select() warnings (thanks Slig)
Bug fixes in the v0.96 release of XASECO:
when a player equals his/her local or Dedimania record, it would be logged again with the next higher position (but not stored anywhere) – fixed
new Dedimania record messages would be displayed for LAN logins making records, even though the records aren't actually submitted to the central Dedimania server – fixed
plugin.matchsave.php used the CRLF constant in a TMN pop-up – fixed into LF
--------------------------------------------------------------------------------
Known issues in the v0.96+ release of XASECO:
the /statsall command doesn't work in TMF because there's no way to obtain a player's world stats (yet?)
--------------------------------------------------------------------------------