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
I like the new layout of the plugin. However, when someone creates a new ticket, it definitely should show the ID in the announce so we can simply just read it.
Also I find it a bit difficult to first select ticket, and then view it. Instead I would only want to use /ticket view [id] [page?] It takes lots of time to write commands after commands just to read what problem people got.
Thanks!
Heh, I updated helpticket to 1.2.5 r5 and it seems to be working, thanks! I generally tend to be a bit overly careful to match bukkit versions to AVOID bugs.
@Necavi
That might be part of the issue. I suggested attempting to update them to the most recent versions.
All of my plugins are the most current available for bukkit 1.2.5 r4. (I'm currently running a tekkit server and that is what I am limited to).
@Necavi
Are all the plugins current versions?
That is PRECISELY what I tried. I even, for testing's sake, copied and pasted the text you gave. Same error. I've also tried doing such command as /ticket list, which I believe does not have any further arguments.
@siOnzee Check the DeityAPI information
@Necavi It will tell you that unless you use the command properly. ie using a /ticket create will spit out that error however using /ticket create help me now please will work.
I'm having a bit of an...odd issue, I just installed this plugin and dietyAPI onto my server, everything seems to be working just fine, except for the fact that whenever I try ANY subcommand, except for help, it simply tells me that I have entered an invalid subcommand.
how to connect with MySQL ?
@vobilli
That was an issue with me using the location of the string instead of the value of where it is.
@soulgriever92
Sick ill put it up on the main! Thanks! <3
Its not the best but I thought it might help. still think your documentation is well written. http://youtu.be/jiPhq6zrhdY
@deleted_6264528
What did you do to solve this issue?
@weja93
I have explained that in a few posts however here is a copy of it
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 make this "requirement" :/
Now I have to keep both uptodate to ensure other works.
Thanks though
@weja93
That isn't the error. The problem is that you are using an older version of the API and HelpTicket requires the most recent version... Please update the API and it should be working fine.
Language file is 0 kb sized, and ingame when I type /ticket nothing happens.
HelpTicket doesn't seem to load, because it tries to load BEFORE DeityApi. DeityApi works just fine but loads AFTER HelpTicket failed to start.
2012-08-02 11:33:24 [SEVERE] Could not load 'plugins/HelpTicket.jar' in folder 'plugins' org.bukkit.plugin.InvalidPluginException: java.lang.NoSuchMethodError: com.imdeity.helpticket.cmds.TicketCommandHandler.registerCommand(Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/imdeity/deityapi/api/DeityCommandReceiver;Ljava/lang/String;)V at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:149) at org.bukkit.plugin.SimplePluginManager.loadPlugin(SimplePluginManager.java:305) at org.bukkit.plugin.SimplePluginManager.loadPlugins(SimplePluginManager.java:230) at org.bukkit.craftbukkit.CraftServer.loadPlugins(CraftServer.java:214) at org.bukkit.craftbukkit.CraftServer.<init>(CraftServer.java:190) at net.minecraft.server.ServerConfigurationManager.<init>(ServerConfigurationManager.java:55) at net.minecraft.server.MinecraftServer.init(MinecraftServer.java:158) at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:424) at net.minecraft.server.ThreadServerApplication.run(SourceFile:492) Caused by: java.lang.NoSuchMethodError: com.imdeity.helpticket.cmds.TicketCommandHandler.registerCommand(Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/imdeity/deityapi/api/DeityCommandReceiver;Ljava/lang/String;)V at com.imdeity.helpticket.cmds.TicketCommandHandler.initRegisteredCommands(TicketCommandHandler.java:26) at com.imdeity.deityapi.api.DeityCommandHandler.<init>(DeityCommandHandler.java:44) at com.imdeity.helpticket.cmds.TicketCommandHandler.<init>(TicketCommandHandler.java:17) at com.imdeity.helpticket.HelpTicketMain.<init>(HelpTicketMain.java:16) at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.lang.reflect.Constructor.newInstance(Constructor.java:525) at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:145) ... 8 more
I do not know how to make them start in different order.
EDIT: And we did not have any problems with older versions either. Just suddenly it broke, before mySQL wipe we had way more tickets :P With "/nolagg examine" it just showed that problem was HelpTicket and removing helped :O Cannot give other information because nothing poofed in log file :P
@weja93
Well on our server were running the old version (1.7) with over 9000 entries, with very little lag, so im not sure why that would be happening :S
The full config of HelpTicket can be disregarded as it is not needed. As for DeityAPI, the config of it is almost identical to how the old helpticket config was set up, except that there is a new "deityapi.should_profile" option for whether or not the api should profile the load time of the plugins. Apart from that the configs are the same. It is also explained on the DeityAPI BukkitDev page as to what the config is and what values mean what.
Also there is now aliases and a /ticket purge <user> in v 12.08.01
@vanZeben
Maybe 50. We had recently started using it after mySQL wipe.
It was some kind of error, it did not create any error in log. I managed to find it was causing the problem with "/nolagg examine" and it caused 9000ms (over 9000!) while others were causing 10-30ms. But this happened with OLD version.
I do not get the new version working at all, in config there are 2 different mySQL settings, I have set them both up. Also in DeityAPI. I think there is some logical confusion with what I should put there. Sorry :P
@ahref
There is an alias of /pe on all commands, so /pe select <x> would work. I'll add in an alias system to DeityAPI and then implement it for the subcommands, so most likely itll be like /ticket sel <x>. I dont want to cut aliases down to one letter because it is just asking for people to use bad grammar as it makes it more "commonly acceptable". Also the commands then become ambiguous as to which plugin they refer to and it blocks other plugins from using those commands if it makes sense, however I see the want for shorter syntax.
/ticket select <x>
Needs to have an alias. Aliases are cool. /tics <x> or something i dunno. Then I can see the new version actually being better. :P