- Tested Minecraft Versions:
- 1.7
- 1.8
- 1.9
- 1.10
- 1.11
- 1.12
HelpTickets is a powerful plugin to track and manage issues ingame. When a player has an issue, they may create a ticket, which may later be solved by staff members.
This plugin is provided for free, but please consider donating to support development!
Thank you to the people who have provided language translations:
@montlikadani - Hungarian (hu_HU)
@DarkFort - Russian (ru_RU)
@ShuriZma - German (de_DE)
Versions prior to HelpTickets 1.7 depend on ShortUtils. Versions 1.7 and newer do not require any dependencies.
A MySQL server is optional, but is recommended for large servers.
- Comprehensive information automatically included with each ticket
- Simplified permissions
- Accountability: A log of all actions is kept with each ticket
- Uses a MySQL or SQLite database for fast operation
- Tickets may be assigned priority levels
- Search tickets by status, creator, assignee, keywords, or priority level
- Ingame notifications when tickets are updated
- All command names and messages are fully configurable
- Using a MySQL database allows for multi-server support, no BungeeCord bridge required!
- New web interface!
All ingame actions are performed through the /ticket command.
Permissions are documented in the staff usage guide.
Documentation for usage by players: https://goo.gl/DhPNhJ
Documentation for usage by staff: https://goo.gl/Tkt7as
This plugin has just a few a number of configuration options for ease of use:
check_updates
Default: truedate_format
If set to false, the plugin will not automatically check for updates
Default: "MM/dd/yyyy"time_format
Date format string, with fields as specified here
Default: "HH:mm:ss"show_open_tickets_on_login
Time format string, with fields as specified here
Default: truelanguage
If set to true, players with the helptickets.manage permission node will be shown open ticket information when they log in
Default: "en_US"archive_tickets
Changing this will cause the plugin to use a different language mapping file. Language files are formatted as HelpTickets/languages/{language}.json
If the file is not found, the plugin will default to using en_US.json
Default: truekeep_tickets_for
If set to false, closed tickets will be kept for the number of days set in keep_tickets_for, after which they will be permanently deleted
Default: 5override_helpop
If archive_tickets is set to false, closed tickets will be kept for this number of days, after which they will be permanently deleted
Default: truereminder_interval
If set to true, any players attempting to use /helpop will be instructed to create a ticket instead
Default: 6000strip_console_colors
Reminders of open or updated tickets will occur every reminder_interval ticks. If this value is set to 0 or below, reminders will not show
Default: falsestrip_ingame_colors
If set to true, all console output will be stripped of color and formatting codes
Default: falseuse_mysql
If set to true, all ingame output will be stripped of color and formatting codes
Default: falsedb*
If set to true, the plugin will attempt to use a MySQL database instead of SQLite
name*web_interface**
Default: nullhost*
The name of the database to use, wrapped in double quotes
Default: nullport*
The address of the database, wrapped in double quotes
Default: nullusername*
The port the database uses (typically 3306)
Default: nullpassword*
The name of the database user, wrapped in double quotes
Default: null
The password of the database user, wrapped in double quotes
enabled**
Default: falsehost**
Set to true to enable the web interface
Default: "0.0.0.0"port**
The address the webserver will bind to
Default: 8080
The port the webserver will listen on
* These options must be set in order for HelpTickets to work using MySQL! The plugin will not work if any of these options are misconfigured and use_mysql is set to true!
** These options will have no effect unless HelpTickets - WebUI is installed
If you are getting "missing language element: xxx" messages, find the missing element here and insert it into your languages/en_US.json file.
Alternatively, if you have not made any changes to the language file, or you wish to revert to the default, simply delete the file and reload the plugin.
Code (Text):
{
"plugin.prefix": "&b[&6HelpTickets&b]",
"ticket.name": "ticket",
"ticket.created_by": "created by",
"ticket.assigned_to": "assigned to",
"ticket.date_created": "created",
"ticket.last_updated": "last updated",
"ticket.message": "message",
"ticket.location": "location",
"ticket.client_brand": "is modded",
"ticket.action_log": "use &e/%command.ticket% %command.ticket.actions% %1$s [%ticket.arg.page%]",
"ticket.arg.page": "page",
"ticket.arg.creator": "creator",
"ticket.arg.assignee": "assignee",
"ticket.arg.contains": "contains",
"ticket.arg.id": "ticket id",
"ticket.arg.message": "message",
"ticket.arg.comment": "comment",
"ticket.arg.phrase": "\"phrase\"",
"ticket.updated.message1": "the following tickets have been updated:",
"ticket.updated.message2": "use &e/%command.ticket% %command.ticket.view% <%ticket.arg.id%>&r to view a ticket",
"ticket.archived.purge": "purged %1$s archived tickets",
"player.name": "player",
"world.name": "world",
"unknown.name": "unknown",
"nobody.name": "nobody",
"priority.name": "priority",
"priority.critical": "critical",
"priority.high": "high",
"priority.normal": "normal",
"priority.low": "low",
"priority.wishlist": "wishlist",
"status.name": "status",
"status.open": "open",
"status.in_progress": "in progress",
"status.closed": "closed",
"status.resolved": "resolved",
"status.cancelled": "cancelled",
"command.ticket": "ticket",
"command.ticket.description": "create and manage help tickets",
"command.ticket.not_operational": "HelpTickets is not operational, possibly due to a configuration issue",
"command.ticket.reload": "reload",
"command.ticket.reload.message": "reloaded!",
"command.ticket.comments": "comments",
"command.ticket.comments.message.header": "comment log of ticket #%1$s (pg %2$s/%3$s)",
"command.ticket.comments.message.no_comments": "ticket has no logged comments",
"command.ticket.actions": "actions",
"command.ticket.actions.message.header": "action log of ticket #%1$s (pg %2$s/%3$s)",
"command.ticket.actions.entry.assignee_changed": "assigned to %1$s",
"command.ticket.actions.entry.status_changed": "status changed to %1$s",
"command.ticket.actions.entry.priority_changed": "priority changed to %1$s",
"command.ticket.actions.message.no_actions": "ticket has no logged actions",
"command.ticket.assign.message": "assigned ticket &e#%1$s&r to &e%2$s&r",
"command.ticket.assign.message.other": "ticket &e#%1$s&r has been assigned to you",
"command.ticket.create": "create",
"command.ticket.create.message": "created ticket &e#%1$s",
"command.ticket.create.broadcast": "&e%1$s&r has created ticket &e#%2$s",
"command.ticket.list": "list",
"command.ticket.list.message": "open tickets (showing page %1$s of %2$s):",
"command.ticket.archive": "archive",
"command.ticket.archive.message": "archived tickets (showing page %1$s of %2$s):",
"command.ticket.teleport": "teleport",
"command.ticket.view": "view",
"command.ticket.comment": "comment",
"command.ticket.comment.message": "successfully added a comment to ticket &e#%1$s",
"command.ticket.claim": "claim",
"command.ticket.assign": "assign",
"command.ticket.abandon": "abandon",
"command.ticket.close": "close",
"command.ticket.open": "open",
"command.ticket.cancel": "cancel",
"command.ticket.resolve": "resolve",
"command.ticket.priority": "priority",
"command.ticket.priority.message": "set priority of ticket &e%1$s&r to %2$s",
"command.ticket.status.message": "set status of ticket &e%1$s&r to %2$s",
"command.ticket.teleport.no_location": "no location for this ticket",
"command.ticket.teleport.no_world": "world does not exist",
"command.ticket.teleport.message": "teleported to the location of ticket &e#%1$s",
"command.ticket.unassign.message": "unassigned ticket &e#%1$s&r",
"command.ticket.updated.message1": "ticket &e#%1$s&r has been updated",
"command.ticket.updated.message2": "use &e/%command.ticket% %command.ticket.view% %1$s&r to view the ticket",
"command.helpop.message": "use &e/%command.ticket% %command.ticket.create% <%ticket.message%>&r instead",
"command.ticket.error.no_ticket": "no ticket #%1$s",
"command.ticket.error.no_player": "unknown player: %1$s",
"command.ticket.error.invalid_ticket_id": "ID must be a number greater than 1",
"command.ticket.error.invalid_page": "page must be a number greater than 0",
"command.ticket.error.page_out_of_range": "page out of range (max %1$s)",
"command.ticket.error.unknown_priority": "unknown priority: %1$s; expected %2$s",
"command.ticket.error.page_too_low": "page must be greater than 0",
"command.ticket.error.page_too_high": "page out of range (max %1$s)",
"command.ticket.error.no_open_tickets": "there are no open tickets",
"command.ticket.error.no_archived_tickets": "there are no archived tickets",
"command.ticket.error.invalid_state": "ticket &e#%1$s&r is %2$s",
"login.ticketinfo": "There are &e%1$s&r open tickets (&e%2$s&r assigned to you)",
"database_error_message": "There was an error with the database. Please inform an administrator as soon as possible.",
"yes.name": "yes",
"no.name": "no"
}
Unfortunately, I have neither the time nor knowledge to translate this plugin into other languages. If you would like to use this plugin in your own language, make a copy of the default en_US.json file and edit it with your own language. Furthermore, if you send me your translation, I will be happy to include it, with appropriate credit, in the distributed plugin.

HelpTickets 3.3
Powerful ingame issue tracker and player ticket manager backed by SQLite or MySQL
Recent Updates
- 1.16.2, now compatible with Java 8 Sep 10, 2020
- Updated to 1.16.2 Sep 7, 2020
- Russian translation Nov 21, 2017
Recent Reviews
-
kacperleague9
- 5/5,
Amazing plugin
you should make a namelessmc module for it
9/10
............................. -
Draycia
- 5/5,
Works well for the versions it states it supports. :)
Rating 1 star because you want it updated doesn't motivate the author to update it. Also not an acceptable use of reviews. -
Krynio_
- 1/5,
Abandonned plugin. There is no support for newer versions and author seems dead.
-
copy
- 5/5,
Absolutely incredible, been looking for something of this calibre for quite some time, the plugin I used to use to handle tickets has gone completely down the drain.
This plugin has all the features of that plugin, plus a lot more. Very well laid out in-game, easy to navigate documentation and kept updated.
100% recommend this if you're looking for a great ticket plugin. -
MrKev
- 5/5,
extremely fast support! I Like it. Thank you.
Yesterday I wrote to him that the teleport is not going and today I already have the update. For a free plugin a very good support! Keep it up! -
MrKev
- 5/5,
Super schneller Support welcher auf Wünsche eingeht. Der UTF-8 Support funktioniert hervorragend.
Plugin ist nur zu empfehlen. -
MrKev
- 5/5,
Sehr gutes, verständliches Plugin um einen reibungslosen Support auf dem Server zu gewähren.
Besonders die ultaleichte übersetzung (bei fast allen Belangen) gefällt mir sehr - in der deutschen Sprache gibt es leider Buchstaben die in der config nicht gern gesehen sind aber mit etwas geschick kann man das super beheben!
5 Sterne weiter so! -
ThatTonybo
- 5/5,
This is honestly the best support / ticket plugin available, and in my opinion if you don't use this your server isn't good.
What amazes me is that there is only 2 permissions, and they are simple too! Plus, all the languages / messages used in this plugin are changeable which rocks for translation / customization!
~ Tony -
SlimeDog
- 5/5,
Outstanding work. HelpTickets started a few months back with real potential, but a lot of needed improvements. Dev has responded quickly and energetically to requests and suggestions, and produced a really useful piece of work.
-
ShelLuser
- 5/5,
This is a must-have plugin for any serious Spigot server in my (not?) so humble opinion. It allows players to request help from staff and basically provides you with a close-to full fledged bug tracking system.
What also scores high with me is the very sane permission setup. Basically you only need 2 nodes: one for your users to create tickets, and one for your staff to manage tickets. That's it. Brilliant!
It has everything you could ask for... Users get status updates when something changes in their ticket(s), staff can claim, comment (so can users), abandon ("give up") and even re-assign tickets. This can really help you get a grip on the problems which your users are having. Like I said: must have.
The only small caveat, in my opinion, is that users can't close / resolve their own tickets. We've all been there before: you ask for help, and 5 minutes later you find the solution yourself. "oops". I think it would be useful it users could do what seems most logical at that time: close or resolve the ticket. But other than that... I'm _really_ happy that I found this one!