PATCH  ·  v1.0.15  ·  2026-05-25

Chest contents are now editable in the database — Day 1 Supply Chest works

Following yesterday's diagnostic patch (v1.0.14) that made silent-broken containers tell you why they were broken, this patch adds the actual fix mechanism. Container contents can now be defined / edited in a MariaDB table that Ashley can manage from HeidiSQL like everything else on the realm. Day 1 Supply Chest is the first one seeded — open it and you'll get the items the tooltip promised.

What the system does

The 1,862 broken loot packs from v1.0.14 are missing data in the canonical SQLite file the server ships with. Editing that file directly would work but the edits get wiped every time we pull upstream content from NL0bP — that's the same "patch lost on git pull" problem the C# Rookery patches fight.

The fix is an override layer that lives in MariaDB (aaemu_game_3030.rookery_loot_pack_overrides). When the server loads loot packs at boot, it now:

1. Reads the canonical SQLite first (all 1,488 working packs come in normally) 2. Reads the override table 3. For each override row with op='add', injects the item into the pack — creating the pack from scratch if it didn't exist in the canonical data (which is the case for those 1,862) 4. For each override row with op='remove', strips the matching item from the pack

Same pattern as the existing rookery_loot_overrides (monster drops), rookery_merchant_overrides (vendor inventories), rookery_npc_stat_overrides, and rookery_npc_nickname_overrides tables. One more entry in the Rookery override family.

Day 1 Supply Chest works now

Per the tooltip, Day 1 Supply Chest is supposed to drop a Blessed One's Bronze Necklace, an assortment of consumables, and a Day 2 Supply Chest. Two of those three are unambiguous, and they're both seeded:

| op | item_id | item | |---|---|---| | add | 25531 | Blessed One's Bronze Necklace | | add | 8000543 | Day 2 Supply Chest |

"Assorted consumables" is intentionally vague — we'll leave it to Ashley to decide what counts as "the consumable bundle for a Day 1 starter" rather than guessing.

Open a Day 1 Supply Chest in-game and it should now grant the necklace + the next chest in the chain.

Authoring more chests

The pattern for any other broken pack — say a Farmer's Coinpurse — is one SQL statement per item the chest should contain. Each chest reports its pack id in the yellow "not defined" message from v1.0.14, so finding which pack to populate is one screenshot away.

The detailed schema + workflow lives in the dev memory (entry #25 in reference_aaemu_3_local_patches.md).

Behind the scenes

  • New MariaDB table rookery_loot_pack_overrides (12 columns, primary key on loot_pack_id + item_id + grade_id + op).
  • One C# file changed: LootGameData.cs (+116 lines). New LoadRookeryLootPackOverrides() method called at the end of Load(). Reads the table via the standard MySQL.CreateConnection() helper, applies adds and removes, logs a summary line like [Rookery] loot-pack overrides: +N adds (created M new packs), -K removes, T packs touched.
  • Boot log of the post-patch server confirms the loader fires on startup.

No client patch — same .pak, no download.

« All Patch Notes