Ported to ATLAS API. Some keywords may need changed or removed in the config.json if they are not used in ATLAS.
Gives tribe owners the ability to have in-game tribe log events forwarded to a discord channel of their choosing.
Gives server owners/admins the ability to log all tribe activity to a private admin discord channel.
Gives server owners/admins the ability to log filtered content to a second admin channel or public channel.
Chat Commands:
- /TLR <Discord Webhook> - Sets a discord webhook for the tribe. (only for Tribe Owner)
- Please note that I have removed the abilty to reload the plugin. You can accomplish the same thing by doing the following from RCON:
- plugins.unload TribeLogRelay
- Wait 15 seconds so the messaging threads can close properly
- plugins.load TribeLogRelay
- Microsoft Visual C++ Redistributable for Visual Studio 2019 - My plugins are compiled with the newer Visual Studio 2019. If you are unable to load my plugin and get error 126 you need to install this.
- Atlas Permissions Plugin - You don't need to configure anything if you don't want to use the permission system but you must have this plugin installed or Tribe Log Relay will not function properly.
Update Instructions:
- Download and open the zip file.
- Copy the "PluginInfo.json" file directly on top of your existing "PluginInfo.json".
- Open your "config.json" and copy any changes over to the new "config.json". (Important)
- Make sure the updated "config.json" is now in the plugin directory.
- Stop your server and replace the "TribeLogRelay.dll".
- Start your server again.
Configuration:
JSON:
{
"General":{
"ServerName":"CustomServerName",
"ForceTribeMembership":true
},
"Commands":{
"CommandText":"/TLR",
"UsePermissions":false,
"PermissionName":"TLR.Add"
},
"Discord":{
"UseAdminLogging":false,
"AdminDiscordWebhook":"",
"DiscordLinkFormat":"https:\/\/discordapp.com\/api\/webhooks\/[^\/]+\/[^\/]+",
"DiscordPingCooldown":0,
"UseTribeID":true,
"TribeFormat":"{1}:{0}"
},
"Detection":{
"DetectTribeOwnerChange":true,
"DetectTribeLogin":true,
"DetectTribeLogoff":true
},
"KeywordMatching":{
"UseKeywordMatching":true,
"Keywords":{
"Your Company killed":false,
" was killed":true,
" demolished a":false,
" Recruited":false,
" claimed":false,
" unclaimed":false,
" was added to the Company":false,
" was removed from the Company":false,
" was auto-decay destroyed":true,
" starved to death":true,
" was destroyed":true,
" destroyed their":false,
"Tamed a":false,
" was promoted":false,
" was demoted":false,
" set to Rank Group":false,
" destroyed your":false,
"Company name changed":false,
"Company owner changed":false,
" gone offline":false,
" is now online":false,
" has been born":false,
" has been hatched":false
}
},
"AdminKeywordMatching":{
"UseKeywordMatching":false,
"Keywords":{
"Your Tribe killed ":false,
" was killed":false,
" demolished a ":false,
" was added to the Tribe!":false,
" was removed from the Tribe!":false,
" was destroyed!":false,
" destroyed their ":false,
" destroyed your ":false,
"Tribe name changed ":false,
"Tribe owner changed ":false
}
},
"Localization":{
"TribeOwnerChanged":"Company owner changed from {0} to {1}",
"Login":"{0} is now online!",
"Logoff":"{0} has gone offline!",
"NewBaby":"'Baby {0}' has been born.",
"EggHatched":"'{0}' has been hatched."
},
"Messages":{
"Sender":"TribeLogRelay",
"ChangedWebhook":"Successfully set your Company Discord Webhook!",
"Invalid":"<RichColor Color=\"1, 0, 0, 1\">Webhook appears to be an invalid discord webhook!</>",
"Error":"<RichColor Color=\"1, 0, 0, 1\">Webhook did not get updated, try again!</>",
"NotAllowed":"<RichColor Color=\"1, 0, 0, 1\">Only the Company owner is allowed to use this feature!</>",
"NotFound":"<RichColor Color=\"1, 0, 0, 1\">Unable to locate your Company entry! Contact the server admin.</>",
"Usage":"\nCompany Owners Only!\nUsage: /tlr <discord webhook>\nVisit https://bit.ly/33Jw8i5 for information about Discord Webhooks.",
"ForceTribe":"Company membership is required. You have been added to your own company."
},
"Notifications":{
"NotificationDisplayTime":10.0,
"NotificationScale":1.3
},
"Mysql":{
"UseMysql":false,
"MysqlHost":"localhost",
"MysqlUser":"user",
"MysqlPass":"pass",
"MysqlDB":"dbname"
}
}
Detailed Configuration Info:
General:
AdminDiscordWebhook: This is the webhook that will be used by the UseAdminLogging feature.
DiscordLinkFormat: This is regex that verifies the format of the discord webhook is correct. You do not need to change this setting.
DiscordPingCooldown: Only affects tribe logs since admin logs do not contain mentions.
UsePermissions: If you would like to only allow certain users access to set tribe webhooks set this to true otherwise only Tribe Owners will have permission. Enabling this feature does remove the ability for Tribe Owners to use the command. More Info
PermissionName: This is the permission you will setup in-game attached to a group which is then assigned to players. More Info
UseKeywordMatching: This will send only tribe log messages that match entries in the Keywords list below.
Keywords: If using "UseKeywordMatching" any keyword detected in a tribe log will send the message to the tribes discord. Keep in mind Keywords are only used for Tribe Discord messages and Admin Discord gets every message. You can add or remove anything from the list you want.
- ServerName: This will appear at the beginning of all discord messages to identify the server the message comes from.
- Example Tribe Message: "@everyone (CustomServerName) Day 28, 07:22: Tribemember LethalTest - Lvl 1 was killed by a Kaprosuchus - Lvl 90!"
- Example Admin Message: "(CustomName) (NewTribe) Day 28, 07:22: Tribemember LethalTest - Lvl 1 was killed by a Kaprosuchus - Lvl 90!"
- ForceTribeMembership: Will force solo players into a solo tribe. Ensures everything they do can be logged and enforced.
- true - creates a new tribe for them automatically using their name.
- false - disables this feature and lets people be tribe-less if they wish.
AdminDiscordWebhook: This is the webhook that will be used by the UseAdminLogging feature.
DiscordLinkFormat: This is regex that verifies the format of the discord webhook is correct. You do not need to change this setting.
DiscordPingCooldown: Only affects tribe logs since admin logs do not contain mentions.
- Setting to 0 disables the new feature and TLR will act as it always has.
- Setting to 60 for instance is the number of seconds that must pass before another @everyone can be sent to discord. The message will still be delivered during the "cooldown" period minus the @everyone.
- Setting to true will display the Tribe Name and Tribe Id
- Setting to false will only display the TribeName
- {0} = TribeName and {1} = TribeId
- TribeFormat must contain both of the above values if UseTribeID is true
- Examples using Tribe Name "LethalTribe" and Tribe Id "1234567890" with "UseTribeId" set to true
- "{0}::{1}" will display as (LethalTribe::1234567890)
- "{1}::{0}" will display as (1234567890::LethalTribe)
- "Id:{1} Name:{0}" will display as (Id:1234567890:LethalTribe)
UsePermissions: If you would like to only allow certain users access to set tribe webhooks set this to true otherwise only Tribe Owners will have permission. Enabling this feature does remove the ability for Tribe Owners to use the command. More Info
PermissionName: This is the permission you will setup in-game attached to a group which is then assigned to players. More Info
UseKeywordMatching: This will send only tribe log messages that match entries in the Keywords list below.
Keywords: If using "UseKeywordMatching" any keyword detected in a tribe log will send the message to the tribes discord. Keep in mind Keywords are only used for Tribe Discord messages and Admin Discord gets every message. You can add or remove anything from the list you want.
- Format: "keyword":important
- "keyword": This can be any text that can appear in the tribe log. I have already included many of them. This is the text that is used to figure out what needs to be sent if using the keywords matching feature.
- important: Replace the word important with either true or false. If set to true it will add "@everyone" to the discord message effectively pinging users in discord for messages that contain the keyword. If set to false it does not ping users and sends a normal message.
- "TribeOwnerChanged":"Tribe owner changed from {0} to {1}",
- {0}=Previous Tribe Owner, {1}=New Tribe Owner
- "TribeNameChanged":"Tribe name changed to ({0})",
- {0}=New tribe name
- "UnCryo":"{0} unfroze {1}"
- {0}=PlayerName, {1}=DinoName/Level
- Sender: Any messages sent to the player by the plugin will be prefixed with this text in the chatbox.
- Example: "TribeLogRelay: Successfully set your tribes Discord Webhook!"
- UseMysql: true or false (false uses the existing sqlite database and true requires you to have a MySql database setup. The rest of the settings are only needed if you set this setting to true.
Donations: If you feel like donating for my time please use the button below.

Shoutouts to @WETBATMAN @Substitute @Michidu @OwnProx @Foppa and anyone else for either helping me on discord or sharing open source code to learn from.