Wiki/Under the Hood
Bug Fixes
The long-standing Shadowbane bugs we found in the server code and repaired, grouped by what they changed in play.
Updated 2026-08-17
The server code Shadowbane shards run on has been passed between community projects for years, and much of what players learned to live with turned out to be plain mistakes in it. We read the code, found the faults, and repaired them. Every item below was verified against the source rather than taken on trust from a bug report. This is what changed in play.
Combat
- Taunt takes hold.
Challengeoften failed to pull a mob off your group, and the mob blinked out and back as your client reloaded it. Taunts now stick without the flicker, the message goes to you alone, and retargeting uses taunt's own 120-unit range. - Threat is a ceiling, not a coin flip. Every swing and power overwrote your threat with that one hit's value, so a big taunt was erased by the next small hit. Threat now only climbs, and decay no longer rounds down to nothing.
- Mobs keep the target they are fighting. A mob locked on re-picked its target every pulse, and any third player wandering into range reset it mid-swing.
- Mob accuracy ramps instead of flipping. A mob one point below your defence missed roughly 95% of the time; at or above it, it hit roughly 95% of the time.
- One fight no longer pulls the zone. A mob's call for help never went on cooldown, so it re-broadcast every few seconds and set every matching mob in the whole zone on you, at any distance. It now has a 60-second cooldown and a distance limit.
- Melee mobs stand and fight. The server never told a mob it had arrived, so your client kept sliding it onward, away from a fight it was actually standing in and swinging through. Every melee weapon in the game was affected.
- Losing your offhand mid-fight. Swapping in a shield, going two-handed or breaking your offhand weapon broke the swing and cleared your target; you re-acquired within about one enemy swing cycle, so the symptom was a stutter rather than a full stop.
- Undead characters and flagged mobs are targetable. Undead-race players and mobs carrying an extra racial flag could be untargetable, or fail to enter and leave combat properly.
- Dodge against spells takes its penalty. The rule that quarters your dodge chance against powers never ran, leaving dodge against spells roughly four times too strong.
- PvP deaths record the killer. Every PvP death recorded you as your own killer, which made death tracking meaningless.
- Named bosses spawn with their real stats. Bosses placed by the named-spawn lottery kept the placeholder's stats — wrong difficulty, wrong health.
Magic and Powers
- Damage- and heal-over-time effects ticked the wrong number of times. Tick count and interval were swapped: most landed far fewer ticks than listed —
Ire of Heavendelivered 2 of its 11 — and some landed more. Healing potions were on the over-ticking side and had been balanced around the broken behaviour, so potion values were rebalanced in the same change. - Drains cast by mobs, pets and guards do something.
Energy Drain,Ithriana Health Drain,The Lesser Kissand every guard or pet drain played the animation and moved exactly zero health. Those casters are now meaningfully more dangerous. - Your own casts no longer break your track. A Ranger, Hunter or Scout lost the tracking arrow the instant they cast anything at all, including a self-buff.
- Area powers hit the closest targets. Powers capped at 7 targets picked an arbitrary 7 — the mob standing on top of you could be skipped while one at the edge was hit.
- Caster-friendly powers leave you out. Powers explicitly flagged not to affect the caster were still landing on the caster.
- Chant areas clean up after themselves.
Call the Blizzard,Call Stormand other persistent chants left stuck effects that piled up and were never cleared.
Movement
- Runegates catch you at a run. A gate checked a two-unit circle against your position only every few seconds, so at running speed you tunnelled through and had to walk back and stand on it.
- Building collisions keep one coordinate system. Clipping one building while standing inside another sent your client a destination that mixed two different coordinate systems, and so pointed nowhere sensible.
- Landing on a walkway keeps you on the walkway. Flying down onto a city wall walkway or an upper floor set your height correctly and then re-snapped you to terrain height, dropping you to the ground.
- Swimming. Swimmers used to be held just under the waterline, and worse, your own client drew you walking along the seabed while everyone else saw you at the surface. The server side now floats you properly, and the client side took a patch — the game had never sampled the water surface when working out your own height — so you now see yourself swimming where everyone else already saw you. You get the client half the next time you run the launcher; the detail is on Client Changes. Alongside it: a dock, pier or floor over deep water correctly does not count as swimming, shallow water still puts you on the bottom, drowning still works, and leaving the water mid-stride updates everyone watching at once, rather than leaving them still gliding you along at swimming pace.
Items and Loot
- Percentage enchants on gear work. Percent enchants — weapon speed, damage reduction, minimum and maximum damage — all truncated to zero, so a -22% speed prefix swung at exactly the same rate as a plain weapon.
- Hot zone bonus loot drops from high-level mobs. For mobs at level 60 and above the hot-zone bump broke the roll and silently suppressed the whole drop — nothing at all from exactly the mobs the hot zone exists for.
- The account vault has a weight limit again. Deposits were never counted against the vault's weight, so it took unlimited items while the bank enforced its cap.
- Mis-clicking a distant corpse. Double-clicking a corpse from out of range stalled everything queued behind it — deferred rather than lost, so what you felt was a brief hitch. You now get a clean "too far away".
- Merc contracts roll within the mob's level. A dropped mercenary contract could roll a build above the level of the mob that dropped it.
Vendors and the Economy
- Vendors no longer take an item and pay nothing. Items with no durability broke the price calculation, so the vendor took the item and paid exactly zero with no error — the item was gone for good. In normal play the case you would hit is a looted stat or discipline rune sold to a Sage or Merchant, and this was the shard's most damaging bug. A vendor also cannot pay while your gold is committed to an open trade window; the server now checks that before taking the item.
- Guild vendor rolls cost what they display. Rolls at a guild Mule, Merchant or Blacksmith charged the strongbox twice, and once it ran dry the second withdrawal drained city warehouse gold. Bane scrolls and circles were always charged once.
- Over-committing gold in a trade fails loudly. Gold was checked per addition rather than against the running total, so past what you carried both windows closed as if the trade had succeeded while nothing moved. A stock client usually stops you, so this mattered most as a scam route for a modified client.
- A partner disconnecting no longer leaves you stuck. If your partner crashed mid-trade you stayed flagged as trading and later trades failed silently. Closing the stuck window was always a full recovery and never needed a relog, but nothing told you so.
Pets and Mercenaries
- One siege minion froze every pet on the shard. Adding a trebuchet, ballista or archer at a city artillery tower disabled movement for every pet in the world until the next restart. Summoned and necromancer pets stood where they were left and hit only what wandered into reach.
- Pets left behind by a teleport come to you. Beyond 400 units the recovery that should have brought your pet to you could never run, so it stayed frozen where the teleport left it.
- Mob and pet health regeneration. Ordinary mobs never regenerated at all, so a boss could be chipped down over any number of hit-and-run pulls, while a resting pet regenerated about fifteen times too fast. Both now recover 1% of maximum health every three seconds, out of combat.
- Merc contracts show up in your bags. Contract items did not render at all on an unmodified client; the server now sends a stand-in, and a chat line tells you when one drops.
- A resting merc looks like it is resting. A merc that sat down did not visually sit for anyone else.
Characters and Progression
- Your last few minutes of experience survive a restart. Experience and trains were saved only by deferred jobs up to five minutes out, so a crash or restart could roll back five minutes of experience and any trains bought in the last thirty seconds.
- Logging out in a bindable building binds you. Logging out in your guild's Tree of Life, a barracks or a rented room worked out the correct bind point and then quietly discarded it.
Under the Hood
These have no symptom you can point to. They are why the shard runs steadier and your progress is safer.
- Two server threads ran with no pause at all, each burning a full CPU core regardless of load.
- Buying a single train issued roughly 1,500 separate database writes for a levelled character.
- Force-quitting and logging straight back in could tear down your new session along with the dead one.
- A group invite could fail outright in the minute after a group-mate crashed.
- Mobs made for world events skipped the lock that keeps object IDs unique, risking collisions.
- Sim adventurers no longer wander past camps they should use or adopt camps far above their level, and disbanding a sim group can no longer throw an error.
- Failures that used to be silent are now logged, a suppressed loot-generation error above all, and a false warning that fired on every boot no longer cries wolf.
- A shard that failed to open its network port used to boot fully green and never listen, looking healthy until someone tried to connect.
On Your Screen
- Standing still no longer looks like casting. The server reported a standing, idle character to your client in the client's casting state, so anyone stood around appeared permanently mid-cast.
Still Open
Not everything is repaired. Magic items from ordinary monsters still drop without their enchantment rank, mobs still see and chase you through walls, and a handful of smaller items are known and deferred rather than fixed. Known Issues lists what is still outstanding.