Its been a while since the last RAT update, hopefully you find the wait worth it! There have been many changes, fixes and all around good stuff happening. =)
I'd like to make a special callout to two people that have helped keep this release going and have been helping out the community by supporting RAT in our Discord channel and various other places.
badplayer - He's helped keep me motivated, started the new RAT documentation (In the RAT Help menu), offered his custom events for new installs and helps out the community with support!
Ciro - He's also helped keep me motivated and on track, pushing for Trello integration to help keep my tasks in order and keep me sane! He's also known in the Discord support channel for his unending patience and tenacity for helping RAT admins get their servers up and running!
This version of RAT wouldn't be here without the help of these two, so if you have the opportunity to speak with either of them, please give them a big THANK YOU!
And now... The change log!
- Added: Client/Server Mode for RAT (Toggle from the File menu). Client/Server mode allows "client" admins to connect and admin the server with RAT, but not listen to events that could cause duplicate events to fire such as !gb or !t, etc.
Basically, there should ever only be one instance of RAT in server mode connected to a server at a time, all other admins should connect in "Client" mode.
- Added: Support for the serverconfig values: ServerMaxAllowedViewDistance, ServerMaxWorldTransferSpeedKiBs, BloodMoonWarning, BedrollExpiryTime (Reported by: Ciro)
- Added: Description field for events, use it however you want, its a freeform field.
- Changed: Updated the RAT Event help text for event Conditionals
- Fixed: Refresh/Import command on Console commands in the RAT Event Editor would throw an exception
- Fixed: Player Killed Zombie event correctly parses the server message again.
- Added: {zombie_killed_id} and {zombie_killed_name} variables
- Added: Client/Server mode status to RAT Debug Info
- Fixed: Updating the 7d2d server through RAT failed
- Fixed: When a player attmepted to teleport, without specifying a destination, RAT would throw an exception
- Added: Events and Grabbag links to the main menu for more visibility. (Requested by: badplayer)
- Changed: RAM Exceeds check used to require 0 players online and would issue a shutdown command, will now only fire the RAT event, allowing you to do what you want instead. - (Reported by: Jeppe)
- Fixed: Admin list is reread after adding/removing an admin so that the admin list is kept up to date - (Reported by: badplayer)
- Fixed: PLAYER CONNECTED event, would not parse player names with a space in them correctly (Reported by: badplayer)
- Fixed: RAT Commands such as .CANCELSHUTDOWN that do not have parameters were not working (Reported by: Jeppe)
- Fixed: Game World Name should now save correctly
- Added: Save Game Worlds is now a dropdown (editable) and populated by the game worlds you have in your save games folder (Requested by: Fuzzy Sadist, Ciro)
- Changed: .DSAY now takes a Discord channel name for output. Example: .DSAY:MyChannelName:This text is set to MyChannelName
This should allow you to display different information in different channels as you desire.
- Added: Rat command .DPLAYERSEMBED to display the currently online players in discord. (Requested by: Sadist)
Example Script: .DPLAYERSEMBED:rat_support:COUNTRY,NAME,STEAMID,ZKILLS,DEATHS:green
Fields you can output are displayed in the help within the event editor (there are about 20)
you can set the color of the embed bar using any of the names from the standard web color palette: .NET Colors
- Added: .DPLAYERSRAW to output to discord a text only version, you supply the template
Example: .DPLAYERSRAW:MyChannelName:{player_country} | {player_name} ({player_steamid}) | {player_status} | {player_level}
- Added: .DEMBED RAT command. You can now send an embed whenever you want to discord. The below is the "kitchen sink" (aka all options) example. You can include as many or as few of the options you need.
Example: .DEMBED:CHANNEL=rat_support|COLOR=GREEN|DESC=Testing a Description|TITLE=My Title|URL=https://www.jffgaming.com|TIMESTAMP=|FOOTER=My Footer|FIELDS=Name, Status|VALUES=Trekkan, Feeling Good|THUMBNAIL=https://www.filterforge.com/more/he...ticflickr.com/5200/14327667214_80e7598734.jpg
- Added: New Event: Player Any Chat, will fire on any chat event (public, global, private). Prevents you from having to make duplicate events that you want to fire in multiple chat event types. (Requested by: badplayer)
- Changed: Console tab has been renamed to "Console/Logs"
- Fixed: Logs should now be in the correct display. All console (server) logs are in the Console dropdown, change it to "RAT Logs" to see RAT specific events.
- Fixed: {bank_balance} would not always display correctly (The data was correct though) (Reported by: badplayer)
- Added: Player Position Tracking. RAT will write a log file (one per real time day) in %appdata%\Nomadsoft\7D2D RAT\logs.
The output format is: 6/7/2020 11:08:02 AM,Day 21, 19:17,76561197970441157,Trekkan,1 55 108
This should allow you to import it into Excel or some other data viewer for analyzing. (Requested by: badplayer)
- Added: New Event: RAT Connected
Description: Fires when RAT makes a successful telnet connection to the server
- Added: Event Timers. You can now create named timers that fire at specific intervals. This feature comes with new events and RATCommands (Requested by: mansellb55)
Event: Timer Tick
Conditional: TIMER:<NAME>
Description: Every time a timer named <NAME> fires, perform the actions in the script section
RAT Commands
Name: TIMERCREATE
Description: Creates a named timer that fires off every X seconds and starts enabled or disabled
Usage: .TIMERCREATE:<NAME>:<INTERVAL>:<STATUS>
<NAME> = The name of your timer, cannot include colons. Suggestion is to use standard character names
<INTERVAL> = How often this timer should fire (in seconds)
<STATUS> = TRUE/FALSE - Set whether or not this timer is enabled
Name: TIMERSETSTATUS
Description: Sets whether or not an existing timer is enabled or not
Usage: .TIMERSETSTATUS:<NAME>:<STATUS>
<NAME> = The name of your timer, cannot include colons. Suggestion is to use standard character names
<STATUS> = TRUE/FALSE - Set whether or not this timer is enabled
Name: TIMERREMOVE
Description: Will completely remove the timer, you must recreate it using the TIMERCREATE command if you wish to use it again
Usage: .TIMERREMOVE:<NAME>
<NAME> = The name of your timer, cannot include colons. Suggestion is to use standard character names
- Added: New RAT Command: DSETSTATUS
Name: DSETSTATUS
Description: Set the status of your Discord bot
Usage: .DSETSTATUS:<Status Message>:<StatusType>:<URL>
<Status Message> = The status message that is displayed for the bot
<StatusType> = Can ONLY be one of the following: PLAYING, WATCHING, LISTENING, STREAMING
<URL> = A valid URL, typically set to a twitch stream when streaming, etc.
- Fixed: Files that RAT writes to the log folder are now prefixed with with "Server Display Name". This prevents logs from having data from another server when you are running multiple servers on the machine using RAT (Reported by: badplayer)
- Added: Top Stats variables, these are updated every 60 seconds:
{top_deaths_name}, {top_deaths_count}
{top_score_name}, {top_score_count}
{top_level_name}, {top_level_count}
{top_kills_name}, {top_kills_count}
{top_playerkills_name}, {top_playerkills_count}
- Fixed: Player names with spaces were not parsing correctly when a player was joining the server. (Reported by: badplayer & vetal_l)
- Changed: Local Server light on the bottom right of RAT, now toggles its display based on the status of the "Enable Local Server" checkbox (Requested by: badplayer)
- Fixed: RAT Variables displayed in the Event Editor now display correctly and consistently (Reported by: badplayer)
- Added: RAT Command: DSAYUSER
Name: DSAYUSER
Description: Sends a DM (Direct Message) to a discord user
Usage: .DSAYUSER:<USERNAME>:<MESSAGE>
<USERNAME> = The Discord username of the user you want to send this DM to.
<MESSAGE> = The message you want to send
- Changed: Game World and Save Game name are now tied to each other. Changing the Game World dropdown will display all current saved games for that world, in the Save Game Dropdown.
- Changed: Game Backups. Your saved games and the game worlds are now backedup so that you don't have to regen the game world. The output filenames are in a specific format, do not rename them as RAT will not
be able to restore your savegame/world if you do so.
*** NOTE *** If your backups aren't right, you need to make sure the Game world and the Save Game Name are correct in their respective dropdowns
- Fixed: RAT now uses the custom User Data and Save Game folders correctly (I hope, most people never need to change these from their defaults)
- Changed: Renamed the RAT FAQ dropdown menu item to "RAT Documentation"
- Changed: New documentation for RAT added to the dropdown selection above. The documentation was written by badplayer, Ciro and Allexio. Many thanks to these three for taking the initiative and time to do this!
- Fixed: When RAT would restart, sometimes the server mods wouldn't repoll, etc. (Reported by: Sadist)