The Bestiary counts how many monsters of each family a character has killed. Kill milestones unlock permanent bonuses against that family, like Terraria banners: more damage to it, less damage from it, more loot from it, or a chance that a kill counts twice. Finishing every family of a map gives extra EXP on that map.
Players open the Bestiary from the Window Menu (U). It lists every family with its progress. The selected family shows its milestones (green once reached), the bonuses the player has now, the monsters that count and the map mastery it belongs to. A toast pops up on every milestone, in the same spot as the achievement toast (it waits while that one is up). Clicking the toast opens the Bestiary on that family.
DataServer migration 0004_bestiary.sql (table BestiaryProgress). The 2.0.0 DataServer does not start without it.
Client files: fragments/bestiary.xml, fragments/bsttoast.xml, both shells, both skins and the axiom icons skins/axiom/icon/bst_mark.png, menu_bestiary.png, dgn_damage.png, dgn_defense.png, dgn_drop.png.
Kill credit: a kill counts for every player who gets EXP from it. Solo, that is every player who damaged the monster; in a party, every party member in EXP range.
Bonuses of the same type add up over a family's reached milestones and are capped at Cap.
Damage and Guard apply in every fight with that family. Damage also counts for the player's summons.
Spoils raises the item drop rate and the zen of that family's kills for the player who did the most damage (the player who gets the loot).
Hunter's Mark gives a chance that a kill counts twice toward the Bestiary.
Counts are per character and permanent. They save at once when a milestone is reached, every AutosaveSec while they change, with the character save and on logout.
Damage (+% damage dealt to the family), Guard (-% damage taken from it), Spoils (+% item drop rate and zen from it) or Mark (% chance a kill counts twice)
No Bestiary in the Window Menu. The module is not on the license, Bestiary.xml has no valid family (see the GameServer log), or the client was not updated.
Kills do not count. The monster is not in any family, gives no EXP (some event monsters), or the character's counts have not loaded yet (DataServer not updated or migration 0004_bestiary.sql not applied).