Tribe Log Relay [Deleted]

Welcome!

By registering with us, you'll be able to discuss, share and private message with other members of our community.

SignUp Now!
Status
Not open for further replies.
I recommend updating to version 1.1 which will be posted soon.
 
Last edited:
Lethal updated Tribe Log Relay with a new update entry:

Tribe Log Relay v1.1

Changlog
  • Made the slash command changeable so you can change "/TLR" to "/DiscordLog" for example (no spaces allowed in the command also not case sensitive)
  • Reload config via chat command (server admin only) useful for tweaking and testing keyword settings (by default this will be "/TLR.Reload" but the first part of the command will match the command you specify in the config.
  • Tribe name changes will add an entry in the tribe log with new and previous name.
    • If...

Read the rest of this update entry...
 
Reworked the message queue system to ensure it can handle large amounts of events at once. Admin logging if enabled is set so that it should not trigger the discord webhook rate limit. Using the same webhook for multiple things could lead to rate limiting preventing the webhook from getting messages from any source for a "cooldown" period.

Just wanted to put some additional context around this changelog note.

Just some background before I begin. Discord Webhooks support 30 messages per minute with each message allowed to be upto 2000 characters. You will see why this is important shortly.

Here is my testing scenario:
  • Spawn in 100 tamed dodo's. Lay down 40-50 c4 then detonate them. This will create hundreds of log messages in game instantly that will be sent to discord.
How each version handled this scenario:
  • Version 1.0: Would only catch a few of these events because the events were sent to discord in real-time 1 at a time and missing the majority of the messages. The discord webhook would be overloaded and put into a rate limited state preventing messages from being delivered for X seconds.

  • Version 1.1: Will queue up the messages and deliver them in batches to maximize how much data can be sent to discord in a single message. So for instance it will send 1 message that contains up to 2000 characters (maximum size permitted for webhooks) of the tribe log messages. For this scenario I found it sending roughly 19 logs lines in a single message which greatly reduces the number of messages that need to be sent while still delivering them in a timely manner. In my tests it would deliver around 400 tribe log lines in a matter of a few seconds. So this new system should scale very well for busy servers with lots of action generating lots of log entries.
As stated above I have the Admin logging feature tuned to send the exact amount of messages allowed per minute so it should never get rate limited as long as that webhook is only used for a single server. Tribe webhooks are a bit different because they would need to generate a huge amount of logs (500 or so) within 60 seconds to cause them to get rate limited.

Hopefully this all makes sense. Let me know if you have any questions.
 
Multilingual support error in version 1.1
(There was no more than 1.0 version)

test) (ggg ??? ??????1) Day 976, 13:51: C4 ?????? (ggg ??? ??????1) (???) ??? ????????? 'C4 ??????' (???) ??? ?????? ???????????????! (test) (ggg ??? ??????1) Day 976, 13:51: C4 ?????? (ggg ??? ??????1) (???) ??? ????????? 'C4 ??????' (???) ??? ?????? ???????????????! (test) (ggg ??? ??????1) Day 976, 13:51: C4 ?????? (ggg ??? ??????1) (???) ??? ????????? 'C4 ??????' (???) ??? ?????? ???????????????!


[오전 1:39]
(test) (ggg ??? ??????1) Day 976, 13:52: C4 ?????? (ggg ??? ??????1) (???) ??? ????????? '??? ??????' (???) ??? ?????? ???????????????! (test) (ggg ??? ??????1) Day 976, 13:52: C4 ?????? (ggg ??? ??????1) (???) ??? ????????? '??? ??????'
 
A mild suggestion...

Add commands that allow tribe owners to change the true/false variable on their tribe log triggers. It would require a way to make key-words into commands, a way to list commands available, and a command to switch it.
 
I would like to request changing how the @everyone's are handled. Like structure deaths, player/dino deaths, unclaims, demolished and uploads/freezes would be good. But downloading a dino, unfreezing a dino, taming a dino I dont believe are needed to be mentioned with a @everyone. Granted theres work arounds via config on disabling these features to false so they wont ping you.

Also what could work (not sure if its viable) If a trigger can be set, so every 10 minutes or so during a raid it will @everyone if a structure, player or dino gets killed.
 
A mild suggestion...

Add commands that allow tribe owners to change the true/false variable on their tribe log triggers. It would require a way to make key-words into commands, a way to list commands available, and a command to switch it.

More commands makes the usage more complicated and additional processing needed to determine how to handle messages for each tribe. There should only be a 2-3 things you would actually want doing @everyone and the majority of the players would be setting up the exact same settings. Also since ARK TribeIDs are different on each map they would have to go through and do all of the configuration/commands on each server of the cluster each time they want to make a simple change.
 
I would like to request changing how the @everyone's are handled. Like structure deaths, player/dino deaths, unclaims, demolished and uploads/freezes would be good. But downloading a dino, unfreezing a dino, taming a dino I dont believe are needed to be mentioned with a @everyone. Granted theres work arounds via config on disabling these features to false so they wont ping you.

Also what could work (not sure if its viable) If a trigger can be set, so every 10 minutes or so during a raid it will @everyone if a structure, player or dino gets killed.

I will look into adding a "cooldown" period setting that can go into the config.json that would limit @everyone pings in either minutes or seconds to prevent ping spam.
 
I will look into adding a "cooldown" period setting that can go into the config.json that would limit @everyone pings in either minutes or seconds to prevent ping spam.
Thanks that will be awesome.
 
Multilingual support error in version 1.1
(There was no more than 1.0 version)

test) (ggg ??? ??????1) Day 976, 13:51: C4 ?????? (ggg ??? ??????1) (???) ??? ????????? 'C4 ??????' (???) ??? ?????? ???????????????! (test) (ggg ??? ??????1) Day 976, 13:51: C4 ?????? (ggg ??? ??????1) (???) ??? ????????? 'C4 ??????' (???) ??? ?????? ???????????????! (test) (ggg ??? ??????1) Day 976, 13:51: C4 ?????? (ggg ??? ??????1) (???) ??? ????????? 'C4 ??????' (???) ??? ?????? ???????????????!


[오전 1:39]
(test) (ggg ??? ??????1) Day 976, 13:52: C4 ?????? (ggg ??? ??????1) (???) ??? ????????? '??? ??????' (???) ??? ?????? ???????????????! (test) (ggg ??? ??????1) Day 976, 13:52: C4 ?????? (ggg ??? ??????1) (???) ??? ????????? '??? ??????'

The log messages in discord look like this? If so I would assume character encoding is being lost in the process somewhere if that is the case. I would need to figure out how to test this as I have only tested using English on a server.
 
Upcoming changes for the next version 1.3 (yes, I skipped 1.2 so I can have ATLAS and ARK versions on the same version number)

The reload command now works in the Console, RCON and Chat.

New Config option: "DiscordPingCooldown"
  • 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.
New Config Section:
JSON:
  "Detection":{
    "DetectCyroUnfreeze":true,    //false will disable the cryopod unfreeze feature
    "DetectTribenameChange":true,  //false will not log tribename changes
    "DetectTribeOwnerChange":true  //false will not log tribe owner changes
  },

Some Localization options for events I created that are not in the standard game:
JSON:
  "Localization":{
    "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
  },

According to Google Translate Korean may look like this:
JSON:
  "Localization":{
    "TribeOwnerChanged": "부족 소유자가 {0}에서 {1} (으)로 변경되었습니다.",
    "TribeNameChanged": "종족 이름이 ({0}) (으)로 변경되었습니다.",
    "UnCryo": "{0}이 (가) {1}을 (를) 고정 해제했습니다."
  },

Bug Fix: The "Day" that is sent to discord as part of the message can be skewed by alot and I have corrected that to exactly match what is in game.
Bug Fix: Unicode support - All standard messages in ARK should display in discord based on the servers culture setting. The new localization settings will handle my custom messages.
Bug Fix: Hopefully have any weird issues tracking removing dinos from cryopods whether they expire or are thrown down.
 
Last edited:
we had a tlr related crash too here its screenshot. bytheway there wasnt any tribe record in the db so plugin was active but not busy.
 
Status
Not open for further replies.
Rogue Vikings Discord Server - Rogue Vikings Gaming Servers - Minecraft Prison Servers - Minecraft Creative Servers
Tebex
Monetize your ARK server
Tempest Dedicated Servers
Back
Top