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
Thanks :P
edit; Nope, videos are out the window for a while, forget what I said, lolololol
I've got some really innovative ideas coming in the next version. I can't say what they are, but I think they will be pretty exciting! :D
edit 2: Also not adding a command list, at least atm. May consider later. Have to do a few things.
Can you post a list of all the commands on here. This plugin looks really nice though, I like the warning system!
Uploaded 0.41 which fixes a few issues.
I have uploaded 0.4 to the website. It features some good bug fixes. All of the changelog information will be up whenever the jar is approved. If you want to rush and get it before it's approved, you can use:
Link Removed: http://www.mediafire.com/?na7664hzl76y27u .
That version is 0.3 + 0.4 (the same one I updated here).
The next version I think I'm going to work on the customizable warning level system where you can set how much warnings/bans give and some pretty nice specific configurable options. For now though the warning levels are static and not configurable.
I'm off to bed, *yawn*.
morning edit: I found one small bug in this version. It's not big, so I won't put a new version up. But when you try to delete a warning, you HAVE to subtract by 1. I forgot to manage the difference between configs and user input, which is one, so using /warn delete [name] [number - 1] is what you have to do in the meantime. morning edit 2: fixed in new version.
I removed the plugin cause even the new version has some bugs that I might as well fix since it hasn't been approved yet :S
I'm going to just add the new features and release 0.4 instead of 0.3....
"That gives me another thought. What about a command which can mute and freeze them at the same time like /freeze mute someone some reason OR /mute freeze someone for some reason."
This is an interesting proposal and I actually kind of want to do this just for the challenge of it. I was typing up how I would do it then I realized a major problem though, :P. You wouldn't be able to use "freeze" "mute" "ban" "warn" or "kick" in any command involving them as a reason, just because the parser would have to be able to pick up those key words at any position in the command string. Of course, I can limit the detection to the number of key words but if I add jail per say, then you wouldn't be able to use jail unless it was the 7th argument. Or I could make it so that you just would have to use /mute *jail *freeze, the brackets would make it much more easily parsable. I will consider this now, seems good. Would make my code more modular, which I have been wanting to do even more now. I'm all about code efficiency, I try to make my mods as low impact and efficient as possible.
I'll look into fancy command parsing, I think it would be a fun challenge more than anything. Plus I can put check and remove as the sub-commands for everything. and a bunch of other commands Basically commands would lose any sense of order and would become heavily mix and match. Fun stuff :P.
"I will just add one last thing, what about for muting to have a command white-list so players who are muted cant use any commands at all unless they are added to the white-list. This mixed with freeze would basically be similar to jail anyway."
For this, I would want to just do a /mute all [name] [duraton] [reasons], which would work pretty well imo. Jails should only teleport people to jails, and that's all imo.
I will make the alias /unfreeze. That is np.
I might be able to get the next version out before the latest gets approved, lolololol.
@Destro168
Oh cool, that is sounding very good. =) My things were just thoughts and suggestions I figured I may as well mention. I don't really need any of them but maybe the freeze command. I thought that might be useful the other day when some kid was thinking he was helping out but really he was griefing. I could have just jailed him but then he wouldn't have permission to talk. He ended up getting banned eventually anyway.
That gives me another thought. What about a command which can mute and freeze them at the same time like /freeze mute someone some reason OR /mute freeze someone for some reason
Then you could also mix warn with kick and hopefully it already kicks and bans them.
I will just add one last thing, what about for muting to have a command white-list so players who are muted cant use any commands at all unless they are added to the white-list. This mixed with freeze would basically be similar to jail anyway.
Keep up the awesome work!!!
Edit: Oh I forgot to ask, can /freeze remove also have an alias /unfreeze by any chance?
@ryvix
Actually I put down that you can give suggestions again in 0.3's changelog, it's just not approved yet. I thought it would be approved a bit sooner, It's been about 7 hours, but that's np, the bukkit dev staff are very busy people I can understand that it's not approved yet. I am fine with suggestions. You actually didn't hit many of the things I added, haha.
- I actually do think that the immunity permissions backwards as you propose makes a lot of sense. Maybe you want a player to not be banned or kicked but can still be muted, say a donator can only be banned by ops? Well now you would be able to bypass that. The only issue with this imo, is that you create a critical security hole where ops can ban ops, which wouldn't be good. :S. Meh I'll just stick without it.
- I have no experience with... well. I have very limited experience with actually using databases. I had a databases course about 1/2 a year ago so I don't doubt that I can do it, also I know the bukkit section has some tidbits on it. I'll consider this but it's not going to be high on my priority list just because it is a new area for me to learn and implement. The other thing is that I don't have MySQL currently installed so I would have to go through trying to install which could present an entirely different set of problems that I don't really want to go into, :\.
- I will consider adding /jail create + jail [name] [jailename] + /jail remove [name] + /jail delete [name]. remove for players and delete for the actual jail.
- A freeze command is actually something I personally want very much. I will put this in the next version for sure. It's very easy to implement a freeze function so this will be in 100%. I will have /freeze [name] and /freeze remove [name].
- What you describe as out of scope of this plugin is actually imo out of scope of this plugin, xD. There are a lots of very nice petition plugins that already exist on the bukkit dev forums and what you describe kind of sounds like a petition plugin, just different. I personally really enjoy the specifically named PetitionPlugin. You don't get the 'automagical' feeling out of using '/pe verify [ticketnumber]' which would then automatically give out the warning to the player, BUT, you are able to 'pe close [ticketnumber]' and then just subsequently give a warning.
That is one of the major beauties of this plugin imo. Even if I don't create a jail command, you can still always jail a person and then give them a warning through this plugin. Same goes for petitions. I don't have to tie it into petitions, but you can have one on the side for reporting and then just deal out the warnings manually. I will also have configurable global warning settings and warning levels in the next version. There will be a whole suit of commands under /warn alter [reason,time,date,type,level] in the next version as well.
@Destro168
Sounds like it's coming along nicely =)
That makes sense about the permission nodes. I was thinking the other way around though but it doesn't really matter to me.
I noticed you said not to give suggestions but I had some other thoughts just now and figured I may as well toss them out there anyway and if you add them eventually or not is perfectly fine with me.
What if there was some sort of way to view all the info from a website. For example, if it could save everything, such as reasons and warning info, etc. to a MySQL database then it would be possible to connect to that database from an external web server and be able to view it and possibly even take actions and comment on it somehow. But that might be a little much. It was just a thought and maybe something for the future.
Are you adding a jail command? I use the Jail plugin which is getting updated to a new one but it might be a similar thing to what this plugin does so thought it deserved a mention.
Also what about a freeze command? If they could be frozen in place and not be able to break, place, drop, or move, etc. but still be able to chat and whatnot.
Another idea might be out of the scope of this plugin but maybe you would just want to make another plugin to integrate with this one instead. A sort of help ticket system where players can report issues and you can issue warnings, bans, jail time, etc based on what they are reporting and somehow link them together so you can see the others info from each.
Anyway, those were just some ideas but don't feel pressured to implement them, just thought I would send them and see if it inspires you or helps out in some way.
Thank you! =)
Gah, nope, finished the update today. Had some good streaks of stuff not breaking and working pretty good.
The only thing I couldn't get to work was banning people through bukkit. I will give it another shot later, I am certain I can figure it out. I just didn't want to hold up this entire release for one little thing :)
If I don't get enough suggestions I might be skipping some version numbers and going right up to 1.0 release soon. ^^
ENJOY!
@ryvix, I see you put down a lot of nodes for immunities to separate commands, but I really think that it's kind of unnecessary to break them down. I can't really imagine an instance where you would want a player immune to bans but not to kicks, xD.
But thanks for the feedback, it is very nice nonetheless and probably subliminally effected how I handled permissions in this version.
Got my twitter going, first tweet in over 3 years. Oh man this is funny. At least the twitter will give me the illusion that somebody is reading my tweets. Haha!
https://twitter.com/Destro168
edit: Still working on the plugin. Lots of stuff coming in the next version, so it will be worth the wait. Configs are going to have to be scrapped (sorry) just because I didn't have a very good configuration system in place. Now I have a really solid one so this will be the last one for a while. I wouldn't count on a release today just because I can't get it done fast enough, xD! But rest assured I am working nonstop roughly 13 hours a day on this! I would recommend just not giving any suggestions at this point because there is a pretty good chance it's either A.) already implemented now or B.) on my extremely long todo list.
Hey, I thought of another idea. Whitelisting people so they can't get banned, or muted, etc., such as me and other staff members. Though maybe it could be good to give warnings to them still and if they get a certain amount they can get demoted.
EDIT: Was thinking about this and I think it might be good to have it as permission nodes rather than a command or something.
So for example:
FC_Bans.immune.ban
FC_Bans.immune.mute
FC_Bans.immune.kick
And whatever else...
Thanks for your support dmitchell94!
I am sorry for the fact that it doesn't include a lot of basic commands, namely the unbans it was a mistake on my part. I am very glad that I released this as a beta though! Any aethestic improvements are always welcome as well. If you feel that a message/menu is too cluttered or ugly please give me color recommendations, any and everything can be changed.
I have received a lot of positive feedback in this first day than I expected so I am going to be coding a lot of the upcoming features tonight/tomorrow and doing a lot more work that I was going to put off a bit sooner than later. Thanks for all the positivity! It's very motivating :)
great plugin! starting to use it on my new server now and am more then willing to help test it if you ever need testing!
I actually forgot to add an unban command even, haha. ^^
and your welcome :)
Upcoming Features:
Going to work on this list not today, but in like 2-3 days. I've been getting so many ideas lately that I want a chance to get them all out. Expect this list to only grow.
@Destro168
Haha... Well that sounds pretty awesome then, thank you! I shall look forward to testing it all out when I get a chance.
@ryvix
I will add ipbans in the future, this is something I periodically forget and remember and then forget again. Thank you for the suggestion.
Also I understood what you meant, you were very clear. My uncertainty was based on my ability to do it or not, but then I realized I was me and was like... yeah I got this!
I'll do the same for ipbans as well, where they can be moved back and forth.
@Destro168
Hehe, I have no idea what reputation is on this website even.
To clarify, I was thinking it should save the bans into the banned-players.txt file which Bukkit uses to track bans. So then being able to initially load bans from this file and then save them back to it as well would be useful when switching between plugins or to and from using no plugin to manage bans.
Oh yeah, what about ip bans too? There is also a banned-ips.txt there which could do the same thing.
Thanks!
HI ryvix, thanks for the really awesome comment. :D No wonder you have 16 reputation! (now 17) D:
"Bukkit Bans" - * uh..... sure why not! I can do this... I can do anything!
"replaced, outdated, etc." - WOAH, WOAH, WOAH, NOPE WON'T HAPPEN EVER! Lol, no it might happen but would be a long time before then .
I will offer a way to export bans, sure why not.
The source code is in the jar. Eclipse always exports the source code into compiled jars.
Thanks man :P
@gzEthereal
Ty for the feedback! I hope this develops into something nice eventually. I won't add many more commands, but I want the main power behind the plugin to stay. I feel that what makes this plugin great is it's simplicity and usefulness.
I will be testing it on my server as I go so this will be a fun ride all around. I've only tested the commands on myself thusfar, and everything appeared to work nicely, so here's to hoping! *taps glass in toast*
Interesting. I think I might use this instead! Thank you.