New features and other changes in the v1.09 release of XASECO:
- new support for a global blacklist on TMN and (especially) TMF, because at start-up the TMF server now properly loads the global blacklist specified in dedicated_cfg.txt entry <blacklist_url> and merges it with the local blacklist:
- new /admin mergegbl command to merge a (possibly updated) global blacklist with the server's blacklist at other times than just start-up
- the default blacklist is configurable via rasp.settings.php setting
$globalbl_url
, and should be the same as <blacklist_url>
- the /admin mergegbl command optionally accepts a http[s] URL to load another global blacklist, and access to the command is defined in adminops.xml as usual
- when a MasterAdmin connects, the default global blacklist can automatically be merged, configurable via rasp.settings.php setting
$globalbl_merge
(default: false)
- after merging, log and chat messages indicate the number of newly blacklisted logins, and the local blacklist is saved just like after a manual /admin black command
- new support for player access control by nation (TMN) or zone (TMF) becomes available when plugin.access.php is enabled (uncommented) in plugins.xml, offering the following features:
- the control mechanism is inspired by Apache's mod_access and is configured via access.xml, containing the following directives:
- the Order section, defining the order in which the other two sections are processed
- the Allow section, containing one or more From fields to specify nations/zones that are allowed access
- the Deny section, containing one or more From fields to specify nations/zones that are denied access
- the From values are case-sensitive, upper- and lowercase characters must match exactly with the players' nations/zones you want to control
- the catch-all value for either the Allow or Deny section is 'all' (lowercase), and in that case this section cannot contain other From fields
- for more information and examples on these directives, see the comments in access.xml and the aforementioned mod_access page
- on TMF, a match on a specified zone will also match its subzones, e.g. a match on "Netherlands" will include all Dutch provinces too
- denied players are kicked with appropriate log and chat messages, and on TMF the kick dialog also contains a suitable message, which can be configured in access.xml
- the new /admin access command offers the following options:
- help: Displays help information
- list: Displays current access control settings
- reload: Reloads updated access control settings
- player access control is disabled upon a configuration error in (re)loading access.xml
- new /cpsspec command (TMF-only) to relay the checkpoints panel of the player you're spectating to your own screen:
- this feature may have some performance impact on busy servers, so it's your choice to enable it via new config.xml setting
<enable_cpsspec>
(default: False)
- the /cpsspec command toggles tracking the checkpoints of a spectated player
- if tracking is enabled and you're spectating another player in Follow or Replay camera mode, the checkpoints panel of that player is also shown on your screen, but only if the spectated player has enabled checkpoints tracking him/herself
- the /cpsspec status is intentionally not saved among a player's personal settings, so it is off upon reconnects
- updates for the music server plugin (TMF-only):
- the song list can now be automatically shuffled at start-up and upon the /music reload command (configurable via new musicserver.xml setting
<auto_shuffle>
)
- new /music autoshuffle command to change the automatic shuffle setting; the /music settings output also includes the AutoShuffle value
- on TMF, released the player slot when changing a player into spectator in /admin forcespec, /afk and action 1 (Set to Spectator) for a detected cheater
- in Laps mode, each lap time is now stored in the 'rs_times' table (if
$feature_stats
in rasp.settings.php is true, of course)
- UTF-8 encoding the welcome message, necessary on some systems to display accented characters correctly, can now be configured via new config.xml setting
<welcome_utf8encode>
(default: True)
- on TMF when rank limiting by the full Jfreu plugin is in effect, the kick dialog echoes the explanatory chat message sent to a connecting player who is kicked due to a bad rank
- on TMF when using the /bootme command, the kick dialog can optionally display a 'goodbye' message if new rasp.xml message
<bootme_dialog>
exists
- in the XASECO start-up sequence the onSync event is now issued before the onPlayerConnect events for all current players so that plugins are initialized in a more logical order
- during XASECO start-up global voting explanations (
$global_explain = 2
in votes.config.xml) are temporarily inhibited to prevent a message flood on busy servers
- updated the stripColors function to strip out incomplete color codes before the end of the string, and add an option so that log output doesn't show '$$' for '$'
- in the local database the 'Name' column in table 'challenges' and the 'NickName' column in table 'players' have been increased to 100 characters – for new XASECO installations the updated columns are defined in the localdb/aseco.sql file as usual, and for existing installs they will be modified automatically the first time this release is run
- minor improvements in the GBXChallengeFetcher, GBXReplayFetcher and ReplayParser classes
- this release requires the latest server build 2009-05-25
Bug fixes in the v1.09 release of XASECO:
- some players with numeric logins still confuse the player ID mechanism – now really fixed
- in Laps mode, improved laps aren't always checked for new Dedimania records – fixed
- the global voting explanation upon a player join doesn't appear in the TMF message window when
$vote_in_window = true
– fixed
- on some OSes a repetitive but harmless warning about "Invalid CRT parameters" in GbxRemote can occur – fixed
New features and other changes in the v1.08 release of XASECO:
- improved checkpoints & finish processing, anti-cheat testing and Dedimania records handling (if plugin.checkpoints.php is enabled in plugins.xml)
- on TMF, local and Dedimania records that, for any reason, don't have the correct number of checkpoints are ignored with a logged warning (if plugin.checkpoints.php is enabled)
- on TMF, used the new TMF BeginChallenge and EndChallenge callbacks (instead of BeginRace and EndRace) to trigger the onNewChallenge and onEndRace events, respectively
- on TMF, the onNewChallenge and onEndRace events are no longer issued when restarting a track; this prevents, for example, losing the next track from the jukebox and the needless repetition of all messages sent at the start and end of a track – instead a new onRestartChallenge event is issued
- added the onPlayerIncoherence, onTunnelDataReceived and onManualFlowControlTransition events for handling the existing TMF PlayerIncoherence, TunnelDataReceived and ManualFlowControlTransition callbacks, respectively
- checkpoints in Dedimania records are now sent as a comma-separated string to the central Dedimania system in order to reduce data traffic
- on TMF, a new
$specPlayFirst
configuration variable (default: false) in mistral.idlekick.php can be used to first set an idle player into spectator mode (free camera) instead of kicking him/her right away
- removed the 1 second delay to set free camera mode in /admin forcespec, /afk and action 1 (Set to Spectator) for a detected cheater
- challenge names with embedded newlines no longer cause malformed messages and such (due to use of a new stripNewlines function)
- a new stripSizes function that strips only the size-related tags ($n, $w and $o) from strings, is available as alternative to stripColors
- added the new ReplayParser class for future use with the Dedimania system
- updated the GbxRemote modules to the latest versions from Nadeo
- minor code tweaks in many parts of the system
- this release requires the latest server build 2009-05-04
Bug fixes in the v1.08 release of XASECO:
- an ampersand character (&) in any .xml file crashes the XML parser – fixed this long-standing issue (thanks Assembler Maniac)
- non-ASCII characters in the <welcome> message in config.xml cause the entire message not to be displayed – fixed (thanks dragu)
- using /style # stores the number instead of the style name in the database as the player's preference – fixed (thanks nouseforname)
- players with numeric logins confuse the player ID mechanism – fixed (thanks n4p1)
New features and other changes in the v1.06 release of XASECO:
- new support for local checkpoints storage:
- a new 'Checkpoints' column has been added to the local database tables 'records' and 'rs_times', and checkpoints data will be stored for all newly driven records and finish times
- for new XASECO installations the new columns are defined in the localdb/aseco.sql and rasp.sql files as usual, and for existing installs they will be added automatically the first time this release is run
- the Repair records script has been updated to handle the extra columns
- functionality of the /cps command is changed analogous to /dedicps:
- checkpoint references are stored for all players (according to their individual preferences) only at the start of a track, not when entering the /cps command or when the player (re)connects
- with no parameter (/cps) the player's own local record on each track is selected or, if none is set, the last record on the pertaining track
- /cps {1-maxrecs} selects local record 1-maxrecs on each track or, if unavailable, again the last record
- /cps off disables checkpoints tracking altogether
- if the checkpoints for the chosen local record are invalid (empty, or the last checkpoint doesn't match the finish time) then no record is used as initial reference during that track for the pertaining player(s)
- checkpoint differences to the chosen reference are now shown from the first run through the track, rather than the second
- if /dedicps is not set to off, local record tracking is superseded by Dedimania record tracking as per that setting
- the default setting for
<auto_enable_dedicps>
in config.xml is now False
- as usual, once a player gains a better finish time than the chosen reference, the checkpoints panel (TMF) or pop-up (TMN) will use those corresponding checkpoints for further updates during the current track
- explanations why the TMF checkpoints panel doesn't appear immediately when /cps is activated (Stunts mode, spectating, and warm-up phase) are no longer shown
- new support for storing donations and personal settings:
- a new 'players_extra' table has been added to the local database to store donation totals (on TMUF servers) and setting preferences for each player
- stored settings are: the /cps and /dedicps values, and on TMF also the /style, /admin panel, /donpanel, /recpanel and /votepanel values
- for new XASECO installations the new table is defined in the localdb/extra.sql file, and for existing installs it will be added automatically the first time this release is run
- when a new player first connects, an entry with the server's default values is created in this table, but changed settings are subsequently stored and reloaded each time the player revisits
- the 'donations' column is updated every time a player donates coppers to the server
- on TMUF servers, the /stats output now includes the player's donation total
- new /topdons command to display the top-100 of players that donated the most coppers
- new support for player stats panels during the scoreboard on TMF:
- on TMF, this feature is configured via new config.xml setting
<sb_stats_panels>
(default: False)
- enabling the player stats panels during the scoreboard automatically disables the rank chat messages shown at the same time
- the panel is displayed in the lower-left corner of the scoreboard screen, and is defined by the panels/StatsNations.xml (for TMNF servers) and StatsUnited.xml (for TMUF) templates
- the panel contains each player's server rank, record average, records total, wins total, session play time, and donation total (on TMUF servers)
- computing the record totals can be a bit time consuming depending on the number of challenges, players and records in the database, so displaying all scoreboard panels may be slightly delayed
- when a player leaves, the chat message (if either Jfreu plugin is enabled) and the log message now include the amount of time played in that session
- during XASECO start-up, player join messages are temporarily inhibited to prevent a message flood on busy servers
- on TMF, the /server and /admin server output now include the server's ladder points limits
- on TMUF, donate panels are temporarily disabled during the scoreboard at the end of a track, as they aren't immediately responsive anyway
- on TMF in Rounds mode, Dedimania records on lap tracks are now ignored if RoundForcedLaps is not set to the default value 0
- on TMF in Cup mode, commands that restart the current track or switch to the next or previous one now preserve the current match scores
- new /n1 command to send a Nice One message; also, the /gr message no longer includes the word 'All' by default
- added the onEcho event for handling the TMF Echo callback
Bug fixes in the v1.06 release of XASECO:
- using /dedicps to track checkpoints of existing Dedimania records results in new/improved/secured records not registering in some situations – fixed
- when a player joins during a Laps mode race and completes a lap, an invalid record is registered – fixed (thanks princemichi)
- in Laps mode the finish times of complete races are stored in the 'rs_times' table – fixed, no times are stored in Laps mode
- if <display> in localdatabase.xml is False, other records related commands and features don't work either – fixed
- when using a local path for the music server, and with some http servers, the .OGG comments aren't read from the song files – fixed (thanks HaveDerf_TMu)
New features and other changes in the v1.05b release of XASECO:
- updated the Dedimania system to randomly choose between the existing :8006, :8007, :8011, :8012 and :8013 and new :8016 through :8021 communication ports (remember to open those ports on your firewall/router as well) in order to distribute the load across more Dedimania servers
- the number of lines in the TMF system message window can now be easily modified with the $winlen variable at the start of plugin.msglog.php
- refined UTF-8 string validation function (thanks Slig)
Bug fixes in the v1.05b release of XASECO:
- Dedimania records aren't reliably registered due to the new anti-cheat tests – fixed
- Dedimania records on tracks that don't have the full <max_recs> entries aren't registered unless they're better than the existing last record – fixed (thanks lille79)
- in case of Dedimania connection problems persisting across track changes, records data from the previous track is still used on the next one – fixed (thanks schmidi)
- restarting a track causes no further Dedimania records to be registered on that track – fixed
- restarting XASECO triggers the anti-cheat tests for the ongoing race – fixed, the tests now get enabled after the end of the current track
- with the music server configured for local files, /music current and /music settings don't show the song's info – fixed
- on Windows, the /music stripdirs option doesn't work correctly on local files – fixed
New features and other changes in the v1.05 release of XASECO:
- new checkpoint sanity checks to prevent cheated records (if plugin.checkpoints.php is enabled in plugins.xml):
- all checkpoint times must be larger than zero
- each checkpoint time within a player's run must be larger than the preceding one
- all checkpoint indexes must be zero or larger
- each checkpoint index within a player's run must be 1 larger than the preceding one
- the last checkpoint time must be equal to the finish time
- when any of these requirements isn't met, one of the following actions is taken on the pertaining player, configurable via new config.xml setting
<cheater_action>
(default: 0):
0: Ignore; 1: Set to Spectator (only on TMF, falls back to 0 on TMN); 2: Kick; 3: Ban (implies Kick); 4: BlackList & Kick; 5: Blacklist & Ban
- new/updated local and Dedimania records that fail one or more of the aforementioned checks are not stored (even if the above action is 0)
- new Dedimania sanity checks:
- keeping any of the three <masterserver_account> fields in dedimania.xml at a default or empty value results in a fatal error
- records are no longer processed if they are less than 6 seconds
- records are no longer processed for tracks with an author time of less than 8 seconds
- updates for the music server plugin (TMF-only):
- song files can now be stored locally on the TM server in a path under its GameData/ directory, e.g. Music/, without the need for a remote http server
- if <auto_nextsong> is disabled a jukeboxed song will no longer be repeated on all subsequent tracks until another song is jukeboxed
- a new config.xml setting
<display_checkpoints>
(default: True) can be set to False to permanently disable checkpoint pop-ups (TMN) or panels (TMF) for all players while still tracking the checkpoints data internally – this allows you to keep plugin.checkpoints.php enabled for anti-cheat checks and the Dedimania system when high player counts cause performance/crash problems
- a global congratulations message can be displayed instead of the regular personal one at a player's win of a track, if that win count reaches a multiple configured via new config.xml setting
<global_win_multiple>
(default: 50)
- if plugin.rpoints.php is enabled on TMF, it's now possible to initialize the TM server with a default Rounds points system at start-up via new config.xml setting
<default_rpoints>
– the value can be a custom system with specified values (X,Y,...,Z) or a common system by name (f1gp, motogp, etc), just like the parameters to the /admin rpoints command; if empty, the standard points system is initialized
- on TMF, automatically setting a player that uses the /afk command into free spectator mode can now be configured via new config.xml setting
<afk_force_spec>
(default: True)
- automatically adding the current IP address for newly added admins and operators can now be configured via new config.xml setting
<auto_admin_addip>
(default: True)
- new /admin autotime command to enable or disable the Auto TimeLimit feature dynamically (assuming plugin.autotime.php is enabled in plugins.xml)
- when restarting a track via a /ladder vote (with votes.config.php setting
$ladder_fast_restart = true
) or /admin restartmap, the Auto TimeLimit is no longer set to next track's value
- successful /donate and /admin pay copper transfers are now logged
- when adminops.xml is written out without any admin or operator entries, bannedips.xml without IPs, jfreu.bans.xml without temporary bans, or jfreu.vips.xml without VIP logins or teams, then a comment block to show the entry syntax is included instead
- if the GD/JPEG libraries are installed in PHP, the GBXChallengeFetcher class now flips the upside-down thumbnail image in a challenge into its upright format
- a message is logged when plugins.xml is being loaded at start-up
- this release requires the latest server build 2008-12-05
Bug fixes in the v1.05 release of XASECO:
- /players <string> displays an erroneous window if the search string matches no players – fixed, a warning message is shown
- on TMF if plugin.panels.php is not enabled, TMX /add and chat-based votes result in crashes – fixed
- on TMN, running /admin helpall as an Admin (not MasterAdmin or Operator) locks up the client after the second page – fixed (thanks B.A.S.S.)
- a time-out on the version server at the up-to-date check gives an incorrect message – fixed
- some PHP constructs still cause silent notices during strict run-time checks – fixed more of them
- debug logging in the Dedimania system doesn't consistently use CRLF on Windows – fixed
New features and other changes in the v1.04 release of XASECO:
- new support for custom Rounds points on TMF with the following features:
- custom points in Rounds mode become available when plugin.rpoints.php is enabled (uncommented) in plugins.xml
- new /admin rpoints command to list and set common points systems, as well as custom distributions, with the following options:
- help: Displays help information
- list: Displays available points systems
- show: Shows current points system
- <xxx>: Sets points system labelled <xxx>
- X,Y,...,Z: Sets custom points system with specified values; X,Y,...,Z must be decreasing integers and there must be at least two values with no spaces
- off: Disables custom points system
- the following common points systems are included:
- f1gp: Formula 1 GP – 10,8,6,5,4,3,2,1,...
- motogp: MotoGP – 25,20,16,13,11,10,9,8,7,6,5,4,3,2,1,...
- motogp5: MotoGP + 5 points – 30,25,21,18,16,15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,...
- fet1: Formula ET Season 1 – 12,10,9,8,7,6,5,4,4,3,3,3,2,2,2,1,...
- fet2: Formula ET Season 2 – 15,12,11,10,9,8,7,6,6,5,5,4,4,3,3,3,2,2,2,1,...
- fet3: Formula ET Season 3 – 15,12,11,10,9,8,7,6,6,5,5,4,4,3,3,3,2,2,2,2,1,...
- champcar: Champ Car World Series – 31,27,25,23,21,19,17,15,13,11,10,9,8,7,6,5,4,3,2,1,...
- simple5: Simple 5 – 5,4,3,2,1,...
- simple10: Simple 10 – 10,9,8,7,6,5,4,3,2,1,...
- note that any players finishing beyond the last points entry get the same number of points (typically 1) as that last entry
- new /rpoints command to show the current points system
- additional points systems can be added to
$rounds_points
at the start of the plugin
- an updated and optimized Auto TimeLimit plugin (plugin.autotime.php) by cyrus is now part of the standard distribution:
- this plugin works only in TimeAttack mode, and defines the timelimit for each track dynamically based on the track's author time
- the new autotime.xml file contains the plugin's settings to determine the new timelimit (multiplication factor, minimum, maximum and default); this file is loaded only once at start-up, rather than at every track switch
- as before, a multiplicator of zero will disable the plugin
- the new display setting controls whether to show a timelimit message in the TMF system message window, the chat window, or not at all; a similar message is always logged
- the type of timelimit (new, min, max, default) is included in these messages
- the timelimit is rounded down to seconds in the chat and log messages
- when there are no active players, the default timelimit is applied because of the way the TM server instantly switches tracks with no opportunity to set a custom limit
- updates for the music server plugin (TMF-only):
- the song filename extensions can now be excluded in any command that shows songs (configurable via new musicserver.xml setting
<strip_exts>
)
- new /music stripexts command to change the strip extensions setting; the /music settings output also includes the StripExts value
- new /music sort command to sort the song list alphabetically by song paths
- the cache file for .OGG comments can be defined as read-only (configurable via new musicserver.xml setting
<cache_readonly>
)
- in the <ipaddress> fields in config.xml and adminops.xml, it is now possible: to specify class B (e.g. 12.34.*.*) and class C (e.g. 12.34.56.*) wildcards to allow for partial IP checks on admins with dynamics IPs; and to specify multiple comma-separated IPs and/or wildcards (e.g. 12.34.56.78,98.76.54.*)
- note to plugin authors: while the isMasterAdmin, isAdmin, isOperator and isAnyAdmin functions require a player object and check the IP address, new isMasterAdminL, isAdminL, isOperatorL and isAnyAdminL functions are now available that accept a login string (like before v1.03) and don't check the IP address
- significantly optimized calculation of all players' server ranks after each track
- if the Nation field in the player join/leave messages is 15 or more characters, it's abbreviated to the 3-letter country code
- changed the ManiaLink processing to (hopefully) reduce the risk of crashing at high player counts
- a new
<logina>
color is defined in config.xml and used for the admin titles in player join and other relevant messages, as well as admin logins in the /players, /admin players and /jfreu players output
- setting empty player, spectator and referee passwords produces the appropriate log and chat messages about disabling them
- the /admin setrefmode command without parameter now shows the current Referee mode
- the /admin forceshowall command has been renamed to /admin forceshowopp and its 'on' option to 'all'; further, the command now accepts a number (>= 2) to force showing that minimum number of opponents
- the /admin shutdown command will now shut down only XASECO (in order to permit restarts via the external start-up script), while the new /admin shutdownall command terminates both XASECO and the TM server
- the output of /admin players is limited to at most 5000 entries, and the memory limit for the XASECO PHP process is increased to 50 MB, in order to further reduce the chances of memory overruns
- if the Xdebug extension for PHP is installed, a fatal error will automatically log a stack trace
- the /music, /admin and /jfreu commands are now able to handle multiple spaces between their parameters
Bug fixes in the v1.04 release of XASECO:
- players that instantly reconnect can have their win counts cleared – fixed
- /admin removeadmin and /admin removeop don't work when the <ipaddress> field for the pertaining login is set – fixed
- the /jfreu infomessages command is still boolean – updated the command to recognize the 2/1/0 values of the underlying
$infomessages
variable
- the Auto TimeLimit plugin doesn't work correctly when all connected players are spectating – fixed
- the Auto TimeLimit plugin doesn't work properly on servers with more than 500 tracks – fixed
- when a player doesn't have a Dedimania record but his/her local personal best is better than the last Dedimania record, /dedinext computes the wrong difference – fixed
- /admin setrefmode {0/1} doesn't work correctly – fixed
- /admin forceteam, /admin forcespec and /admin specfree are allowed on offline logins – fixed
- /admin forcespec doesn't always set the spectator into free camera – fixed
- in the music server plugin, messages referring to songs without .OGG comments are not formatted correctly – fixed
- on TMF, a newly connected player's ladder rank in the internal players list can be temporarily erased until he/she becomes official – fixed
- numerous PHP constructs cause silent notices during strict run-time checks – fixed most of them
Copyright © 2007-2024 – Frans P. de Vries
<tm@gamers.org>
Last updated 07-Jun-2009