Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Muteban: Introducing Timed Mutes and Gags 2
#1
The built in mute and gag commands are the two most used commands on the server (Other than maybe aslay), but they have two major shortcomings :
  1. If a muted player left the server, the mute disappeared, which lets people punishment evade
  2. You have to manually unmute players. In a hectic lobby, staff easily forget to unmute people.
To fix this problem, I made an addon called Persistent Gags and Mutes (Timed Mutes and Gags is catchier), which added new features to the mute and gag commands:
  • Instead of storing the mute flag as a network variable, it's stored in the pdata table in sv.db, a basic key/value store that works per play and can be worked with in gmod lua easily. This lets us check the mute flag even after the player has reconnected, so we can stop that pesky mute evading.
  • Instead of storing the mute flag as a simple "yes/no", we store it as a counter in minutes. Every minute, anyone with a mute counter added has their counter reduced by one, until it reaches zero, where it's cleared and they can talk again. This lets us mute someone for a certain number of minutes.
These are pretty simple fixes, but because of a lack of skill to fix them, this addon has some limitations:
  • Accuracy of the mute counter is only +-1 minute. Because the counter only ticks down every minute since server start, instead of on command execution, you might end up muting someone for 1 minute and them being unmuted instantly, or being unmuted in 2 minutes.
  • Users don't know if they're muted or not outside of the command echo that told them. If they connect to the server 6 months from now and try to talk with an active gag, they won't know if they are still gagged.
  • The counter only ticks down while a player is connected. This is fine for short 5-25 minute mutes, but it doesn't scale up, so if you wanted to mute someone for 12 hours, they would actually have to be connected for 12 hours, instead of being unmuted after 12 real life hours have passed.
The last problem to fix is extremely hard, but I've skilled up a bit since my last thread about this in September, and I was one bored weekend away from completely losing my gourd. So, I took the timed mutes and gags we all know and love, ripped it apart, and rebuilt it into a brand new, more advanced addon: Muteban!
It's improvements include:
  • SQLite operation. While timed mutes and gags did use SQLite in the form of the pdata table, queries would be slow due to the sheer volume of data in this one table on dinks. Muteban introduces two separate tables for mutes and gags, which improves performance and manageability. Indices are used to keep the load off of the DB engine when performing lookups.
  • Better ban logic. Timed mutes and gags uses a simple timer for all of its heavy lifting in checking mutes, which worked somewhat, but had the previously mentioned accuracy and counting problems. Mutebans improves upon it by storing a timestamp of when a muteban was issued and comparing it against the ban length, which allows the addon to unmuteban someone down to the second of when they are supposed to, regardless of whether or not the player is connected. This lets staff issue mutes that can last years of real life time, and have the math still add up at the end.
  • Clientside code that tells you when you're muted or gagged. Permamute and permagag has it, now my tool does too.
  • SteamID search tool to check if a player is muted, how long they are muted for, the admin that muted them, and the reason. (Doesn't track mute history)
  • Ability to mute and unmute steamids.

[Image: unknown.png]
[Image: unknown.png][Image: unknown.png]
This program took a lot of love, it's the longest and most complicated addon I've ever written. Persistent Gags and Mutes, and now Muteban, was made out of a need. Gag/mute evasion has grown to a major issue in gmod server moderation over the past 5 years, it completely undermines the ability for lower ranking members of the staff team to take any kind of action against annoying players. Hopefully this fixes that problem.

Currently the addon is functional but is missing some features and fixes, I will reply with a link once it's completely ready to go, hopefully by tomorrow.
Bugs:
  • If for whatever reason muteban commands are called from the server console or by another addon, the admin nickname will appear in the database as the last admin to run the command on the server. - fixed, epic fail
  • If you are muted and type a command or talk in adminchat, you are still alerted that you are muted. This is an issue in permamute also, I don't know if it's fixable. - Half fixed, probably not possible to fully fix. Commands with silent echo like asay don't warn you anymore, but ones with a global echo still do
  • Permamutes don't work - Fixed
  • Mutebanid admin echo does not have mute reason
  • Main bancheck function isn't very efficient - Reduced to two queries per player instead of six
  • Users of lower ranks like trusted, even though their command filters can be set to only mute for a certain duration, can override a mute of any length down to a shorter length, e.g. you can take a 6 month mute set by an admin down to a 30 minute mute. - Fixed, staff members cannot override mutes set for a longer duration than their rank would let them set themselves.
Missing features:
  • Can't mute/unmute multiple people at once
  • Steamid search tool only pulls a yes/no answer - Now pulls username, date of mute, duration left on mute, admin, and admin steamid
  • Periodic database cleanup - Works perfectly, by default runs every 15 minutes, very efficient
Haters will say it's fake
*mic drop*
thank you server admins and moderators for believing in the original addon, even though it didn't get added. If I didn't get any positive feedback for the original then I would have never made this one. <3
#2
You work so much for this place russ lol. Many thanks dude. Hopefully this will get added someday.
#3
literally just add it and give this dude donor+ considering how he consistently puts effort into making products that usually go to waste on dink, and does so free of charge (plus he was ph admin or sumn)

+1
#4
(01-22-2022, 09:50 PM)HONG Wrote: literally just add it and give this dude donor+ considering how he consistently puts effort into making products that usually go to waste on dink, and does so free of charge (plus he was ph admin or sumn)

+1

if I get donor+ I will agree to stop bullying the prophunt admins
#5
I fully agree to this.  Also I think mute, gag, kick should be more limited to donors. To were it would make us still having the power to stop any pesky trolled but not enough power(i.e. only be limjted to 1 full round gag which should be around 4 minutes)

Kick should not be a thing for donor, only staff. A command were AFK players will be automatically kicked in a certain amount of time(let's say around minutes AFK or more)

Also a client side mute if possible could be good

Basically I'm saying to limit the power donors have to the very minimum

But back to topic, yes timed gags and mutes should be a thing, not because it would be funny to have some random troller think that leaving and comming back would remove the mute and/or gag, but this way they would actually have to sit down through this time and think about what they are doing with their lifes
#6
I love the work you've done and want it on the server asap.

Unfortunately, I probably have a better chance of becoming TTT Co-Owner than this getting added :(.
#7
Yes please, also wasn't russ admin? So he should have d+ anyways
#8
(01-22-2022, 10:34 PM)Foxka Wrote: Yes please, also wasn't russ admin? So he should have d+ anyways
Community ban kinda puts a kink in that tbh

Matt_St3 / Strongrule / Spartan001295
Forum Admin - Resigned TTT Admin
~~~~~~~~~~~~~~~~~~~~~~~~
[00:04] matt_st3 (Strongrule) [traitor] has damaged Taliban Tom [detective] for 4.9999999349555e+14 HP with an unknown weapon
#9
(01-23-2022, 12:06 AM)matt_st3 (Strongrule) Wrote:
(01-22-2022, 10:34 PM)Foxka Wrote: Yes please, also wasn't russ admin? So he should have d+ anyways
Community ban kinda puts a kink in that tbh
I mean ted got it didn't he
#10
(01-23-2022, 12:28 AM)RussEfarmer Wrote:
(01-23-2022, 12:06 AM)matt_st3 (Strongrule) Wrote:
(01-22-2022, 10:34 PM)Foxka Wrote: Yes please, also wasn't russ admin? So he should have d+ anyways
Community ban kinda puts a kink in that tbh
I mean ted got it didn't he
as did lycan


Forum Jump:


Users browsing this thread: 1 Guest(s)

About Us
    This is Dinkleberg's GMod, a gaming community based in Garry's Mod. We have a Trouble in Terrorist Town, Prop Hunt, Murder, and Deathrun Server. Come check them out sometime.