7D2D RAT 2.0 Alpha -- 64 Bit (Alpha 19 Compatible) (DEPRECATED, See RAT 3.0 now)

7D2D RAT 2.0 Alpha -- 64 Bit (Alpha 19 Compatible) (DEPRECATED, See RAT 3.0 now) 2065

  • Fixed: Landclaim on/offline durability was set to a max of 100, when 256 is the max allowed by the game (Reported by: SARAKATUNGA)
  • Fixed: MaxWorldTransferSpeed and MaxAllowedViewDistance were not saving to the RAT database (Reported by: SARAKATUNGA)
  • Removed: Channel name from Discord setup. RAT will now listen to all channels the bot has access to read. (Requested by: BadPlayer)
  • Added: RAT Conditional DCHANNEL, this should allow you to respond to events differently based on where they originated from. So player chat in one channel, admin chat in another channel, etc.
    Usage: DCHANNEL:<channelName>
    Will only pass the condition if the chat came from <channelName>
    • This is only needed on event types of "Discord Public Chat" but should enable a lot of new functionality for everyone.
  • Fixed: Discord Embeds in RAT and other things not working due to Discord updates (Reported by: BadPlayer)
** NOTE **

Depending on various things, you may need to add the following permissions to your RAT Discord Bot. If everything is working fine, you're good, but if weird things start to happen, please enable the permissions in the below screenshot.

1281


Also note, to write embeds to a channel your bot must have the "Embed Links" permission enabled as well.
  • Like
Reactions: RyoTheOne
  • Fixed: When opening the RAT event editor an error could appear and the RAT Variables would not display (Reported by: TORIGA)
  • Fixed: Named timer events were case sensitive (Reported by: badplayer)
  • Added: Timers are now context aware. This means you can use the RAT variables associated with the player/event that triggered the timer (if any)
  • Fixed: Issue saving bank settings (Reported by: Everyone)
  • Fixed: Popup Exception error when saving log files (Reported by: Apocalypse Now Gaming)
  • Fixed: When restarting the server, RAT would not requery the Mod List (Among other connection functions). This is due to the game server telnet connection accepting connections, before it was ready to accept requests.
    RAT now properly makes sure the server is fully started before sending the initialization request. (Reported by: Sadist and GameServer)
  • Fixed: Archive old player data. Now also includes the .bak file for players.
  • Fixed: When duplicating a RAT event, the original RAT event was not automatically disabled
  • Added: Refresh button next to "Game Worlds" in server settings. When you generate a new game world, click this to make sure its visible/selectable in RAT.
  • Added: Two new variables {server_currentplayers} and {server_maxplayers} (Requested by: Jeppe)
  • Added: New variable {player_return_location}, this is the location the player was last at, before they teleported (Requested by: badplayer) ** NOTE: Return Locations Reset when you close RAT **
  • Added: New variable {player_bag_location}, the location of the players bag when they died. Useful for scripts that might charge currency for a teleport to their bag, etc. (Requested by: badplayer) ** NOTE: Bag Locations Reset when you close RAT **
  • Changed: RAT now polls the server for player data every 30 seconds instead of every 60 seconds
  • Added: New Event: PLAYER LEVELED. Fires when a player gains a new level. This is not instant, it can take up to 30 seconds for the new level to be sent from the server. (Requested by: Doublee)
  • Added: Admin Level to playerlist grid. This is very useful to admins that use admin levels for events. Toggle its visiblity in File -> Settings -> Display tab. Make sure to click "Save Settings". (Requested by: badplayer)
  • Changed: Increased the scrollback buffer on Console/RAT Log windows from 500 to 1000 rows
  • Fixed: Auto Scroll for console/rat windows was not working. ** NOTE ** If the above buffer is hit, you will eventually see a scroll if the rows you are viewing, are removed from the buffer. (Reported by: Grandpa Minion)
  • Removed: My old pathetic attempt at localization, I might revisit this one day but... don't hold your breath.
  • Fixed: Using a custom "User Data Folder" would cause the Gameworld/Save Game dropdowns to not populate correctly (Reported by: Ciro)
If you installed from a fresh install of RAT on 2060, you do NOT need this update. The only thing this fixes is the upgrade script to correctly update one of the database tables.
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)
You'll need RAT 2040 installed first, then simply rename the .exe file to something else and put the one at the below link in its place. There is also a list of changes at the below link.


I'll be putting out a more "formal" update in that a new installer, etc.. but I wanted to get this out to people while I could as it has a lot of fixes and changes in it that didn't require database changes (which is why its just a .exe update).
  • Like
Reactions: Doctros
  • Fixed: No more database corruption issues, hopefully...
  • Removed: Logging to the database. Logs are now only output to files instead of the database.
  • Removed: RAT settings pertaining to logging to the database
  • Added: RAT Logs now go into log files in the RAT installation folder/logs, stamped by the current date. Console logs are still written by the server as always.
  • Changed: Console log window history increased from 1000 to 2000 rows
  • Fixed: Reenabled the host ban entry box (Reported by: David Lee)
  • Changed: Item spawner window can now remain open along with main RAT window
  • Removed: Log Export window, since all logs are already written to files
  • Fixed: 0 byte backups. Make sure the 'Save Game Location' is set to the root level of saves, such as 'C:\Users\Troy\AppData\Roaming\7DaysToDie\Saves\Old Faminu Valley' The game name will, automatically be appended.
  • Changed: Updated to SQLite 372 libraries
Change log:

  • Changed: Using newer Discord library, still more work to do here extending Discord functionality
  • Fixed: Discord status at bottom of RAT status bar would sometimes not appear
  • Fixed: Player New Connected event was not firing
  • Changed: Webmap will now open in your default browser
  • Changed: Webmap -- If the remote host points to localhost/127.0.0.1 or Enable Local Server is checked, the webmap doesn't require any configuration other than webpermissions to be set. If you are remotely hosted, you will still need to specify the host/port on the Misc tab.
  • Fixed: Exception when checking for updates, if you were behind a firewall or otherwise the update server was unavailable (Reported by: Linearburn)
  • Removed: Server config settings: BlockDurabilityModifier, ZombiesRun
  • Added: Server config settings: UserDataFolder, XPMultiplier, BlockDamagePlayer, BlockDamageAI, BlockDamageAIBM, LandClaimCount, BloodMoonFrequency, BloodMoonRange
  • Changed: TerminalWindowEnabled default is set to true
  • Fixed: Hopeful fix for DB corruption issues, please let me know.
Release 2.03.0 is out. Only a few changes, but hopefully a fix to the DB corruption issue some people are having. Please note that if your DB is corrupted, you must delete the database file and reconfigure RAT. The file is located at %appdata%\nomadsoft\7d2d_rat.db. Delete that file, rerun RAT and a new one will be generated.

Also please note, make sure you've installed all of the latest Windows updates. There were some SQL issues in versions released early Jan of this year that have since had fixes released and this could be the cause of the issues as well.

  • Changed: Updated the SQLite library to latest release
  • Fixed: Friends list request should no longer happen when there are no players on the server.
  • Changed: No longer requesting player positions from the server.
  • Fixed: Case Sensitive issue when looking up player names (Reported by: Njinir)
  • Changed: Made the RAT Event UI a little easier/cleaner (hopefully) (Requested by: Njinir and several others)
  • Fixed: Event list shouldn't jump around anymore, keeping you on the event you expect
  • Fixed: Players could lose their bank total on logout (Reported by: Njinir)
  • Like
Reactions: BIA_RIGGS
Because I did a terrible job testing, yet another release. Going to bed!

Special thanks to @DrakoWolf for some extensive debugging!

  • Fixed: Issue that could cause your settings to revert to default values (Reported by: DrakoWolf)
  • Fixed: Rat exception thrown when archive inactive players is on, and the world isn't generated yet. (Reported by: DrakoWolf)
  • Fixed: Backup compression type now defaults to "Fastest" instead of empty (Reported by: DrakoWolf)
  • Fixed: Health Check Restart Server When now defaults to "Never" instead of empty (Reported by: DrakoWolf)
  • Fixed: Disabled Protocols were not saving correctly (Reported by: DrakoWolf)
  • Like
Reactions: BIA_RIGGS