HelpTickets 3.3

Powerful ingame issue tracker and player ticket manager backed by SQLite or MySQL

  1. ShortCircuit908
    Tested Minecraft Versions:
    • 1.7
    • 1.8
    • 1.9
    • 1.10
    • 1.11
    • 1.12
    [​IMG]

    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!
    [​IMG]


    Thank you to the people who have provided language translations:
    @montlikadani - Hungarian (hu_HU)
    @DarkFort - Russian (ru_RU)
    @ShuriZma - German (de_DE)

    [​IMG]
    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.


    [​IMG]
    • 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!

    [​IMG]
    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



    [​IMG]
    This plugin has just a few a number of configuration options for ease of use:
    check_updates
    Default: true
    If set to false, the plugin will not automatically check for updates
    date_format
    Default: "MM/dd/yyyy"
    Date format string, with fields as specified here
    time_format
    Default: "HH:mm:ss"
    Time format string, with fields as specified here
    show_open_tickets_on_login
    Default: true
    If set to true, players with the helptickets.manage permission node will be shown open ticket information when they log in
    language
    Default: "en_US"
    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
    archive_tickets
    Default: true
    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
    keep_tickets_for
    Default: 5
    If archive_tickets is set to false, closed tickets will be kept for this number of days, after which they will be permanently deleted
    override_helpop
    Default: true
    If set to true, any players attempting to use /helpop will be instructed to create a ticket instead
    reminder_interval
    Default: 6000
    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
    strip_console_colors
    Default: false
    If set to true, all console output will be stripped of color and formatting codes
    strip_ingame_colors
    Default: false
    If set to true, all ingame output will be stripped of color and formatting codes
    use_mysql
    Default: false
    If set to true, the plugin will attempt to use a MySQL database instead of SQLite
    db*
    name*
    Default: null
    The name of the database to use, wrapped in double quotes
    host*
    Default: null
    The address of the database, wrapped in double quotes
    port*
    Default: null
    The port the database uses (typically 3306)
    username*
    Default: null
    The name of the database user, wrapped in double quotes
    password*
    Default: null
    The password of the database user, wrapped in double quotes
    web_interface**
    enabled**
    Default: false
    Set to true to enable the web interface
    host**
    Default: "0.0.0.0"
    The address the webserver will bind to
    port**
    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

    [​IMG]
    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"
    }
     

    [​IMG]
    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.
    SKVIRLSOV, Lazo, Krunos and 7 others like this.

Recent Reviews

  1. kacperleague9
    kacperleague9
    5/5,
    Version: 3.3
    Amazing plugin
    you should make a namelessmc module for it
    9/10
    .............................
  2. Draycia
    Draycia
    5/5,
    Version: 3.2
    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.
  3. Krynio_
    Krynio_
    1/5,
    Version: 3.2
    Abandonned plugin. There is no support for newer versions and author seems dead.
  4. copy
    copy
    5/5,
    Version: 2.16
    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.
  5. MrKev
    MrKev
    5/5,
    Version: 2.16
    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!
  6. MrKev
    MrKev
    5/5,
    Version: 2.13
    Super schneller Support welcher auf Wünsche eingeht. Der UTF-8 Support funktioniert hervorragend.

    Plugin ist nur zu empfehlen.
  7. MrKev
    MrKev
    5/5,
    Version: 2.12
    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!
    1. ShortCircuit908
      Author's Response
      Hoffentlich habe ich das Problem mit nicht-englischen Buchstaben in den Konfigurationen mit Version 2.13 behoben. Ich bin froh, dass du das Plugin magst!
  8. ThatTonybo
    ThatTonybo
    5/5,
    Version: 2.11
    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
  9. SlimeDog
    SlimeDog
    5/5,
    Version: 2.6
    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.
  10. ShelLuser
    ShelLuser
    5/5,
    Version: 2.3
    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!