HelpTicket
What is HelpTicket?
Most of the time on server's you will see user's persistently asking for help because someone had griefed or stolen from them. This plugin allows those users to file a ticket that staff can then look at and deal with as they see fit. If a staff member cannot deal with the situation they can assign the ticket to a staff member who can. When you port to a ticket you are not only assigned to the ticket but teleported and the situation is brought up on screen for you to see. Everything is fully customizable and documentation on this can be found here
Features
- MySQL support (through DeityAPI)
- Tickets are assigned a unique ID # which can be used to track the ticket
- Tickets can also be assigned a priority of LOW, MEDIUM, HIGH the default being MEDIUM
- Tickets will be sorted by the priority when viewing all tickets
- Fully customizable language.yml file
- Comment System
- Teleporting to location that ticket is made, viewing the situation just as the person who created the ticket
- Notifications of staff as well as members when ticket is modified
- Offline players will get notified of updates to their tickets when they join
- '/pe' being an alias for '/ticket' for people moving from PetitionPlugin to this
- If my plugin Mail is installed ticket creators will be notified of the status via an in game Mail if they are not online to see the change.
Requirements
Setup
- Place HelpTicket within your plugins folder
- Add permission nodes to users where relevant
- Optional: you can change almost every user message and formatting via the language.yml file I will update the language config wiki soon
Permissions
General Users
For general users you can add the helpticket.general.* or specify below
- helpticket.general.list
- helpticket.general.create
- helpticket.general.info
- helpticket.general.select
- helpticket.general.comment
- helpticket.general.close
Admin users
For admin users you can add the helpticket.admin.* . Or specify below, Note that admins should also have the helpticket.general.* permission as well
- helpticket.admin.tp
- helpticket.admin.assign
- helpticket.admin.priority
- helpticket.admin.purge
How to operate
After your set-up is all complete you are ready to start using it. You can use '/ticket ?' or '/ticket help' in-game to view a list of commands that can be used.
Before you start dealing with tickets you need to select one. To do this you type /ticket select <ticket-id> . After that you can deal with the ticket as you need to
Commands
User Commands
- /ticket list <OPEN/CLOSED> <page-number> - Shows all tickets
- /ticket [select/sel] [ticket-id] - Shows the selected tickets information
- /ticket info <page-number> - Shows the selected tickets information
- /ticket [create/new] [message] - Creates a ticket
- /ticket [comment/cmt] [message] - Comments on the selected ticket
- /ticket close <message> - Closes the selected ticket
Admin Commands
- /ticket [teleport/tp] - Teleports to the selected ticket
- /ticket assign [staff-name] - Assigns the selected ticket
- /ticket [priority/pri] [increase/decrease] - Alters the priority of the selected ticket
- /ticket purge [player-name] - Deletes all the tickets created by the player specified
Console Commands
- /ticket [comment/cmt] [ticket id] [ticket commenter] [message] - Comments on the selected ticket
- /ticket close [ticket id] [ticket commenter] <message> - Closes the selected ticket
- /ticket assign [ticket id] [staff-name] - Assigns the selected ticket
- /ticket [priority/pri] [ticket id] [increase/decrease] - Alters the priority of the selected ticket
- /ticket purge [player-name] - Deletes all the tickets created by the player specified
Extra Links
Source: GitHub
Documentation: Wiki
Player Made Tutorials
@weja93
How many records in the table when it started to consume CPU?
Alright. Thanks for the information.
Lol.
Time to update I guess. We were running smoothly for a long time.
Today HelpTicket started taking 100% CPU., Completely unplayable. I mean old version.
Will try to use the newest HelpTicket and tell if it works!
@deleted_7116233
I can understand why you would say this as the other system was more direct. However that being said, the new system is much more explicit. You may have to select a ticket before doing anything else, however in the old system I found that retyping the ticket id was alot more annoying. Especially if you have to do more then one thing with a ticket. Then if you forget the id you need to go back to the list and search for it again, which was a tedious way of doing things. Also the pages were added into this system because most of the time on the old system the ticket's information would scroll off the page and you would have to (before we had scrolling) install a mod to see the full info. I find it much cleaner this way. Also as i said earlier, The staff not getting notified is something that i neglected to add. It will be back in soon enough as well as some other requested things
@vanZeben
Having to select a ticket gets annoying, having to use pages with an "info" command also gets quite annoying and takes a lot of time. Staff don't get notified when a ticket is created.
I found it soo much easier just having to type "/ticket view <#>", seeing the report, comments etc. all in one page, then commenting and simply closing. I think the new system is far too complicated and in some parts unneeded, like the selecting of tickets.
@deleted_7116233
There aren't many intentional features of the old system that i am specifically not readding. Some of the smaller things i forgot about, and will get readded in. However i think the notifications is on by default? :S if not ill re add it
I might be missing something, but I feel some features have been lost? I found it much easier to operate the last system, and is there a way to enable notifications when a ticket is created?
@FateAverie
The issue was that whenever we wished to release a plugin or a newer version of a plugin, we had to copy files out of our api and paste them in the plugin that we wanted to release and then compile it to make it work with the copied database files and such. With the new version we can compile them against something we already know works. It also helps because of having an open SQL connection for each plugin, there is now a single persisting connection that any plugin that uses this system has access to.
HelpTickets old Db interaction file was taken from DeityAPI directly. Now instead of copying the same efficient system to each plugin, there is a single instance of it running. Also on its own DeityAPI doesn't do anything. It has to listeners, no tasks (other then the "I need an update" task), and nothing else that is actively running. So its not as if its going to be a resource whore. If anything, this cuts down not only the file-size of the plugins, but also on server db interaction, as everything is done in one persisting connection.
why am I forced to get DeityAPI? what was wrong with HelpTicket connecting to an SQL DB all on it's own? it did this all by itself and efficiently to, so why is it I now need to reply on whatever DeityAPI does? wasn't HelpTicket doing fine on it's own? I had no problems with it and neither did the other server admins from various servers that I knew of
All most all possible errors have been forwarded to the authors and fixes are applied in the next release hopefully.
About 8-12 bugs/modifications to be made and some missing commands to be re-add.
Yeah getting the same error.
When creating a ticket it says "helpticket.commands.create.success"
The problem with DeityAPI is solved now, but when I create a Ticket it says: helpticket.commands.create.success
:D
@maino97 You need a newer version of DeityAPI - http://dev.bukkit.org/server-mods/deityapi/files/11-v12-07-25/
@FateAverin Yes Mail and HelpTicket won't work without DeityAPI unless you get the older versions again :D
Heres the link to DeityAPI that works - http://dev.bukkit.org/server-mods/deityapi/files/11-v12-07-25/
Thats .25 but .24 also works
@deleted_6264528
There should be an error message above that as well saying "[WARNING] [DeityAPI] com.imdeity.helpticket.HelpTicketMain attempted to access the data api which is offline (Check startup logs)". Look into why that is happening because that is the root issue here.
@FateAverie
Correct
so HelpTicket no longer works with mySQL unless I get DeityAPI?
I get this error:
2012-07-25 01:35:47 [SEVERE] Error occurred while enabling HelpTicket v12.07.22.1 (Is it up to date?) java.lang.NullPointerException at com.imdeity.helpticket.HelpTicketMain.initDatabase(HelpTicketMain.java:52) at com.imdeity.deityapi.api.DeityPlugin.onEnable(DeityPlugin.java:50) at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:217) at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:337) at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:383) at org.bukkit.craftbukkit.CraftServer.loadPlugin(CraftServer.java:378) at org.bukkit.craftbukkit.CraftServer.enablePlugins(CraftServer.java:360) at net.minecraft.server.MinecraftServer.t(MinecraftServer.java:432) at net.minecraft.server.MinecraftServer.a(MinecraftServer.java:419) at net.minecraft.server.MinecraftServer.init(MinecraftServer.java:234) at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:487) at net.minecraft.server.ThreadServerApplication.run(SourceFile:492)
I am using the latest DeityAPI
@deleted_7554077
@teh_jombi
Both of you try deleting the plugins, starting up and re-downloading/installing. I cannot replicate this so im not too sure of why this is happening for you. Can either of you pastebin me your full startup logs? Also next time I would prefer if you posted a ticket about this rather then just comment. I check the tickets more often then I check this page.
EDIT: Found a way around this and a potential cause of it. Please download v12.07.24 of DeityAPI and everything should do.
@vanZeben Will there be a fix soon?
No changes to the plugin at all and I get this: [SEVERE] Error occurred while disabling HelpTicket v12.07.22.1 (Is it up to date?) java.lang.NullPointerException at com.imdeity.deityapi.api.DeityPlugin$DeityPluginChat.out(DeityPlugin.java:356) at com.imdeity.deityapi.api.DeityPlugin.onDisable(DeityPlugin.java:92) at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:217) at org.bukkit.plugin.java.JavaPluginLoader.disablePlugin(JavaPluginLoader.java:363) at org.bukkit.plugin.SimplePluginManager.disablePlugin(SimplePluginManager.java:400) at org.bukkit.plugin.SimplePluginManager.disablePlugins(SimplePluginManager.java:393) at org.bukkit.craftbukkit.CraftServer.disablePlugins(CraftServer.java:251) at net.minecraft.server.MinecraftServer.stop(MinecraftServer.java:409) at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:489) at net.minecraft.server.ThreadServerApplication.run(SourceFile:492)
and
[SEVERE] Error occurred while disabling DeityAPI v12.07.22.1 (Is it up to date?) java.lang.NullPointerException at com.imdeity.deityapi.api.DeityPlugin.onDisable(DeityPlugin.java:92) at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:217) at org.bukkit.plugin.java.JavaPluginLoader.disablePlugin(JavaPluginLoader.java:363) at org.bukkit.plugin.SimplePluginManager.disablePlugin(SimplePluginManager.java:400) at org.bukkit.plugin.SimplePluginManager.disablePlugins(SimplePluginManager.java:393) at org.bukkit.craftbukkit.CraftServer.disablePlugins(CraftServer.java:251) at net.minecraft.server.MinecraftServer.stop(MinecraftServer.java:409) at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:489) at net.minecraft.server.ThreadServerApplication.run(SourceFile:492)
Did that, still errors out.