docs/SUPPORT.md
If you do not want to read the following wall of text, no matter its relevance for helping get your issue resolved quickly, please refer to the Forge Forums for support.
Before reporting an issue on this repository's bug tracker, please carefully read this document. There are various resources that are more likely to be able to help you with certain kinds of issues. This document provides instructions on how to determine which place best to report to.
Note: While this guide generally is more geared towards end-user problems, modders should also read it before reporting any issue with Forge in order to ensure it actually is one. This does of course not cover feature suggestions.
You're most likely to get fast and valuable responses to your issues if you report them in the correct place. For this, you need to find the root cause of the problem.
The most important source for this information are the log files Forge creates for every run of the game. You can find them in the logs subdirectory of your Minecraft game directory. The most important log file is latest.log which contains all of Forge's and any mod's output for info of above. debug.log contains all the logs in latest.log plus the debug logs for more detailed debugging.
If you're faced by a crash, consult these logs files first. Near the end of the log should be a section labelled 'Minecraft Crash Report', and after it, one about a detailed walkthrough of the error, .... In these sections, you'll see a bunch of lines that look like
at some.words.related.to.a.mod.MoreWords(MoreWords.java:number)
These lines are the most important part of a crash log, called the stacktrace, because they pinpoint the place in the code where something went irrecoverably wrong. Mod authors usually name their code so that these lines describe what the game was doing when it crashed. The further down one of these lines is, the earlier that piece of code ran, so at the bottom you'll see the place where Minecraft started, and at the top is where it stopped. You should use this information to figure out who to report the bug to.
You can generally tell pretty quickly what caused the error at the head of your stacktrace, simply follow these rules:
net.minecraftforge) alongside Vanilla (usually starting with net.minecraft) references, chances are that you have found a bug in Forge. In this case, use one of the various support channels listed below.
The rules are numbered in decreasing priority, which means that you should always prefer finding a mod in a crash report over directly jumping to conclusions about Forge or even Vanilla.
A significant step of reporting an issue, after having found the involved parties, is reliably reproducing it to identify potential incompatibilities or weird interactions between mods. If you're unable to pinpoint a bug to a set of mods and just randomly report it to any mod, chances are it won't get much attention and hence not a fix.
Reliable methods of isolating the issue are listed below:
The place you need to report issues to varies depending on the source of the problem. Below you can find a list of support channels you can usually consult for each of the sources listed in the previous section.
Please note that this list has to be considered incomplete as there is a large number of sub-communities within the Minecraft modding world. You should always prefer channels you know and have access to over any of those listed below which would require extra effort on your part.
If you're certain you've found an issue that is directly caused by Forge, you have the following three platforms available for dealing with it, with decreasing relevance for end-users:
A lot of mods also use GitHub or other source management systems and their integrated issue trackers. The following options will give you the best chances of reporting your issue in the right place:
Just like Forge or mods, Mojang has its own issue tracker for Vanilla Minecraft. This official bug tracker has the exclusive purpose of managing any concrete issues with the game's code and functionality. It is not a place for requesting any features or getting help with playing the game, similar to the Forge issue tracker.
Now that you've identified the source of your issue and decided on the correct support channel, it's time to actually write your report. Before you actually try to blindly create it, however, you should first check if the problem was noticed or even fixed already.
Use the target issue tracker's search functionality to look for issues which have descriptions similar to yours, but make sure to also search for already closed issues. If you can find one, verify it is in fact the same (or a very similar issue) and simply comment on it if you have anything else to contribute to the discussion, such as other steps to reproduce it. Do not create duplicates of an existing issue, since it only puts extra effort on maintainers to recognize and close/mark them.
Additionally, always check the latest changelogs of Forge and participating mods to find out if the bug was already noticed and fixed by the developer. Often the maintainer may only support newer versions of the game, so also check the changelogs for versions of Minecraft you don't actually actively play. If the issue was addressed already, do not report it, even if the fix only exists for a newer version of the game, since the developer probably had a good reason to do so. If your issue only exists with versions of a mod that are for very old versions of the game, also refrain from reporting them, considering most modders only support the two latest versions of Minecraft, if at all.
If you're certain that your issue went unnoticed up until now, you can get to actually writing up the report. Below you can find a list of the required information any bug report should contain:
debug.log from earlier), since it is the only way of telling what has caused an issue in code. Do not paste the full log as plain text in your report, but use GitHub Gist instead and link to that from your report.GitHub and BitBucket allow you to use the Markdown format for writing your issues. Below you can find a simple template that you can copy and fill in with your data. {variables} are written in braces and are supposed to be replaced by you with the information the variable name indicates. Everything behind two slashes (//) has to be interpreted as a comment and should be removed. If you want to include any link, you have to write in the [title](url) form. For further information on Markdown, see this cheatsheet.
**Minecraft Version:** {mc version}
**Forge Version:** {forge version}
**Mod Version:** {mod version} // Remove this line if you're reporting to Forge and no specific mod is involved
[**Full Log**]({link to gist/pastebin with full log})
**Mods in This Instance:**
| Name | Version |
| ------------------------ | ----------- |
| [{mod 1}]({download 1}) | {version 1} | // The download links are entirely optional
| {mod 2} | {version 2} |
| {mod 3} | {version 3} |
| ... | ... |
**Steps to Reproduce:**
1. Do this
2. Then do that
3. ...
Note: The mod list here is formatted as table for easy reading (when displayed) and to look nice in text. Markdown does not care about any alignment of the spaces, so you can simply write individual rows of the table as | {mod name} | {version} | without having to care about the spacing.
After you have written your bug report, it is time to wait. Please be patient after submitting your issue, since it probably isn't the only one. If there's no response after 5 minutes or even a day of writing it, do not try to bump the issue by commenting on it, people will read it in due time. The only excuse for bumping a report is if it is a critical bug that prevents you from playing the game.
Every project has a different way of dealing with issues, so don't wonder if there's no comment on it, but somebody "labels" it with certain markers. This helps developers to more easily keep track of bugs and priorities. When any further input from you is required, you will be asked specifically. Do not bug anyone through other channels about resolving your issue.
Once your issue is closed, you will know whether it was valid or turned out to be unreproducible. If you included all of the data from above in your report, chances are that the latter won't be the case.