7D2D RAT: A 7 Days to Die Server Manager (7D2D A16 Only!)

7D2D RAT: A 7 Days to Die Server Manager (7D2D A16 Only!) 01132

  • Fixed: Event variables list was missing the Discord variables (Found by: FuzzySadist)
  • Fixed: Event command list was missing the SHELL command (Found by: FuzzySadist)
  • Changed: Added Event Command BLOODMOON back in, syntax is: .BLOODMOON:PUBLIC:The next bloodmoon is in {bloodmoon_next} days!||The next bloodmoon is tonight! (Reported by: StormForce)
  • Changed: Raised max teleport destinations from 10 to 100 (Requested by: GhostRiderGrey)
  • Added: Delete specific players teleport destinations. Right click the selected player in the player list.
  • Fixed: Adding a new item to a grab bag, would select the wrong item when clicked. (Reported by: StormForce)
  • Fixed: Console logs should start saving to the RAT database again if set in RAT -> Settings to do so.
  • Changed: Console log now preserves formatting of trailing/leading spaces (Requested by: djkrose)
  • Changed: Up/down arrow keys in console and chat, now places the cursor at the end of the text (Requested by: djkrose)
  • Fixed: Selecting grab bag items in the editor now selects the item you clicked on correctly. (Found by: impatus)
  • Added: Refresh button for console commands in the event editor (Requested by: FuzzySadist)
  • Changed: Console commands are now stored in the RAT DB instead of only loading while connected via Telnet, click the refresh button if the list is empty.
** Upgrade Notes **

Please upgrade to BCM 2.2.2 or newer. This is due to changes in the give command in the mod that now allows items to be placed directly in the players inventory, instead of on the ground.

Events marked as "RAT" events can no longer be edited. If you've already edited a RAT event, please now use the "Duplicate" button to make a copy of the event, disable the RAT event and continue as normal. This change was made to keep a clean copy of RAT events going forward so you can use them for reference as well as allows me to update the defaults when changes are made, without worrying about screwing up your scripts. Please go over the events and make sure the ones you want are enabled/disabled as needed.

The first time you click the server restart button, the defaults may not be populated. Please click the SAVE button, then reopen the Server Restart window and the defaults will now be there.
  • Fixed: Clicking add/remove admin in the player list when no players are selected no longer throws an exception (Found by: OrakoG)
  • Fixed: Event variables for arguements such as {0}, {1}, {2} are functioning again (Reported by: FuzzySadist)
  • Fixed: Bloodmoon calc (again), maths! (Reported by: StormForce)
  • Fixed: When updating RAT, the status window was not scrolling to the bottom when new text was added (Reported by: FuzzySadist)
  • Added: New Event Command: SHELL. Syntax: SHELL:yourprogram.exe arg1 arg2 arg3... (Requested by: FuzzySadist)
    Results are returned in a new event variable {shell_response}
    Default directory is your RAT install directory
    Note that if you want to display the results using something like "SAY" and the results contain double quotes, its not going to do the SAY command properly.
    I might try and work around this later, but... probably not. ;)
  • Changed: Now using BCMs give command to spawn items. This means items will now appear directly in the players inventory instead of on the ground.
    If the player is out of inventory space, the items will then fall to the ground and are subject to the standard decay limits.
    ** NOTE ** You must upgrade to BCM 2.2.2 or newer!
  • Added: New event: Discord Public Chat (Requested by: FuzzySadist)
    This means there are 4 new event variables: discord_author, discord_channel, discord_content, discord_createdat (Reported by: everyone)
  • Fixed: Rewrote the grabbag code, please note the event for this is diferent now and you also have access to some new event variables.
    New Event Variables: grabbag_level, grabbag_wait
    The minimum level required to get a grabbag, and the amount of time until the player can get another grabbag
    Please replace your grabbag Event SCRIPT with the following:
    .GETGRABBAG:PUBLIC:Your items are on the way!||Sorry, but you do not meet the minimum level requirement of {grabbag_level} to use Grab Bags.||Don't be greedy! You're going to have to wait {grabbag_wait} more minutes until your next grabbag!
  • Fixed: Issue where RAT would not reconnect to the server after losing connection in some situations.
  • Fixed: Discord botname is now correctly prefixed in the local Discord chat tab in RAT when it should be. (Reported by: FuzzySadist)
  • Fixed: RAT will not longer "hang" while attempting a telnet connection.
  • Fixed: Checking players for Hostbans should no longer "hang" RAT when there are a large number of players online. (Reported by: hameleon0128)
  • Added: Customizable server restart/shutdown messages. These are configured on the Local Server -> Health Checks / Restarts tab
    These are the defaults, when you manually stop/restart the server, you will be presented with these values. This allows you to set a custom shutdown/restart message, but have the defaults.
    Note the new events below. The primary event here is "Server Shutdown Now", this needs to have at least the "shutdown" console command in it to shut down the server.
    The other events are for whatever you might want to do at those times.

    Three new events:
    Server Shutdown Now
    Server Shutdown Minutes
    Server Shutdown Seconds
    Two new variables:
  • Changed: When opening the Event editor or creating a new event, the Event Type dropdown now defaults to "Player Public Chat" (Requested by: FuzzySadist)
  • Added: Event Source Filter dropdown on the event editor (Requested by: FuzzySadist)
  • Changed: Designed a lot of the Event Editor UI to make it more usable/functional
  • Added: Duplicate event button to make a copy of an event
  • Changed: Events with a type "RAT" are not longer editable. You can only enable/disable them. This allows RAT events to be kept up to date with changes, but won't overwrite "User" events.
    This also gives you the abilty to see updated/original RAT events to revert to, get examples from, etc.
    More work will be done on the event editor over time, expanding its capabilities and usage.
    ** NOTE **
    Due to this change, please review all of your events and make sure they are enabled/disabled as you need.
  • Added: Right click on player list, now has ability to teleport the selected player to another player.
  • Added: New Event: Player Failed VAC Checkbox
    This event will fire when a player has exceeded the vac ban count in RAT Security 2 tab, or the player has an active VAC ban.
    This comes with new event variables:
    Example Script:
    say "Sorry, {player_name} you have too many VAC bans to play here."
    ban add {player_steamid} 30 DAYS "Failed VAC Ban Check!"
** NOTE ** Discord support is not functional in this version. That'll be in the next update. I just wanted to get this out there due to there are a lot of bug fixes and asked for features already complete.

  • Added: RAT title bar now displays the name of the server you are connected to. (Requested by: MidnightDesigner)
  • Fixed: It is now possible to get player inventory of offline as well as online players (Reported by: djkrose)
  • Fixed: Players with spaces in their names are now parsed correctly for the player spawn events (Reported by: djkrose)
  • Fixed: Events will no longer write to the Discord chat window if Discord is not enabled and connected
  • Added: Event vars {online_admins}, {offline_admins}, {all_admins}. Will display a CSV list of respective admins. (Requested by: freakii)
  • Fixed: {bloodmoon_days} is now calculated correctly and consistent between server messages and chat commands (Reported by: denully)
  • Removed: Custom event command NEXTBLOODMOON (deprecated), use event variable {bloodmoon_next}
  • Added: {bloodmoon_next} (same as bloodmoon_days) and {bloodmoon_last} for those that like to display things differently.
    Please use {bloodmoon_next} from now on in place of bloodmoon_days as it will be deprecated soon.
  • Fixed: Server telnet ports cannot exceed 32767 (Reported by: Markezzz)
  • Added: Support for mods that color the players name. This is VERY experimental, please let me know your results.
  • Changed: Extra debug code around teleport and grabbag code to help prevent exceptions and also help track down various issues
  • Changed: You can no longer change the selected server, unless you first disconnect from the one you are connected to and/or shutdown the local server if it is running.
  • Fixed: In some conditions, RAT could fail to stop the server process, this would make restarting the server impossible in these circumstances.
  • Fixed: The Server Stopped event would not fire under some conditions
  • Fixed: Telnet connection attempt when starting the server, and Auto Connect was not checked
  • Added: Host Bans now can use REGEX to match against either a host or IP address.
  • Added: New Event: PLAYER KILLED PLAYER (Requested by: Hicks & others)
    This new event comes with the following new variables:

  • Fixed: Event level check and cooldown check should be working again (Reported by: SpectralForce)
  • Added: SteamCMD support. You can now check for game server updates and install/update the game server as well
  • Fixed: You should now be able to spawn hordes on players again. ;)
  • Added: ADMINLEVEL (alias ALEVEL) to event conditionals. So you can now check against a players admin level. Same syntax as LEVEL
  • Added: Two new aliases for "LEVEL", PLEVEL and PLAYERLEVEL. Please start using PLEVEL or PLAYERLEVEL as "LEVEL" is now DEPRECATED.
  • Changed: Rewrote a lot of the teleport code, hopefully things work better for people now.
  • Added: Event variable {teleport_wait} to display how much time a player has left to wait until they can teleport again.
As always, please backup your database file before upgrading, it is located at %appdata%\Nomadsoft\7d2dusa.sdf, or use the backup feature when updating.

Remember, this is an EXPERIMENTAL version of RAT, there will be bugs, features that aren't complete and features that might be removed.

Expect problems, expect me to fix things as quickly as I can, and expect to roll back your RAT install if you find a problem you can't live with until the next release.

** NOTE **

In case it wasn't clear, moving all of these to new events allows you to edit them and do whatever you would like when the event happens. If you want to send emails when something happens, etc.
This also allows more localization for server admins, as all of the new events mean you can display whatever types of responses you'd like.

  • Added: Event variables: {gametime_full}, {gametime_day}, {gametime_hour}, {gametime_minute} (Requested by: phisig2229)
  • Added: Event variable: {player_online_count} (Requested by: OoHerboO)
  • Added: Events for: Server Up, Server Down, Server Restart, Server Failed Ping Check, Server Failed RAM Check
  • Added: Events for: Player Failed Ping Check, Player Failed Host Check
  • Added: Events for: Backup Started, Backup Completed, Backup Failed
  • Added: Event Command: RANDOMNUMBER, to return a random number between X,Y. Returns a value as variable {random_number}. Usage: .RANDOMNUMBER:1,100
  • Changed: Server messages now use the same token parser as everything else. So variables should be accurate now (Like bloodmoon_days) in server messages (Credit: {god-father})
  • Added: Automatic server restarts now (they did before, but...) issue a "shutdown" command to allow remotely hosted servers to use RAT better. This relies on your host detecting your server is down and restarting it for you since there is nothing RAT can do to start a server remotely.
  • Changed: Updated EULA content. The EULA will also now appear when upgrading.
  • Changed: Increased the size of the primary toolbar buttons slightly
  • Added: Events for: Discord Connected, Discord Disconnected
  • Added: Event Command: DISCORDW. Writes content to the local RAT discord window (local only, doesn't get sent out). Usage: .DISCORDW:This will only be displayed in RAT, in the Discord Chat window
  • Added: Event Editor now lists all variables available, double click to add a variable at the cursor position in the Script text area.
  • Changed: Admin, Ban and Command lists are now all being parsed using BCM. Therefore, the content from these functions should now reliably display in RAT.
  • Fixed: Item spawner window, item amount can now be set to 6000 to go along with 7D2D max stack changes for some items. (Credit: djkrose)
  • Removed: Action on Failure, Duration, Time Limit, Reason values from the Security window for Ping Checker. These are now configured in the event for Player Failed Ping Check.
  • Added: Default events for all new events created, these should function like the old ones did for the most part. Only now you can specifically control what happens during those events.
  • Removed: With the new events, there is no longer a need for the email events in the File -> Settings -> Email tab. Removed them. Edit the events to do whatever it is you want. =)
  • Changed: Server Config value MaxSpawnedZombies, can now be 500 (was 150). Whether or not your server can handle it, that's up to you. (Requested by: greymulkin)
  • Fixed: Setting landclaim on/offline durability to 0, would cause the value to reset to the default of 4. (Credit: Hjorten)
  • Fixed: Host Bans should now execute on a different thread, preventing any blocking of the rest of RAT
  • Changed: Host bans will now check ALL players currently online when a new player joins, just incase someone was somehow missed or you've updated the hostbans after a player already joined the server.
  • Removed: Exception in RATLog when unable to get a players country flag image. A message is still displayed in the log, but the exception was removed to prevent cause for concern.
  • Fixed: The checkbox for Discord Auto Connect was not wired up correctly, causing it to always appear checked when opening the Discord Setup window.
  • Fixed: The Discord Auto Connect setting was not saving correctly
  • Changed: Cleaned up some logic around server health checks, etc.
  • Fixed: Discord chat from other channels than the bot channel would appear in the Discord Chat window in RAT
  • Changed: Now using BCM for in-game time polling
  • Fixed: Every time you start RAT, it tells you an update is needed (Credit: BoNeZ)
  • Fixed: Parsing exception (handled) in the player Disconnected parsing event. (Credit: BoNeZ)
  • Fixed: An exception (handled) could occur when updating server messages (Credit: Hjorten)
Quick fix for a bad DB value, only affected 2 people. =)
  • Changed: Requires v2.0 of Stompy's BCM mod, hopefully there won't be too many more mandatory updates, however... you're on experimental... ;)
    ** NOTE ** Delete the old BCM folder and install a completely fresh copy from the above link.
    If you don't, things will probably not work right.
  • Changed: Visual changes to the Health Check tab to hopefully make the options more clear
  • Fixed: Exception when saving settings that some people were experiencing
  • Changed: Cleared up some text on the Player list right click menu
  • Changed: Removed my person default values from the backup paths
  • Added: There is now a check for the backup folder to exist before attempting a backup. Errors are logged in Console -> RATLog
  • Changed: The gametime in the bottom left corner is now blue and if you single click it, you can set the gametime.
  • Fixed: Connection issues with RAT connecting to servers with no passwords.
  • Fixed: Updated player window toolbar option "Kill All Players" to correctly state "Kill All Zombies" ;)
  • Added: Input history buffers to Console, 7Days Chat, IRC Chat and Discord Chat (buffer is set to 50)
  • Added: Script commands can now access user chat text. Use {0} for all args (space delimited), and {1}-{..n}
    User Input: !testing 1 2 3
    Script Example: You said {0}
    Returns: You Said 1 2 3

    User Input: !testing 1 2 3
    Script Example: Countdown {3} {2} {1}
    Returns: Countdown 3 2 1
  • Added: Discord support! There's a lot to this one, please see this thread for setup instructions. Setup in RAT is the last icon on the main toolbar, instructions here.
  • Added: You can create RAT events that will respond to Discord chat events. (Thanks to GuppyCur for the idea of reusing the existing RAT event system!)
  • Added: .DSAY event command to send public chat to Discord
  • Added: New Conditional: CHECKDISCORDROLE, supports >, >=, =
    Example: CHECKDISCORDROLE:>=Moderator

    Example Event to allow those in discord to chat with those in the game
    This event will only work for those that have moderator or higher access in Discord

    Type: Player Public Chat
    Conditionals: STARTSWITH:!asay||CHECKDISCORDROLE:>=Moderator
    Script: say "[{player_name}]: {0}"

    Usage: !asay This is a test, you should see this in the game chat!
  • Added: Rat News link to the Help menu dropdown. This will display the most recent RAT changelog for Experimental/Stable releases. It is really ugly, if you'd like to make it look better, please send me an example using CSS so I can use that as a template. =)
  • Added: New Event Command: CHATW
    Example Script: .CHATW:This writes to the local RAT Chat window, but only to there, no one else will see this.
    This will allow you to write events there such as a player joined the server, died, etc... or not, as you please and whatever you want to say. Or if something happens you want to log in general, a player used a specific command, etc.
  • Fixed: Events like "Player Joined Server" not appearing in the chat window. If you're upgrading RAT, you'll need to manually update your events to include whatever you want.
  • Changed: Visual changes to the Health Check tab to hopefully make the options more clear
  • Fixed: Exception when saving settings that some people were experiencing
  • Changed: Cleared up some text on the Player list right click menu
Other than any fixes that arise from this update, I plan on moving this release to the Stable branch, so please let me know of any issues you have ASAP! =)
  • Fixed: Issue where the player list was being called too many times when a player joined the server
  • Removed: MOTD is no longer used from the "Messages" tab. Modify or create new MOTDs by creating a new event with the type "Player Spawn Joined"
  • Fixed: Max players in the status bar now correctly reflects the server setting on connection
  • Added: New Item list when adding grab bag items, searchable and sortable. I hope this makes adding items to grab bags much easier!
  • Added: Options for guaranteed items in grab bags. Meaning, if you set the guaranteed items to 2, the player is guaranteed two items from whatever bag is chosen. What items and quality those are, still fall in the settings you've made for those items. But the player will get 2 items (in this example). Leaving the guaranteed items at 0, means the system will work like previously, and the "default" bag is given to a player that did not receive any items.
  • Changed: Improved the way random numbers were being generated. You should hopefully see more random in your random.
  • Fixed: Text on player window right click changed from "Kill all Players" to "Kill all Zombies". Must have been wishful thinking on my part. ;)
  • Fixed: Issues with Items and Blocks not importing
  • Fixed: Server Messages should now display correctly
  • Fixed: Server restarts should work again
  • Fixed: Various other issues where player count checks were involved