MuteManager
About MuteManager
A plugin that provides a way to mute players for a specific amount of time. This plugin will connect to Mojang servers for UUID lookups.
How to install
Just drop the jar file in your plugins directory and restart your server. Configure permissions.
Permissions
- mutemanager.mute - Allows players to use /mute (Default: op)
- mutemanager.unmute - Allows players to use /unmute (Default: op)
- mutemanager.mutelist- Allows players to use /mutelist (Default: op)
- mutemanager.listen - Allows players to optionally hear muted players. (Default: false)
- mutemanager.mutenotify - Receives notifications when a player is muted. (Default: op)
- mutemanager.unmutenotify - Receives notifications when a player is unmuted. (Default: op)
- mutemanager.reload - Allows players to use /mutereload. (Default: op)
- mutemanager.muteexempt - Players with this are exempt from being muted. (Default: false)
Configuration
See config.yml
Commands
Hint: Use * instead of player name to mute or unmute all players. Hint: To mute a person for 5 days you would do this: /mute player 5d reason
- /mute [player|*] ([time(mhd)|perm]) ([reason])
- /unmute [player|*]
- /mutelist
- /mutereload
Source
See github.
Dev Builds
See Jenkins.
@laseromich
It's really a bizarre bug. Please paste you startup log to paste bin. What version of Java are you running? What OS?
@cnaude: Payers temp add to mutelist (1-3 sec) but than automatically remove from it
@cnaude: Players temporilay (3-4 secs ) add to mutelist but than remove
@cnaude
Same problems with AngellitoX yes i have EssentialsChat
@cnaude
Correct me if I am mistaken, but ONE of the ways to achieve an exception would be if your onAsyncPlayerChat(...) method calls plugin.unMutePlayer(...) while your TimerTask is iterating over the keyset.
EDIT: Nevermind, seems it is safe, but you need to be careful not to let that call ever occur. At this point in time it shouldn't happen. Sorry.
EDIT 2: Unless of course you mute a player while the timer task is executing?
@Snyper20
I have never seen any concurrent modification exceptions from this. In what way is this not thread safe?
Edit: I had a look at the loop code. It's actually very simple. It loops through the list of muted players. If it finds a muted player that no longer needs to be muted it adds that player's name to a list. After it's done checking the mute list it loops through the new list and unmutes each player. It doesn't make any changes to Bukkit objects in the thread. Nor is it modifiying the main mute list while in the loop. I think that is very safe.
Umm... it does not seem that you're accounting for thread safety in this plugin. Can you elaborate on how this is thread safe? I don't want exceptions from concurrent modifications.
@cnaude
Sure! Here it is: http://pastie.org/7975097
@AngellitoX
Can I see your start up log?
@cnaude
I checked, when I mute someone, it doesn't put the name in the mute list. And in console there are no errors :c
@AngellitoX
When you use the mute command does it put the player's name in the mute list? Does /mutelist show the players as being muted? Are there errors in the log?
Tested with version v0.12.3 and it still doesn't work :(
Greetings! :D
@AngellitoX
I'll get a fix out for that issue.
I have the same problem as howy7214 :(
@cnaude
I send you a error in the ticket an I had essentials chat with your plugin at V0.12.0 an it was fine. Its coding looks to me need to be fix but I have no idea how to do plugins.
@howy7214
Can you try MuteManager with EssentialsChat disabled?
@cnaude
Plugins list: AutoMessage,Essentials,EssentialsChat,EssentialsProtect,EssentialsSpawn,Lockette,MobArena,Modifyworld,NoCheatPlus,Orebfuscator,PermissionsEx,Register1.5, TheCleaner,Vault,Votifier,WeatherSync,WorldBorder,WorldEdit,WorldGuard,iBlock,iConomy, logblockdev
Minecraft build: Minecraft Bukkit Dev / Beta ( 1.5.2-R0.2, #2774 )
This was on the config on plugin list but your plugin is not on the list? But its on the server an it works but people can chat when muted.
@howy7214
What is your CraftBukkit version and plugin list?
I mute people an they still can talk on chat everyone can see it please help me
Thank you
13:34:37 [INFO] yo issued server command: /mute yo -1 as 13:34:37 [INFO] yo is now muted! Duration: -60.00 seconds. Reason: as
Pretty sure negative values should be unacceptable. ;)