IHeartDevs
Overview
IHeartDevs is a plugin that helps server admins give plugin developers useful bug reports when things go awry.
Standard Bug:
Admin: i has a problem!!!! i think its ur fault!
Developer: Send me the stacktrace, Bukkit version, Java version, and list of plugins running on your server.
Admin: ummmm....latest bucket, java 8 i think, bunch of plugins, which ones u interested in?!? And heres my server log. HEEELLLP!!! KTHXBI!
(Thanks DrBowe for the image)
Developer: I am not wasting my time sifting through this garbage and misinformation.
IHeartDevs Easy Bug:
Admin: Your plugin had a problem. Here's the stacktrace: https://gist.github.com/5945399
Developer: Wow! Took like 5 seconds to fix. Can't believe I missed that. I'll release a new version tonight with the fix.
*By the way, that link looks something like this:
In Tech Speak
Captures stacktraces and easily pastes them onto Gist so that admins can just share links with developers. Contains a bunch of helpful server info so developers don't have to ask for it.
Commands
There are just a few commands to remember. Note that if ever need to use a command, a message will tell you the exact command to use.
-
/ihd view id View the stacktrace from a given error ID.
-
/ihd list [page] List recent stacktraces and their associated error IDs.
-
/ihd publish id Publish an error report to gist.github.com. This will print out a URL that you should give to the developer of that plugin.
-
/ihd help [view | list | publish] Explains the above commands in slightly more detail.
Permissions
Permissions basically follow the commands.
-
ihd.view Gives access to /ihd view
-
ihd.list Gives acces to /ihd list
-
ihd.publish Gives access to /ihd publish
How To Use
Using IHeartDevs is really straightforward.
- Wait for an unhandled stacktrace (anyone with ihd.view will get a message).
- Type /ihd list and note the ID at the top of the list.
- Type /ihd view ID where ID is the ID you remembered from your last command.
- If everything looks right (as in unreadable and really bad), type /ihd publish ID. It will give you a link like https://gist.github.com/5945399.
- Copy the link it gives you and tell the developer of the naughty plugin to look at it.
Configuration
Currently, there is only one configuration setting, LogExtendedInfo. Leave it on true if you want error reports to contain your list of plugins. If more details are added to error reports, this setting may affect additional details in the future.
TODO
While there are a bunch of things that I want to improve, there are a few major ones. Plan on all of these working in the first official release.
- Make the plugin that caused the stacktrace much more obvious.
- Allow "latest" to act as the ID of the most recent stacktrace.
- Make this documentation a lot friendler.
- Rework permissions so they make a bit more sense.