New features and other changes in the v0.89 release of ASECO/RASP:
- info on actual karma votes: the karma messages can optionally show each player's actual votes, or lack thereof (configured via
$karma_show_votes
in rasp.settings.php)
- requiring finishes before karma voting: a player can optionally be required to finish a track a minimum number of times before being allowed to karma vote for it (configured via
$karma_require_finish
in rasp.settings.php); this is the total number of finishes since the first day a player tried a track, not the number in the current session
- the /karma command now accepts an optional track ID (from your last /list output) to display the karma of that track instead of the current one
- when changing your already existing karma vote, instead of "Vote Successful" the message now is "Vote Changed"
- new /pmlog command to display the most recent 30 (default) lines of your own private messages (both sent and received) in a pop-up window
- /list <xxx> now allows searching for track names/authors with multiple words (previously one word was required, otherwise the entire list was displayed)
- the /admin help command now shows the command list in the chat window, while the new /admin helpall command displays the list with descriptions in a pop-up as before; similarly for /jfreu help and the new /jfreu helpall command – this makes them consistent with the user /help and /helpall commands
- the jfreu.player.php plugin has been renamed to jfreu.lite.php, containing the info messages system and (as before) the player join/leave messages, but nothing else of the full Jfreu plugin functionality
- in the /players output, strip wide font ($w) from nicknames so that the window width isn't stretched out too far by players with long wide nicks and long logins
- wide fonts are also stripped from the sender and receiver nicknames in /pm, /pma and /admin pm
- when showing records before (
<show_recs_before>
is True
), after (<show_recs_after>
is True
) or during (/liverecs) a track and there are no new records, the record range is included instead
- the last page in a multi-page pop-up now uses an 'OK' button (instead of 'Close'), for consistency with all single-page pop-ups
- if an admin (with the chat_jb_recent ability) jukeboxes a recently played track, a warning about the repeat track is shown but it's still jukeboxed again
- the /replay message was changed from "Replay Track upon Completion" into "Replay Track after Finish", which is hopefully easier to understand for non-English speaking players
- all chat-based and TMX /add votes are now cancelled by the server during the Tab scoreboard before the next track is fetched from the jukebox, to prevent interference from a /replay vote passing at the last possible moment
- the default percentage of a track after which a /skip vote is no longer allowed, was reduced from 70% to 50%
- the /admin writetracklist command now accepts an optional filename parameter to write the current match settings to another file than the default
- new /admin readtracklist command for reading the default match settings file, or an alternate one specified with an optional filename parameter, to complement /admin writetracklist; it shows the number of tracks loaded from the file
- the default filename used for the above match settings file is shortened from "rasp-tracklist.txt" to "tracklist.xml", and it's written to and read from the more appropriate "GameData/Tracks/MatchSettings/" directory (previously in "GameData/Tracks/")
- the extension of the blacklist, guestlist and tracklist files (as read and written by the pertaining /admin commands) is updated from ".txt" to the more relevant ".xml"
- the /match load command in plugin.matchsave.php was disabled as it's now redundant with /admin readtracklist
- the /admin acdl command now takes "ON" or "OFF" (case-insensitive) as parameter instead of "Yes"/"No", for consistency with all other boolean (/jfreu) admin commands
- a new
<admin>
color is defined in config.xml and used in all relevant /admin messages so that they can easily be customized
- if you still use the old chat.vote.php plugin, that will now show the current score when a track is loaded
- the
<account>
field in the <tmserver>
section of config.xml became redundant, and was removed
- an /ad shortcut for /admin and a /jb shortcut for /jukebox become available by uncommenting the appropriate two lines at the start of chat.admin.php and plugin.rasp_jukebox.php, respectively
- aseco.php now determines whether it's running on Win* or *nix operating systems, so it's no longer necessary to define the CRLF constant manually
- lots of code optimization and clean-up, like more efficient handling of TM server calls (thanks Assembler Maniac), better error handling throughout the entire system, and other tid bits
Bug fixes in the v0.89 release of ASECO/RASP:
- /kick votes are denied when there's no vote in progress, and allowed to start when another vote already is (oops) – fixed
- /admin ban produces an RPC error in the log from the Kick call because the Ban call already kicks the player – fixed by removing the Kick call
- if a track is deleted before pruning its records (/admin prunerecs), those are still counted in players' /summary results (though not /topsums) – fixed
- /pm and /pma send a message even if it's empty – fixed, empty messages are ignored
- in /add and /admin add, after renaming the numeric filename to a (sanitized) track filename, multiple spaces and underscores are not properly reduced to single ones – fixed
- in the original v0.88 zip file (which was fixed one day after release), /jfreu didn't work for any admin tier – fixed
New features and other changes in the v0.88 release of ASECO/RASP:
- new, flexible and fully integrated tiered administration support with the following features:
- there are three tiers of administrators: MasterAdmins, Admins and Operators
- all three tiers of administrators can see who is in each tier with the new /admin listmasters, /admin listadmins and /admin listops commands
- if a player is in more than one tier, the highest one takes precedence
- MasterAdmins have no restrictions to their abilities, while the abilities of Admins and Operators can be defined per individual command
- the list of MasterAdmins is fixed in the
<masteradmins>
section in config.xml; the lists of Admins and Operators, and their respective abilities, are stored in the new adminops.xml file (configurable via new config.xml setting <adminsops_file>
) and automatically restored after an ASECO/RASP restart
- MasterAdmins can add and remove Admins dynamically, using the new /admin addadmin and /admin removeadmin commands
- both MasterAdmins and Admins can add and remove Operators dynamically, using the new /admin addop and /admin removeop commands
- MasterAdmins can dynamically enable and disable all abilities for Admins and Operators – even their ability to change their own abilities, if you so desire – using the new /admin adminability and /admin opability commands
- the ability lists also define (non-/admin) chat commands where Admins and Operators have additional capabilities that users don't
- the /admin help command dynamically lists only the available commands for each tier depending on their allowed abilities
- the new /admin listabilities command displays which non-/admin abilities (if any) are available to Admins and Operators, with a description; for MasterAdmins, /admin listabilities {admin/op} displays the abilities of the pertaining administrator tier
- there are no separate commands (e.g. /op), all tiers use the same /admin commands (so there's no code duplication)
- all /admin chat and log messages show whether a MasterAdmin, Admin or Operator performed the pertaining action
- the player join message from jfreu.plugin.php (or jfreu.player.php) shows the appropriate administrator title
- the titles with which MasterAdmins, Admins and Operators are shown in chat and join messages, are configurable via the
<titles>
section in adminops.xml
- if e.g. Operators do not have the ability to use /pma and /admin pm, they will also not receive such private messages when sent by (Master)Admins
- any server owner's LAN logins (with IP and port) should be in the
<masteradmins>
section of config.xml and will be skipped by the /admin listmasters command
- all Jfreu admin commands can be used by MasterAdmins and Admins, but not Operators; also, the /jfreu addadmin command was disabled, and the corresponding
<admin_list>
section from plugins/jfreu/jfreu.vips.xml (previously jfreu.lists.xml) was removed
- servers that don't need Admins and Operators can simply leave those login lists in adminops.xml empty, and not have the tiered system interfere (phew J)
- see this table for the default list of abilities
- new karma details: details about the vote counts and percentages can optionally be shown with karma messages (configured via
$karma_show_details
in rasp.settings.php)
- new /admin listdupes command to display a list of duplicate tracks on the server (ready for /admin remove/erase)
- new /admin prunerecs command to delete the records/rs_times database entries for a specific track (by track ID from /list, so you must prune recs for a track before removing/erasing it, otherwise you can't /list it anymore)
- the number of rounds (in Rounds/Team modes) or seconds (in TimeAttack/Laps/Stunts modes) by which a vote expires can now be configured per individual type of TMX /add and chat-based vote (
$r_expire_limit
and $ta_expire_limit
in plugin.rasp_votes.php)
- the output from /list and /list <xxx> now includes the corresponding ranked records, just like /list norecent
- the /best and /worst commands are now also available via /list best and /list worst
- the /server output now shows the total playing time of all players combined
- the /best, /worst, /summary, /stats, /admin ban and /admin black commands can now also be used on offline logins (only by admins as defined by their abilities)
- moved all jukebox and /add related message strings into rasp.xml for easy customization and localization
- the all-caps UNRANKED text for unranked records in the /pb message is now in narrow font to make it less intrusive
- in Jfreu's player join messages and the /stats output, the ladder ranks are now formatted with spaces between the thousands (like in the Tab scoreboard)
- if Jfreu's info messages are disabled, the "Messages: OFF" reminder isn't shown anymore
- the Jfreu plugin "Loaded" message is no longer shown to a connecting player (only on ASECO/RASP start-up)
- the name of Jfreu's vip/team_vip file is now configurable via
$vips_file
in jfreu.config.php (default: plugins/jfreu/jfreu.vips.xml)
- some code clean-up, like more efficient formatColors and resetRanks functions, a non-looping /nextmap (thanks Assembler Maniac), and other tid bits
- all documentation files included in the .zip are now grouped together in their own DOCS subdirectory
Bug fixes in the v0.88 release of ASECO/RASP:
- if the jukebox is empty and the current track is deleted (/admin removethis/erasethis), /nextmap hangs up the ASECO/RASP system – fixed by the non-looping rewrite above
- the karma reminders at every finish (
$remind_karma = 2
) could occasionally produce an RPC error in the log – fixed
- there is a typo in plugin.rasp_irc.php causing the IRC connection to fail – fixed
- a couple of /jfreu commands are not shown in the /jfreu help overview – fixed
- /admin removethis/erasethis does not properly log the name of the deleted track – fixed
- the second line of the default Welcome message text was shown without the shadow attribute – fixed
New features and other changes in the v0.86 release of ASECO/RASP:
- new /list options to complement /list nogold:
/list noauthor displays all tracks the player finished but didn't beat the Author time on
/list norecent displays all tracks the player finished but didn't race recently (includes ranked records)
- the output from /list nogold and /list noauthor now shows how much your time is over the track's Gold and Author time, respectively
- new karma vote reminders: if a player (but not a spectator) hasn't karma voted for a track, an optional reminder can be sent upon every finish or at the end of the track (configured via
$remind_karma
in rasp.settings.php)
- new /admin pass command to force any TMX /add and chat-based vote to pass
- the /topclans output now shows how many clan members were counted to compute the clan's average server rank
- the chat-based voting plugin has two new options (
$allow_spec_startvote
and $allow_spec_voting
) to allow or disallow spectators to start votes and/or to vote /y themselves; this also applies to TMX /add votes, but admins are always allowed to vote /y
- the track history is now written to a file that is automatically restored upon ASECO/RASP start-up; this prevents players from jukeboxing a recently played track after a restart (a frequent event on my server when developing J)
- moved more message strings into config.xml and rasp.xml for easy customization and localization
- some code clean-up, like removing duplicate getPlayerId functions, adding an isSpectator function, and other tid bits
Bug fixes in the v0.86 release of ASECO/RASP:
- when adding from TMX via /add or /admin add, a track with special characters (besides '?' and '*') in its filename could cause it to not load and get stuck in the jukebox – fixed by changing most special characters into '_' (underscore)
- the special 'trackref' parameter to /add doesn't work – fixed parameter processing and made it an admin-only option; also fixed non-existent 'tracktype' field in the trackref.txt file into 'environment'
- a replayed track is entered multiple times into the track history – fixed
- if a track failed to load from the jukebox, the next track from the server's track list that would get loaded in its place isn't entered into the track history – fixed
- if an admin forces a replay (/admin replay) during a /replay vote, that vote isn't cancelled, potentially allowing a double replay – fixed
- the XML parser changes '+' characters in message strings into spaces – fixed
New features and other changes in the v0.85 release of ASECO/RASP:
- new /topsums command (short for: top summaries) to display the top-100 of players with the most top-3 ranked records (i.e. of /summary results)
- updated /best and /worst commands to include an track ID column so that tracks can be jukeboxed directly (without going through /list)
- new /admin removethis and /admin erasethis commands to quickly remove the current track from rotation and, if erasethis, also delete the track file
- new up-to-date check at start-up (optional) and /admin uptodate command to check for the current version of ASECO/RASP; consequently, Jfreu's /uptodate command was disabled
- new
<limit>
configuration setting in localdatabase.xml to restrict the highest records that are still displayed
- computation of the required number of votes for TMX /add and chat-based votes adjusted for low player counts
- the informational /helpvote messages sent to all players or just a new player can now be turned off completely
- an extra check for a "stuck" track in the jukebox is done when loading the next one, and if it fails to load twice it's dropped
- if
<show_recs_before>
in config.xml is true
, the original Current Record message is redundant with the top-8 records list, and no longer shown
- if
<show_recs_before>
in config.xml is true
and the player has a ranked record, then the Personal Best message can optionally be skipped via $always_show_pb = false
in rasp.settings.php
Bug fixes in the v0.85 release of ASECO/RASP:
- in determining the required number of votes, spectators are still included for TMX /add votes – fixed
- when adding from TMX via /add or /admin add, a track with a '?' or '*' in its filename causes it to not load and get stuck in the jukebox – fixed by changing all occurrences of '?' and '*' into '_'
- in very rare conditions (running on WinXP with a buggy PHP time functions library in a country using 8-bit characters) the /server and /stats commands could fail silently because the 'strftime' system call returns a bogus timezone – fixed by changing to 'date' system calls
- using '$g$m' to clear text attributes after track names and player nicknames in various messages could result in inconsistencies with italics – fixed by replacing '$g$m' with '$z$s' (or occasionally '$z$s$i')
New features and other changes in the v0.84 release of ASECO/RASP:
- new and sophisticated chat-based voting; by including plugin.rasp_votes.php and setting
$feature_votes
in rasp.settings.php to true
, normal CallVotes are disabled and the following features become available:
- new /helpvote command to display usage info and the actual voting ratios for the new voting commands
- new /endround vote to end a round (only enabled in Rounds/Team modes)
- new /ladder vote to restart the current track immediately when the ladder is down
- new /replay vote to replay the current track after it's done (prepends it to jukebox)
- new /skip vote to skip the current track immediately
- new /kick vote to kick a player
- new /cancel command for a player to cancel his/her own vote (also works with TMX /add votes; admins can /cancel any vote)
- extensive configuration options in the new votes.config.php file:
- separate voting ratios per type of vote, so e.g. a kick vote is harder to pass than an endround vote
- option to enable /kick vote (default: on) and enable kicking of admins (default: off); if disabled, /kick also isn't listed in the /helpvote output
- option to perform /ladder restart via quick ChallengeRestart or by prepending track to jukebox and doing NextChallenge
- option to automatically vote for the vote starter, otherwise the old way remains where the starter also has to vote /y
- vote expiration options:
in Rounds/Team modes all votes (except /endround) expire within 3 rounds (default);
in TimeAttack/Laps/Stunts modes all votes expire after approximately 120 seconds / 2 minutes (default);
expiration is necessary, otherwise unpassed votes will linger on until the end of the track, preventing players from starting another vote
- vote reminder options:
in Rounds/Team modes a reminder can be shown after every round until the vote passes or expires;
in TimeAttack/Laps/Stunts modes a reminder can be shown approximately every 30 seconds (default) until the vote passes or expires;
reminders help players not forget about ongoing votes after the last vote message has scrolled out of the chat window
- optional limits to the number of /ladder, /replay & /skip votes per track (default max: 2); if a limit is 0, that particular vote is disabled
- optional limits to when /ladder, /replay & /skip votes are allowed in Rounds and TimeAttack mode:
in Rounds the limit is based on the number of points that the first player already has, compared to the server's points limit;
in TimeAttack the limit is based on the time the track is already running, compared to the server's time limit;
/ladder is disabled after 40%, /replay is disabled before 50%, and /skip is disabled after 50% of those limits (all percentages configurable)
- the rationale behind these optional limits is that it's: annoying to go through the same type of vote more than twice; annoying to go through a ladder restart vote when the track is already a few minutes under way; too early to decide whether to play a track again if when it's not even halfway done; and annoying to go through a skip vote when a track is close to completion
- there's no limit to the number of endround and kick votes per track, because you may need more than a few of them J
- there are no /ladder, /replay & /skip limits in Team, Laps & Stunts modes
- there's no /ban vote command because IMHO only admins should be able to ban
- in determining the required number of votes, spectators are not included; this now also applies to TMX /add votes
- if chat-based voting is enabled, the /server output will show a pointer to /helpvote instead of the CallVote timeout and ratio
- in Rounds/Team modes a running /endround vote is automatically terminated by the EndRound event, i.e. when all players 'Enter' as yet or by an /admin endround/er command
- the vote expiration and reminder options, and the automatic vote for starter option, also work with TMX /add votes
- all votes terminate automatically at the start of a new track
- when a new player connects, an explanatory message that chat-based voting is in effect is shown to that player, or optionally to all players; you can use the latter during an introduction period until most players are familiar with the new voting system
- integrates properly with TMX /add votes whether or not those are enabled, and whether or not chat-based votes are enabled
- voting messages use a new pink color (
<vote>
in config.xml) that's sufficiently distinct from the colors of all other message types (but /add related messages retain their normal orange color)
- for further understanding of the features and configuration options, study the detailed comments in function init_votes() in plugins.rasp_votes.php
- new /admin pmlog command to display the most recent 30 (default) lines of admin pm's in a pop-up window
- updated /admin cancel to cancel TMX & chat votes too
- added more aliases to /admin nextmap command, for consistency with the /skip vote: /admin skipmap and /admin skip
- long lines in the /chatlog pop-up window are now split up with a continuation symbol (...) at the start of the second and following parts
- if
<log_all_chat>
is true
, non-existent chat commands – lines starting with '/' that cannot be executed – are also logged (but they're not shown in /chatlog)
- (almost) all function calls were updated to remove the deprecated pass-by-reference '&' from parameters
- tweaked various jukebox related messages
Bug fixes in the v0.84 release of ASECO/RASP:
- in the /chatlog output, strip wide font ($w) from nicknames so that the window width isn't stretched out too far by players with long wide nicks and lengthy chat lines
- with a large number of long chat lines in the /chatlog output, it could hang up the TMN client – fixed
- all player tests w.r.t. jukebox/add actions are done against nickname, potentially causing conflicts between players with identical nicknames – fixed by changing those tests to logins
- if a player voted /y in one TMX /add vote, he/she wasn't be able to vote for another /add vote during the same track – fixed
- if a player tries to /add an existing track, the preceding track in the server's track list is jukeboxed instead of that requested one – fixed
- if a player tries to /add the same track that was just /add-ed (but not yet loaded), another vote is started – fixed
- /add doesn't properly insert the track into the jukebox such that it can be dropped again – fixed
- if /add finds the requested track is already present on the server, the temporary track file wouldn't be deleted – fixed
- using '$z' to clear text attributes after track names and player nicknames in various messages would also turn off the default 'shadowed' style for the remainder of those messages – fixed by replacing '$z' with '$g$m'
New features and other changes in the v0.82 release of ASECO/RASP:
- new /nextrank command to show the next better ranked player
- new /admin unban and /admin unblack commands to remove players from the ban and black lists; you can use the player IDs from the /admin showbanlist and /admin showblacklist output, respectively, as well as any valid logins
- new /admin addguest and /admin removeguest commands to add players to and remove from the guest list (even offline ones); with addguest you can use player IDs from the /players output, with removeguest from /admin showguestlist, as well as any valid logins
- new /admin cleanbanlist, /admin cleanblacklist and /admin cleanguestlist commands to completely clean the ban, black and guest lists
- added aliases for admin commands: /admin showbanlist or /admin listbans, /admin showblacklist or /admin listblacks, and /admin showguestlist or /admin listguests
- the IP address of a connecting player is now logged along with the rest of the 'join' message
- the updated Matchsave plugin (plugin.matchsave.php, matchsave.xml) by F*ckfish is now part of the standard distribution, although by default not included in plugins.xml
- all function declarations were updated to remove the deprecated pass-by-reference '&' from parameters
Bug fixes in the v0.82 release of ASECO/RASP:
- if
$prune_records_times
is enabled and there is a syntax error in rasp.xml, there is a possibility for the records/times of all tracks to be deleted – fixed, a syntax error will no longer invoke pruning
- fields 2 & 3 in
<record_first>
in config.xml are out of order – fixed, although it isn't visible anyway as the same (and correct) message from localdatabase.xml supersedes it
- the /admin showbanlist/showblacklist/showguestlist commands are not properly storing the player IDs & logins for later use – fixed
- the "Player dropped...track... from jukebox" message is shown in yellow instead of orange, like all other jukebox messages – fixed
New features and other changes in the v0.81 release of ASECO/RASP:
- new /chatlog command to display the most recent 30 (default) lines of player chat in a pop-up window
- showing a FAST-like record report after each track is now optional too, via new config.xml setting
<show_recs_after>
; if False
, the old top-5 from v0.7 is shown
- new /admin showguestlist command to display the list of guest player(s)
- new /admin writeguestlist and /admin readguestlist commands to write/read the player guestlist to/from disk
- the player join/leave messages are now available from a separate jfreu.player.php plugin, in case you don't want/need the rest of the Jfreu functionality (rank limiting, unspec voting, badword filtering, admin commands, etc.)
- the Jfreu unspec-fix plugin (jfreu.unspec.php) by F*ckfish is now part of the standard distribution, although by default not included in plugins.xml
Bug fixes in the v0.81 release of ASECO/RASP:
- when a player connected, the before record report is shown to all players, instead of just the new one – fixed
Known problems in the v0.8+ releases of ASECO/RASP:
- Sometimes when a player connects, the TeamName is not stored in the 'players' table, and thus it doesn't show up in the /clans command. No solution known, it looks like the value is simply not returned by the GetPlayerInfo server call.
- If all (non-spectator) players press DEL during the scoreboard at the end of a track, the track switching process is disturbed and the next track in the jukebox will not be loaded. No solution known, this appears to be a TMN server quirk.
- A message string in an *.xml file that contains a '&' (ampersand) character will crash the XML parser, and thus the entire ASECO/RASP system.
Copyright © 2007-2023 – Frans P. de Vries
<tm@gamers.org>
Last updated 17-Nov-2007