FC_Bans
FC_Bans is the ultimate system for organized server moderation. This plugin allows you to perform all normal moderation commands such as, ban, mute, kick, and freeze. However, this plugin ties those mod commands into a system of warnings that keeps a history of key information about each punishment dealt to players. This creates a system of punishment records that staff can tap into to effectively resolve any player behavior situation.
This plugin also has a few features that it comes with included into its normal moderation commands. Muted players can’t place signs, you can toggle whether or not to announce global announcements for punishments through a command, all punishing commands can have reasons added for recording history, players are informed as to when their punishments end, players can be given immunity, and all commands have full permission nodes so that you can define exactly what people can and can’t do.
To get started using the plugin, visit this link: FC_Suite_Shared
For information on making tickets or contact information, please visit: Click Me
@Destro168
Awesome, I'll try it out here tonight most likely. The name matcher is a nice addition, I'll give that a test too =D
Pushed my update out. bobbysmithyy please make a ticket
edit: Updated 0.6 again to fix global announcements which weren't working at all.
edit 2: Just was browsing through the bukkit api. UGH, they ALREADY have a match player feature. I didn't need to code it, rofl. Oh well, it's np, only took like 1 minute to make. .7 will use Bukkit's native code, will optimize a bit not duplicating code in that way.
@bobbysmithyy
Do you have vault installed? The plugin requires vault to hook into the permissions I believe.
Permissions don't seem to be working, I have tried everything. Using bPerms.
@Destro168
I definitely wouldn't mind the suite at all if it just contained the different jars. I just wouldn't want the whole thing to be one jar if I didn't plan on using most of the features. And as I said, I am interested to see more about FC_RPG and might even end up using it.
I'm going to keep them seperate. I wanted to put them kind of together in a package like how Essentials does. You have to look at the pros:
1 project to track. Right now I track three and have to check 6 links (comments / tickets page per mod). If I add in a fourth one, that's 8 pages to have to track.
The only real con is that people have to download mods that they probably wouldn't want. The size isn't a problem but I don't want to force that on people so I'll just keep them split.
And peman if you don't want to use it, that's fine. There would be no reason you would have to. However, I'm sure there are a lot of people that would love having a ton of very specific server management abilities that are currently unavailable from any publicly released mod. The RPG could be disabled if you relay wanted, there are a ton of other random features in it. Of course the RPG is the highlight but there is a lot more with it.
@Destro168
Take your time and only implement features you want to = )
As for FC_Suite I am mixed, I only currently use FC_bans, but will probably be picking up announcer (I don't have an announcement plugin yet at all). But I don't plan on implementing a bounty plugin, at least at the moment. I would love to see more about FC_Rpg though. I have been hesitant to invest the effort into an RPG plugin and am not entirely sure I even want one yet. Anyways, thanks for the update and just have fun with your plugins.
Thank you peman3232 for all the feedback.
I have been thinking of ways to do data storage and there are better ways I could have gone about doing it, I will admit this. This is why the plugin is in beta though. I really hate using beta, but in all honesty, having to wipe out configuration files with bans/warns/mutes is the only reason I put it into beta. Hopefully I can make a conversion from .53's storage to a new way but if it doesn't work I might have to require ban deletion again, which would suck. I will definitely be trying to NOT have that happen and it's just a small chance that it would happen.
I know that once release hits I don't want people having to every worry about losing past bans/warnings/mutes. I really need to update all 3 of my plugins and I just have so much to do on all of them, combined with working on FC_RPG it's really really time consuming. I know I talk about FC_RPG all the time, and it's not publicly available, but I am using it on my server currently (just released today) and we get a nice amount of players and players seem to love it. I really want to get it to a point where I can add it to bukkit dev but it has so many features that I might have to go with just having a configuration file with 100+ settings.
Once FC_RPG gets more situated, I'm going to be resuming work on FC_Announcer, FC_Bans, and FC_Bounties again full time. I just need to work FC_RPG out all the way first, then I can go back to fixing the other ones up. I will definitely be implementing some innovative new solutions for data storage and compression in the future. For now, it just has to be kind of beta-ish. I am considering merging all of my plugins into a single package titled FC_Suite and just handling updates like that. There will be a lot of APIs between the plugins that allow them to interact. Like maybe if you create a bounty on somebody it will create a global announcement for certain groups of players. Then if you ban somebody important for some major reason, like staff promotion or really just anything, you can have global announcements automatically triggered.
I know this post is long-winded, I really should delete it but I'm going to just keep it up. Haha, nobody seems too much of in a rush for the updates and the plugin versions I have uploaded all work fine currently. I'm doing lots of work, coding almost 10+ hours a day for about a month now gets tiring .
I had another idea! It would be nice to check all warnings done by a staff member. I don't know if that is reasonable since the warnings are stored by the player that got warned it might not be resource friendly to check every single warning for the person who issued them. And if I really suspected them it would be easy enough to check the yml file. But if it would be easy to implement and easy for the server to run it would be nice.
Something like /check [mod/player] <player>
If you add mod (or a better keyword if you can think of one) before the player name it looks for warnings done by them instead of on them.
Additionally with freezes on warnings, I think it should have a separate permission (if the idea ends up being resource friendly). Just like FC_bans.warn.freeze or something. The idea being that players that have been on the server for a long time but aren't mod material could possibly be given access to the /warn command to inform new players if they are breaking a rule without giving them the power to interrupt anyone's game play. So mods would get the freeze permission but the non-mods wouldn't.
I hope you like my suggestions. I'll add again that even without them this plugin is already so much better than all the other ban/kick/mute alternatives out there. Love it so much!!
(oh and a small typo in your main post, you have the permission listed as FC_Bans.war.check instead of warn.check)
@Destro168
That's good to hear! I won't worry about it then. I have plenty of ram and don't expect to be hitting 10,000 a month anyway.
I don't know how well performance will be when you get to 10,000.
I can create an option to delete player records if they are permanently banned. This wouldn't be a problem and would compress files nicely.
I wanted to include the decay option for warns simply because of this issue, as you said, 10,000 is a lot.
Technically, if performance is a big issue for you, and things get really laggy at the high end, you could just delete all players that come early in the file, this would free up a lot of space. If you are warning 10,000 people a month, then your server is godlike, lol and you will have to do maintanence more frequently . But if you are warning 100 people a day, for 30 days, that's only 3,000 a month. And 10,000 wouldn't have any performance impact. Performance really only starts getting important at about 100k I believe, and that's with a slow server. A server with 8 gbs of ram would easily handle 1m records I believe.
@Destro168
I hope it works out nicely.
I had another question about performance. I was wondering how the performance would manage once you have lots of players (talking thousands) with warns and kicks and bans (bringing the total 'warns' to over 10,000 potentially). Would it run slowly with so many things in 1 file? Or do you think it should be ok? I don't know a lot about performance I just wanted to check. I should note that I don't actually expect myself to end up with that many, at least not anytime in the near future, but I know servers do get that many eventually.
That's actually a very good way to do it peman! Teleporting them back every .1 seconds would work pretty well, servers can handle that pretty easily. I think I'll try that out. Thanks :P
@Destro168
With regards to freezing I assume its the move-checks that are not server friendly? Block breaks etc work fine? Why not just spam teleport the player back to the exact same spot every .5 - 1 seconds or something? It's not as clean but I imagine it's more server friendly as they will only get a few blocks at most in that time. Just a silly idea =D I don't know much about the bukit api and what works I'm affraid.
More awesome feedback, thanks! Rather than saying "will be done on everything" I'll just give you my assurance that all the bugs you listed will be fixed in the next upcoming version. :)
The different warning levels will only change the color of a players total warning level when you check their past warnings. All it does is give a color indication. I'll add that to the first post. Maybe I will make the colors configurable. Warn level and colors just help you see how naughty a player has been by giving you a total that you can look at and say "Dude, this guy has a warn level of 100 and isn't banned? TIME TO BAN". That's all it does though, the whole warn system is based around giving you the tools to properly moderate, but it doesn't moderate. :D
"Long ban reasons can get cut off (for the player when they get banned). I dont know if it's possible, but maybe have the reasons on a 2nd line on the ban screen - additionally, perhaps show the reasons to the player when they try to log in again. (The time alone is awesome, so if that isn't feasible it's still awesome)"
Sadly the 2nd line thing is impossible. Hopefully clientside it gets fixed. I considered adding a reason to the rejoin message but I actually didn't add it because the line is already too long and cuts off. It's definitely possible, just makes the cutoff larger.
"Those are the only bugs/suggestions I have found, otherwise I am absolutely loving this plugin!! (easy logs of staff who are kick happy!)"
Haha, glad to hear it. . I will keep working to improve everything. :)
"The new /check command is nice, very easy to check all past actions against the player.
Keep up the awesome work! "
Thank you sir!
edit1: I went ahead and fixed all the bugs. Very nice finds btw. :) Mute/ban remove commands didn't have any feedback. The "Warning, muted" message you were seeing is the auto-reply to a person who tries to chat a muted player. I added an exemption so that it won't be seen though whenever you are using /mute remove specifically.
@Destro168
Ah I wasn't aware that freezing could be bad for the server like that. I understand why you haven't done it now. It's not that important anyways. I noticed in the config settings for low, medium, high, and extreme warning levels, does anything happen when a player reaches those?
A few bugs I have found so far. /check - the mute will Not Muted when the player is permanently muted (works correctly on temp mutes). Should say "Never" for perm. mutes. - the same thing as above applies to permanent bans
When removing a mute it says "Warning! <player> is muted." This doesn't make much sense, it should say something like "<player> is no longer muted."
No message at all is given when removing a ban. Should be similar to un-muting.
Kicking a player does not show them the kick reason, only that they got kicked.
Long ban reasons can get cut off (for the player when they get banned). I dont know if it's possible, but maybe have the reasons on a 2nd line on the ban screen - additionally, perhaps show the reasons to the player when they try to log in again. (The time alone is awesome, so if that isn't feasible it's still awesome)
Those are the only bugs/suggestions I have found, otherwise I am absolutely loving this plugin!! (easy logs of staff who are kick happy!)
The new /check command is nice, very easy to check all past actions against the player.
Keep up the awesome work!
My problem with adding freeze is that generally it is not very optimized right now. I did research on it and it's just not good for server performance to cancel every move check.
I have seen a few methods that make it less resource intensive, which I will test for performance impact, but at the moment freeze is out the window until I can really test it out just because it doesn't seem like a safe thing to code atm. I do want to eventually add it, but I just can't right now.
edit: Finished up 0.5, pretty solid update imo. Enjoy :D
edit2: Updated to 0.51, small error message was being displayed. (Ips on logon). Fixed now
edi3: Trying to just edit my post rather than make 4-5 posts in a row from now on, lol. There are a few issues with the "anti-multi account" feature. The problem is that it works... too good. In fact, if you log onto a server with the anti-multi account enabled, and you have a different ip than before, you will be banned. I had a player on my server get perma-banned from it lol. The good news is I have devised a better algorithm that will actually use up 1 less line of config space and will prevent multi-accounting more effectively. Basically anytime somebody logs on their ip gets stored as well as the name associated with that ip. If ever somebody tries to log onto the ip with a different name, the plugin kicks in and will kick them. In all honesty I don't even know how I was doing it before, it was so confusing.... lol. Well this new way is much more simple and works a lot better. I will put up the update when I get more testing on it but for now I'd recommend disabling the multi-account feature, unless you want super strict anti-different ip mechanics in action. I mean technically it's more secure... but I just feel it's a tad "too" secure.
@Destro168
Awesome! I had another idea that is less important. I was thinking that /warn could freeze the player for a either configurable amount of time or alternatively until they type something like /acknowledge. As I said, this is less important, but I think it would be something nice to have eventually.
@peman3232
First and foremost, thank you for the very solid feedback. Your suggestions are epic imo and will change the plugin greatly. Thanks again!
- Store the name of the person who does the warning/kick/ban/mute. - Will be done. - When a player has no bans have it say that instead of will be unbanned in 1969 or whatever year it is currently. - Will be done. - Add some sort of check all command, to check if someone is banned or muted and see their warnings. - Will be done, I'll add the command /check [name]. What do you think of that? If you can think of a better name please share.
- And then I have a question as well. Is there a way to make a perma-ban? In the yml there's the line "is perma-banned" but I don't know how to perma ban someone in game. Yes you can ban a person, just put down "perm" down for the duration for any of the punishments. It can be "perm, perma, permanent, permafrost", it just checks for perm in the duration. I will improve clarity on this.
I've decided that I'm not going to add jailing to the next version as well. I need to work on a few other features, like an anti-multiaccounting option, the aforementioned configurable warning options, and potentially warning decay (warnings levels would get set to 0 after a period of time).
@Destro168
Ok I went ahead and tried it. So far it is really nice. It could use a few changes (In my opinion) that would just make it cleaner and better.
- Store the name of the person who does the warning/kick/ban/mute. - When a player has no bans have it say that instead of will be unbanned in 1969 or whatever year it is currently. - Add some sort of check all command, to check if someone is banned or muted and see their warnings.
And then I have a question as well. Is there a way to make a perma-ban? In the yml there's the line "is perma-banned" but I don't know how to perma ban someone in game.