Forge Server Tools · every failure mode · guides
A mistyped item ID never crashes and never logs. Why these failures are invisible, and how to find them before your players do.
You write a recipe, a tag, or a quest reward referencing
minecraft:diamond_swrd. Nothing crashes. Nothing appears in the log.
The recipe simply does not exist, and you find out when a player asks why the
quest gives nothing.
This is the worst class of modpack bug precisely because it is silent. A crash tells you where to look; this tells you nothing at all.
Most registry lookups resolve an ID to "absent" rather than throwing. A recipe referencing a missing item is skipped. A tag entry pointing at nothing contributes nothing. From the game's point of view nothing went wrong — you asked for a thing that does not exist, and it obliged.
The reliable method is to build an index of every ID your installed jars actually register, then check everything your scripts, configs, datapacks and quests reference against it.
Two things make the difference between a useful report and noise:
alicepack → icepick
(0.905 on the full ID, 0.750 on the path alone). Path-only comparison cut
that to 63.forge: and c: are tag namespaces. IDs in them legitimately
do not correspond to any registered item, so reporting them as missing produces
pure noise. Likewise a leading # means a tag reference, not an item.
Pack Doctor does this — the free edition inventories your mods and catches duplicate jars; the full version validates every referenced ID.
Forge Server Doctor performs the whole procedure above — reads the report, finds the real cause under the wrappers, skips the vanilla frames, and names the mod jar. 24 failure modes, each with its fix. The free edition covers the six most common startup failures.