KarmicJail
KarmicJail
Development builds of this project can be acquired at the provided continuous integration server. These builds have not been approved by the BukkitDev staff. Use them at your own risk.
About
This plugin is a fork of imjake9's SimpleJail plugin. It was made because our server needed a new Jail system to replace the defective one that was implemented in the past. While other jail systems were simple and lightweight, they were not nearly as featured as we were used to or wouldn't support our scope. For instance, at the time we had about 190 old entries of jailed players in a MySQL database and we wanted to transfer those over to whatever new system we woud use. Thus, KarmicJail was made, for Mine-RP.
Features
- Simple, single jail system.
- Uses MySQL / SQLite database for storage.
- Look up and page through current jail records.
- Complete history of every jailed player.
- Records each instance a player gets jailed, with all attached info, such as who jailed them, the reason, date, etc.
- Can add custom comments to any player's record.
- Optional permission group modification
- Optional jailed player event / interaction denial
- Persistent jail time. Players need to be online to actually serve their time in jail.
- Quick alias to commands
- Name auto-complete for online players.
- Auto-correct name capitalization for online and offline players, so long as they have visited the server at least once.
- Ex/ Try to jail player "HaXXoR", the following command would work: /j haxxor
- Offline player support.
- Optional inventory management of jailed players.
- Clear the jailed player's inventory so that they don't have access to it in jail.
- View and modify the inventory of a jailed player.
- Return inventory (with modifications if any) to jailed player on release (or not :P).
- Jail multiple people in one command.
- Teleport to the last known location of any player to ever visit the server.
- Warp players to the jail location without "jailing" them.
- Custom jail event for other plugins.
This plugin depends on Vault.
Also requires SQLibrary for SQLite and MySQL.
Commands and Permissions
Configuration
Custom events for plugin developers
TODO:
- ??? - Vote/comment and shape what the future update for the plugin should be.
Maven
This plugin supports Maven. Just add our repository:
<repository> <id>dakani</id> <name>Dakani Nexus Repo</name> <url>http://repo.dakanilabs.com/content/repositories/public</url> </repository>
And add KarmicJail as a dependency:
<dependency> <groupId>com.mitsugaru</groupId> <artifactId>KarmicJail</artifactId> <version>0.443</version> </dependency>
Trello Dev board
Visit the Trello board to see the current todo list for all projects.
You can comment and vote on any of the topics there.
All changes on the Trello board are in real-time.
If this plugin has helped you, please consider donating.
@BONNe1704
Thanks for pointing it out.
@watarimon
I'll update at some point so that you can white list commands that they can use. For now, its an all or nothing deal. :/
@BONNe1704
Thanks, hadn't looked in the config after upgrading
@watarimon
deny: commands: If true, jailed players cannot use commands (Default: true)
After upgrading to 0.432 jailed players can't use /jailstatus
"[KarmicJail] You cannot do that while jailed."
I've given the jailed group permission to KarmicJail.status
any ideas?
@thealmightypsycho
As a temporary fix, you can open the .jar file and edit the plugin.yml directly to remove the /j command.
And at some point, I'll be implementing a single root command... However, it appears the majority of votes want multiple jails, so, gotta work on that.
@Mitsugaru
An option to hide that output would be good. Everything seems to work fine. Also can you make the alias configurable? I already have something that uses /j atm and don't really need this as a shortcut for jail.
@thealmightypsycho
Well, I honestly don't know what I can do for that... If Vault cannot remove the group, then there isn't much I can do about it... hence why I log a warning just so that you're aware.
If its any consolation, I could make it an option to hide those warnings... but I'm not positive that I can "fix" it to remove the groups. Which may be a good thing, because if I can't remove the group then there isn't much assurance that it would be re-added back.
I use GroupManager and have global groups setup for the ranks. when someone gets jailed or unjailed the console is spammed with [WARNING][KarmicJail] Could not remove group 'g:default' of world 'world' from 'player'... Permissions error.
Edit: Its doing it for all inherit groups not just global.
@brewno2k
Submitted v0.432 with a new permission node to exempt players / groups from being jailed, as requested: KarmicJail.exempt
If its not readily available on the project page, you can grab it from the GitHub downloads page as well: https://github.com/Mitsugaru/KarmicJail/downloads
Is there a permission like Karmicjail.cantbejailed so the person with it cannot be jailed? I can't seem to find it...
@Mitsugaru
Will try again in a bit, if I find out it's some sort of caching going on with comcast.. I'm about to go blow up on them. ;)
Yep, got .431 from bukkit with no issue. Went ahead and took that route and it's up and going.. will report back if we have any issues. Thanks again champ.
@Gikon
Well, just to make sure I didn't make a mistake, I downloaded it from the page as well. I opened the plugin.yml in the jar. It shows the correct version there...
I can try and re-up it then... not sure why you're not getting the newer version...
Re-upped on the download page again.
It should definitely show the correct version when you load it up... So, you are still loading the older version for some odd reason. Not sure how this mix up is happening... But hopefully the one you get now from the downloads page should be correct.
@Mitsugaru
I downloaded it from github.. will try again. Still says version: '0.43' in the config.. maybe I goofed? lol
EDIT: I downloaded it from github again, and upon launching.
17:23:58 [INFO] [KarmicJail] Enabling KarmicJail v0.43
Did the version get updated with the new update? Not sure if I'm getting the new one or not from https:github.com/Mitsugaru/KarmicJail/downloads. Says .431 there.
@Gikon
You sure that that's v0.431? I'm really confused as line 27 isn't the same line as before... its only a "try" now. Not to mention, that entire method is supposed to catch that NPE now...
Line 27: https://github.com/Mitsugaru/KarmicJail/blob/master/KarmicJail/src/com/mitsugaru/karmicjail/events/InventoryListener.java
Used to be the following:
But now it is simply a try-catch for the very same exception you are getting. If anything, it should ignore it, not throw what you're getting.
@Mitsugaru
Fantastic, loaded it up. Will let you know how it goes mate. :)
No issues until I jailed someone, then we're back to this.
Only thing I have running that controls inventory in anyway is Multiverse-Inventories. I however disabled it for the day and am waiting to see how it goes with MVI not running.
Thanks again for the plugin, and the amazingly fast responses!
@Gikon
Seems like someone (a different plugin, most likley) is doing inventory weirdly and not putting a holder / returning null. So, I've put NPE checks for those cases.
@dabomb665m
Sorry, forgot about chat. Older versions were hitting the database either once or twice. One to check if they were a jailed player, and if so a second to see if they were muted. I've edited to check against the cache first and then only check the database if they're in the cache.
So, I've submitted version 0.431 with the above changes. If its not readily available on the project page, you can grab it from GitHub: https://github.com/Mitsugaru/KarmicJail/downloads
Let me know how it goes.
@Mitsugaru
So, left it running over night, had no issues yesterday I was aware of. Get up this morning to it scrolling this in the console and the server completely dead in the water.
<<reply 694354="">>
Reporting back on the performance... it looks like the original bukkit event that triggered the spike is no longer happening. However, every so often I'll get a chat event spike from Karmic Jail now... up in the 43ms ballpark now.
Same listener class, coming from PlayerChatEvent[LOWEST] 45.2.ms. The spike is doesn't seem to have a pattern as far as I can tell from the information I have.
@Mitsugaru
No worries, can be one of the consequences of being jailed as far as I'm concerned. ;)
Let me know if you need any testing done, we'll be happy to help out. We're about start in on karmiconomy now. :D
@Gikon
Side effect... although, I had thought that I had simply ignored it... but I guess I didn't :\