To connect to any Asheron’s Call emulator server you must first install Asheron’s Call, update the client files, and optionally install Thwarglauncher.

Download the Official Asheron’s Call installer from Turbine
Run the ac1install.exe and install to the default location.

Download the End of Retail Client Files
Drag the 3 files inside the .zip to your Asheron’s Call folder and choose Replace when prompted.

Download and install Thwarglauncher

  • Accounts for most ACE servers are created on first login.
  • If you have trouble logging in to a specific server you can join the server Discord by clicking the icon next to the server name on Thwarglauncher

ACEmulator Monthly Report – July 1, 2019 – August 1, 2019

ACEmulator / ACE:
9 authors have pushed 132 commits to master
281 files have changed
8,798 additions
4,731 deletions
View Pulse

Notable Changes:

  • Updated documentation to latest version of MySQL
  • Upgraded project to .NET Core 2.2.1
  • Added JSON weenie import, and live editing features for content creators
  • Added /import-json all, and /import-sql all commands for content creators
  • Added prevention / debug code for spellbook probability 0
  • Added support for global /filters by message type
  • Improved squelch system
  • Removed some redundant broadcasts
  • Added PK Arenas / PKLite Arenas
  • Added configurable ‘player_save_interval’ seconds config property for server admins
  • Wired up full support for contract system.
  • Added RestrictionDB null prevention
  • Clamped local broadcast range for pklite messages
  • Removed loot gen properties from quest item
  • Added support for RemainingLifespan
  • Added pkl_server admin config option
  • Add forced save to db for items being moved between players to prevent loss if crash occurs before normal save interval.
  • Added support for proper visual display of Layered Armor (Tailoring) and Reduced Armor (Tailoring) as well as future items such as Over-Robes.
  • Added IsBusy checks for recalls / PKLite commands
  • Added universal weapon masteries
  • Added /ungod command
  • Set NonTracking to True for later arc spells
  • Added Curse of Raven Fury spell
  • Ensure players are unattackable while in portal space
  • Removed attribute cantrips from jewelry loot generator
  • Include material type in give item message
  • Updated war/void magic projectile skill damage bonus to match retail
  • Syncing kill task shareable range with radar
  • Capped passup xp display to uint.MaxValue to match client
  • Added Critical Protection Augmentation message
  • Added support for Ebon Rifts multiple damage types
  • Improved database setup instructions in
  • Add the four undead mobs for Vissidal from LSD
  • Add new treasure table entry used by Ghastly Priestess and Shambling Adherent
  • Update one of the Vissidal landscape generators to include the undead for spawning near the Temple of Xik Minru
  • Updated number of projectiles for Curse of Raven Fury to match retail pcaps
  • Adjusted drain and damage modifiers to match retail spell description
  • Added optional debug info for RecipeMods
  • Updated mana conversion to better match retail
  • Suicide refactoring
  • Improved calcs / appraisal info for Spirit Thirst
  • Cantrip and weenie updates
  • Temple of Xik Minru portal location update
  • Update Jedetj Eckhart and add more Vissidal region spawn data
  • Correct Dar Rell speech emote formating
  • Adding Surge of Regeneration tick messages
  • Added Medicated Healing Kits to Rare T3 tables, and elixirs to Rare T2 tables
  • Scaling SrcVital to DestVital for life transfer spells
  • Further adjust vendor sell fix to include correct error msg when 0 items are sold as a result of a fail.
  • Added EdgeSlide to Aetheria wisps
  • Improved / refactored enchantment messages
  • Increased spawns on Vissidal Island
  • Adjusting epic cantrip drop rates
  • Added support for HealOverTime enchantments
  • Update quest XP test notification messages
  • Added Spirit Thirst cantrips to LootGenerationFactory
  • Various updates to Housing objects related to assessment
  • Increase guestlist to 128 to match end of retail number
  • Stored Open status of house in different property to allow for future option to use HouseStatus to turn off rent.
  • Added WorldObject info to ActionQueue output
  • Adjusted Aetheria drop rates closer to retail, fixed drop rate mods
  • Updated Creature Combat Skills for MoA
  • Updated all weapon aura spells for MoA
  • Added Aetheria quest
  • Added Aetheria to LootGenerationFactory
  • Refactored LootGenerationFactory magic code
  • Updated Dat SubPalette and TextureMapChanges properties
  • Clean up error on sell to Vendor fail message.
  • Refactored ObjectDescriptionFlags
  • Added multihouse decomissioning system
  • Refactored HouseManager
  • Added house_per_char server config option
  • Added apartment deed location info
  • Improved /delete for admins
  • Updated Aetheria items
  • Add support for a version command response. Gives a basic idea of what version database is running currently and if running in debug/release mode
  • Converted HandleAugsForwardCompatibility -> SetInnateAugs during character creation
  • Added Tether and Core Plating recipes
  • Improved consistency for InventoryLoaded flag
  • Only allow use of Hookers on Hooks
  • Add in creation ip/time and last login ip/time to account creation/login
  • Refactored healing ratings
  • Additional IsBusy checks
  • Add DoNothing ActOnUse to CraftTool
  • Adjust EmoteManager
  • Add Landblock.EmitSignal to support localized object interaction
  • Updated PlacementPosition types
  • Improved handling for leveling up items casting spells
  • Adjusted some debug output
  • Add overridden properties for region encounter generators
  • Allow camp generators to despawn
  • Added data error protection for treasure data in generator profiles
  • Added account-wide house recall / account house permissions
  • Added dungeon landblock counts, and unique connection count to /serverstatus
  • Added ObjMaint v3 – much improved object visibility system, improved/clearer architecture, fixes many bugs
  • Fixed the deadly prismatic dart recipes
  • Fixed some bugs for PK/PKLite
  • Fixed animation bug for unarmed combat – low power, high attack
  • Fixed string buffer overrun / leaked memory in packet logs
  • Fix to allow null EncumberanceVal items to be carried
  • Fixed a bug with some emotes such as wave playing multiple times
  • Fixed a bug when multiple items level up simultaneously
  • Fixed a StackSize 0 bug in WieldedTreasure
  • Fixed Thrungus special attack
  • Fixed a bug with missing ManaRates
  • Fixed a bug with level proportional xp
  • Fixed a bug where Aetheria could be wielded into unopened slots
  • Fixed a bug with Aetheria DoT durations
  • Fixed Black Marrow Keyring Recipes
  • Fixed physical damage on Wave and Aqueous Golems
  • Fixed a weapon swapping client bug
  • Fixed a bug with monster Ranks -> InitLevel
  • Fixed issue with HousePortal permissions, IsOpen saving
  • Fixed a bug where bows and thrown weapons were showing (based on STRENGTH 100) during appraisal
  • Fixed a bug with item auras
  • Fixed issue with some recipe changes and ObjectDescriptionFlags
  • Fixed some bugs for two-handed weapons
  • Fixed a memory leak in the object visibility system
  • Fixed some issues with using certain Hookers that were previously broken
  • Fixed issues with Books on hooks, Chalk Boards now writable for all as expected, all other books readable
  • Fixed some miscellaneous Aetheria issues
  • Fixed a bug where Gharu’ndim and Empyrean caster appraisal wasn’t showing Heritage weapon mastery bonus
  • Fixed an issue with converting books from JSON to SQL
  • Fixed a bug with transferring items from side packs -> main pack @ max burden

ACEmulator Monthly Report – May 1, 2019 – June 1, 2019

ACEmulator / ACE:
9 authors have pushed 107 commits to master
99 files have changed
3,795 additions
1,953 deletions
View Pulse

Notable Changes:

  • Improved Getting Started instructions in Readme
  • Fixed GetDynamicObjectsByLandblock uint/int problem.
  • Fixed spell IDs for Deception Self 7 / Salvaging Self 7 scrolls
  • Fixed AL on loot-generated clothing
  • Fixed a bug with negative skill #s and proficiency XP
  • Fixed Secure Trade to confirm both parties have enough pack space/burden to accept all items before trade completes
  • Fixed Chest.RegenOnClose issue with generators
  • Fixed weapon tailoring
  • Fixed house dungeon portal landblock detection
  • Fixed a bug with IsBusy check for consumables – vtank no longer consumes too much food / drink!
  • Fixed issues with Stack Split/Merge
  • Fixed a bug with player giving equipped items to NPCs
  • Fixed a bug with dispels only selecting the top layer
  • Fixed a rare concurrency bug in PlayerManager
  • Fixed some issues with chest regen
  • Fixed recipe skill check for pre-MoA skills
  • Fixed house hook items with emotes
  • Fixed issue with finger command not showing correct account for character
  • Fixed a rare bug with damage spikes
  • Fixed an AllegianceUpdate packet parsing bug for TreeStats / Decal
  • Fixed appraisal display for items with built-in defender spells
  • Fixed Naughty Skeleton Kill Task NPC and mob emotes to match quest in DB
  • Fixed concurrency issue in DelayAction
  • Fixed extra pack slot aug
  • Fixed ordering of enchantment masks on login
  • Fixed a bug where summoned creatures would sometimes not spawn
  • Added more logging info for player corpses
  • Make sure corpses are saved if created indoors (dungeons)
  • Added ResetSkill and Adjusted EmoteManager to use it for UntrainSkill
  • Adjusted Decay for Corpses to ensure Inventory is loaded before decay is allowed to process
  • Added percentages for jewelry slot drops
  • Added Left-hand Tether and removal wcid and stub recipe for RecipeManager_New format
  • Added Asheron’s Island entry portal in Eastham and Asheron’s Castle spawns
  • Added Core Plating Integrator and stub recipe for RecipeManager_New format
  • Updated ClothingBase of many Isparian weapons
  • Updated TsysMutationData of 2 handed weapons
  • Added wcids for Alchemical Throwing Phials and recipes to support those added so far
  • Added Halls of Metos portal near Zaikhal
  • Added database info for RenegadeGenerals.sql
  • Improved Shard database indexing
  • Added further stack exploit mitigation and logging
  • Added QuestManager to Fellowship
  • Added IsLocked to Fellowship
  • Updated QuestManager to support Fellowships for basic quest stamping
  • Updated Fellowship to support locking via emotes. Allow members who were in fellowship at time of lock to rejoin if they get booted from game
  • Updated EmoteManager emotes: InqFellowQuest, LockFellow, StampFellowQuest, UpdateFellowQuest
  • Swapped underlay colors for pierce/slash rends to match retail
  • Moved MinimumTimeSincePk change upon PK death to occur before flag changes. This fixes issue with PKs recovering from death being able to attack other recovering PKs.
  • Added /landblockstats command
  • Improved InboundMessageManager network exception handling
  • Improved Shard query performance when loading landblocks
  • Added Dinnerware to Mundane lootgen
  • Removed Mana Scarabs from lootgen
  • Monster_Tick profiling additions
  • Updated /listplayers to accept optional accesslevel parameter
  • Updated Green Garnet salvage
  • Apply position corrections for teleports using magic
  • Adjusted Stack Split/Merge Handling
  • Added vendor dupe prevention
  • Adjustment to loot percentages
  • Added optional assess creature mod w/ release formula
  • Corrected properties on Overlord’s Sword
  • Updated numerous creature loot tiers, as per wiki
  • Added PhysicsObj.Destroy() on AddPhysicsObj failure
  • Added ObjectMain.ServerObjects.Count to /serverstatus
  • Added OnGeneration emote handling
  • Updated fellowship death message
  • Added item material to tinkering broadcast message
  • Updated / consolidated spell assignment in loot generator
  • Added support for lower armor reduction kit applied to leggings
  • Excluded augs from SkillAlterationDevice spec count
  • Change pickup for items to also count as destruction for generators to regenerate. (Branith’s Staff linked to a Linkable Monster Generator)
  • Allow the few items incorrectly marked as “Treasure” and not “ContainTreasure” or “Contain” to appear on monster corpses.
  • Improved / refactored Skill XP Rank increases
  • Improved mem leakage by Generators
  • Added more scrolls to loot generator
  • Added some missing spells to drop as scrolls
  • Updated Fellowship hashtables to match client order
  • Moved Jack Of All Trades aug bonus from Skill.Base to Current
  • Standardized spells and cantrips for armor pieces
  • Cleaning up loot generator system
  • Added support to ACE.Adapter to convert ACE weenies to LSD weenies
  • Added emote tables for Summoning Mastery statues in Arwic
  • Updated appearance for Summoning Mastery statues
  • Added new spells and cantrips to loot generator
  • Updated Heritage masteries to default masteries for retraining
  • Updated object appraisal code to properly show Wield/Activation Requires lines
  • Updated RecipeManager for Ivory. Recipe in DB already handles mod application correctly
  • Improved trade system to work with additional Decal plugins
  • Reclassify Shields as WeenieType.Generic and Updated ValidLocations, for those wcids without correct values for shields
  • Change lvl 8 spell comps from Generic to Stackable
  • Change some Jewelry items from Clothing to Generic
  • Added the seven Geomancer summoning CombatPets
  • Changed House Warning Messages filter
  • Set HousePortal destinations based on data from database with fallback to SlumLord
  • Init House from World DB if not found in Shard DB
  • Added StartCooldown to EnchantmentManagerWithCaching
  • Fixed GetFreeInventorySlots() counting packs and foci.
  • Updated House SQL writer
  • Updated CombatPet to not drop loot, not spawn things
  • Removed Spells, Emotes from CombatPets
  • Added Pet and CombatPet to IsCreature in WorldDatabase load function
  • Always Allow ID for Pets
  • Excluded combat pets from cleaving damage
  • Added missing skills to /buff
  • Changed RecipeManager.ModifyX to Fixed dye (and other) mods
  • Reduce Entity Framework biota tracking to only Players. Other objects will be reattached when saved
  • Release NetworkSession resources when a session drops
  • Adjusted rare generation code to apply expected icon underlay if wrong or missing
  • Adjusted corpse world entry to issue rare alert text/sound after corpse is spawned and not before
  • Removed all properties from corpse assessment except those seen in pcaps
  • Updated stack values for death items

ACEmulator Monthly Report – April 1, 2019 – May 1, 2019

ACEmulator / ACE:
8 authors have pushed 226 commits to master
302 files have changed
45,764 additions
44,328 deletions
View Pulse

A special thank you to all the players reporting bugs and feedback.
If you intend to submit a bug report please review how to collect Packet Captures

Notable Changes:

  • Loot tier adjustments and updates from LSD
    • Adjustments for loot tier 7
    • Added new skills Gems of Enlightenment
    • Added Enhanced Mana Elixir
    • Added Redspire Portal Gem that uses newer LinkedPortalOne
    • Updated new skills Wardens of Enlightenment to issue their gems
    • Updated Enhanced Health Elixir
    • Updated Sanamar Portal Gem to use newer LinkedPortalOne
    • Updated 10 Friend & Foe kill task NPCs
    • Updated Caliginous Aegis
    • Updated Platinum Golem
    • Updated Olthoi Slayer and Slasher Carapace and Ripper Spine
    • Updated Collectors
    • Updated Cave Penguin Egg


  • Fixed recipe mods for keyrings
  • Fixed some combat lockups after healing, particular with vtank + missile
  • Fixed combining older bags of mahogany salvage
  • Fixed monster retired skill #s
  • Fixed slippery item drop / rares popping when looted
  • Fixed spirit essence busy state
  • Fixed /hr for some apartments
  • Fixed summoned portal spawning
  • Fixed equipped item overlap
  • Fixed vendor overloads
  • Fixed hotspot damage
  • Fixed blank allegiance officer title crash w/ decal
  • Fixed dispel filters
  • Fixed apartment landblock loading speed
  • Fixed boot command throwing exception when used at console
  • Fixed a bug with disappearing icon when players give partial stacks
  • Fixed gems not dropping in loot
  • Fixed more issues with hotspots
  • Fixed Olthoi Rippers spawning too many ninjas
  • Fixed bug with players giving equipped items to other players
  • Fixed allegiance ranks
  • Fixed AnimationHook and GameActionChatChannel line endings in source repo
  • Fixed some apartment bugs
  • Fixed salvage workmanship bug
  • Fixed player DoT damage history
  • Fixed a bug with with kill tasks
  • Fixed a bug with packet crafting during character creation
  • Fixed a bug with scrolls and vtank
  • Fixed the Mite Queen Staff to drop 1 instead of 250 and 1 Crumbled Note instead of 250
  • Fixed some situations where multiple deaths could occur at the same time
  • Fixed tinkering values with pine and gold material
  • Fixed fellowship XP earning distance to be based on distance from XP earner, instead of leader
  • Fixed skill credit refunds for untraining skills in Temple of Forgetfulness
  • Fixed issue with attuned items being places in packs, packs placed in other containers
  • Fixed double use issue on some containers
  • Fixed issue with clapping motion repeating
  • Fixed giving stackables to NPCs that accept everything (Town Criers, Garbage Barrels)
  • Fixed giving or dropping packs with attuned items
  • Fixed issues with crafting sending 0 burden to client
  • Fixed mis-matched mana on lootgen’d missile weapons
  • Fixed wonky mana on Missile weapons in LootGen
  • Fixed quest names in San Ming’s emote table
  • Fixed ClothingPriority on Olthoi Celdon armor
  • Fixed issues with player corpse decay
  • Fixed bug with picking up items from your own corpse, hooks or storage that had quest stamps
  • Fixed bug with naked corpses not appearing correctly
  • Fixed issue with non-player objects activating other non-player objects
  • Fixed some issues with hotspots
  • Fixed rapid player corpse decay upon server restart
  • Fixed issue with npcs activating other objects
  • Fixed bug with IDing items in Trade Window
  • Fixed bug with trade causing receiver to turn to initiator when trade starts
  • Fixed exit portal from Karlun’s Hall to remove level restriction
  • Fixed Void Scriveners attacking
  • Fixed reported issue with corpse at the end of the Lugian Ice Tunnels; ActivationResponse was incorrectly set to 1, instead of 2
  • Fixed Nullified Statues
  • Fixed issue with RealTime generators that have either no StartTime or EndTime set. (eg: Heart of the Innocent Event Gen)
  • Fixed multiple death stacking. You can only die one time until you resurrect at lifestone
  • Fixed issue with long chat messages
  • Fixed SetSanctuaryPosition for Jonathan (29325) for Sanamar Academy instance
  • Fixed minor issue with scrolls when IDing them
  • Fixed major issue with recipes not scoping the requirements and mods to indexes which indicated where the checks or mods applied to
  • Fixed OnDeath crash
  • Fixed tells issue
  • Fixed PK status for all objects on radar bug
  • Fixed apartment issues for Empyreans
  • Fixed network session multithreading
  • Fixed a null crash with CombatPets
  • Fixed corpse null exception
  • Fixed landblock adjacency sync / visible objs
  • Fixed RestrictionDB table size
  • Fixed physics landblock memory leak
  • Fixed an issue with ClassName writer
  • Fixed allegiance sync bug
  • Fixed GetVariance
  • Fixed crash on null CurrentMotionState (statues).
  • Fixed CraftTool weenies mistakenly marked as WeeniType.Generic instead of WeenieType.CraftTool


  • Updated Tusker Guard loot tier profile to T4, up from T3, to match wiki
  • Updated Atlan weenies
  • Updated Healer messages and support for Stamina/Mana kits
  • Updated Olthoi Swarm mobs for loot tier Updateds, per wiki
  • Updated Olthoi Larvae body height entries
  • Updated loot generator for light dagger / multistrike
  • Updated two Facility Hub Wardens
  • Updated Gem_MaterialType odds in loot gen
  • Updated Ulgrim the Unpleasant’s location to AB
  • Updated Ulgrim’s Recall scroll
  • Updated Tusker Wish statues for MoA skills
  • Updated Flinrala Ryndmad to once again hand out Facility Hub Portal gems
  • Updated the Temples of Forgetfulness and Enlightenment
  • Updated Marauder Eater to always drop jaw, up from zero chance
  • Updated Base of the Timaru Plateau Portal to drop player near the NPC that sends the player to the top of the plateau
  • Updated Jonathan’s emote table; token is attuned so cannot be lost. NPC doesn’t need to reissue token to player
  • Updated landblocks in Stonehold, Nanto, and Tou-Tou-Tou
  • Updated Gold Golem and Banderling Mauler to tier 5 loot profiles, per wiki, as other mobs still using former loot profile ID should remain as tier 4
  • Updated generated loot values
  • Updated spell component burn rate, and mana conversion for item spells
  • Updated 2-handed weapon skill check
  • Updated Mad Cow event
  • Updated Storage permission error message
  • Updated handling of scribe related functions
  • Updated Enchantment Heartbeat to expire 0 duration spells
  • Updated pickup timers for Grael’s Rage untranslated texts to align with info on wiki
  • Updated three dungeon entry portals with quest restriction, as specified on portal text
  • Updated three NPCs involved in Grael’s Rage quest to stamp and erase quest stamps, as appropriate
  • Updated Generic and Stackable WeenieType
  • Updated Soldier 31290 with Attackable false and Soldiers 31290, 70035, and 70036 with AiImmobile true
  • Updated shutdown sequence to support notifications to players at intervals and adjusted shutdown lockout to apply when server is less than 3 minutes from shutdown
  • Updated CreateList output to not sort by weenie class id
  • Updated harm spell text color
  • Updated UpdateMaxVital for some spells
  • Updated SummonPortal for Gateways
  • Updated DamageHistory to use WeakReference
  • Updated fellowship to WeakReference
  • Updated Player.Examine success conditions
  • Updated kill tasks in fellowships
  • Updated Event generators for two staged on/off
  • Updated Crafting SQL Writer
  • Updated null spell -> spell.NotFound
  • Updated various log messages to Debug level
  • Updated Generator.StopConditionsInit and StopConditionsMax log level
  • Updated Generator.AddWorldObjectInternal failures to Debug
  • Updated LSD converter to support enum shifting


  • Added support for IOU trade ins
  • Added possible fix for Mowen portal not spawning – IsBusy reset OnDeath
  • Added Covenant Armor, default Material Type, and thrown weapons to loot
  • Added allegiance name to appraisals
  • Added caster effect to spells that have them
  • Added door opening ability for some newer Olthoi
  • Added rot after 5 minutes to player sold items on vendors
  • Added rares to loot system
  • Added support for Barber NPCs
  • Added Shoichi for Tusker Guard KT to Lin
  • Added support for new recipe formats
  • Added support for broadcasting tinkering result message
  • Added AttributeTransferDevice
  • Added quest restrictions for summoned portals
  • Added the ability for any player to loot monster corpses after 2 mins
  • Added logging for player corpses
  • Added /myquests player command, and quest_info_enabled admin option
  • Added Mountain Sewer entry portal
  • Added support for non-house owner rent payments
  • Added Lifestone Sending spell
  • Added some missing spawn maps: Mountain Sewer, new Yanshi town spawns, Keminub, Iaret, and Sacmisi
  • Added support for prismatic arrows
  • Added fellowship sharing to kill tasks
  • Added prevention for being dropped into / through walls
  • Added some null checks to try to catch issue with SelectDispel
  • Added logging to Spell.Init
  • Added warning to players about potential rollback issues when SaveBiota fails
  • Added support for preloading landblock groups (Apartment Landblocks)
  • Added check for RecallsDisabled to command recalls
  • Added CraftTool WeenieType
  • Added missing EncumbranceVal to Olthoi Amuli Armor
  • Added text to corpses that generated rares
  • Added Tomb Rubble weenie
  • Added in use error message for some objects
  • Added missing Missile DamageMod property for loot gen
  • Added Void Gem of Enlightenment
  • Added shirts and pants to loot drop
  • Added new Fetish of the Dark Idol recipes for new TOD missile weapons
  • Added missing Enhanced Isparian weapon recipes
  • Added modified tinkering recipes
  • Added Moina NPC
  • Added Olthoi Amuli armor weenies
  • Added Jaffres Dini’s spawn data to Sanamar
  • Added Scrivener of the Void to Holtburg, Yaraq, Shoushi, and Sanamar locations
  • Added Jacob’s Axe weenie for loot drop by Hard-Headed Skeleton
  • Added the three Trade Alliance sub quest stub quest registry DB entries
  • Added updated Free Ride to Sanamar spell (3535)
  • Added missing Monster Fly Trap weenie
  • Added Donatello Linante
  • Added support for AwardXP emote taking away from available xp (Donatello Linante -> Asheron’s Lesser Benediction)
  • Added rares to server logs
  • Added disable_gateway_ties_to_be_summonable configurable option
  • Added biota id:name to db
  • Added in support to ACE.Adapter for converting GDLe recipes
  • Added fix to prevent players from deceiving themselves
  • Added more code protection for TOD salvage data
  • Added null check to Corpse.Open
  • Added busy check for food / consumables
  • Added CanAddToInventory / pre-check for Player.Give
  • Added more null checks to Fellowships, ConfirmationManager, and GetDeathMessage
  • Added rollback mitigation for players receiving items from NPCs
  • Added SpellbookCache
  • Added WeakReference option to GfxObjCache
  • Added missing WieldSkillType to loot generation factory melee weapons
  • Added Treasure Material tables and Treasure Color tables to apply appropriate colors and materials to items in the LootGenerationFactory
  • Added “lootgen” Developer Command to aid in testing the loot generator. Currently only applies materials and colors to items; no other properties factored in at this time
  • Added GetBlockDist pre-check to IsDirectVisible()
  • Added /ciloot dev command for RNG loot generation factory
  • Reduced fizzle mana usage
  • Changed Ruschk Iceberg Key from fixed spawn to generator based
  • Remove extra Ianto and Lady of Aerlinthe’s Ornate Chest weenies
  • Aligned Scroll loot with wiki
  • Re-added random colors to clothing in loot gen
  • Mosswart Worshipper Kill Task fix
  • Refactored Elemental damage bonus
  • Removing leader from disbanded fellowship
  • Removed some incorrectly added thrown weapons from loot gen
  • Sorting appraisal properties to better match up with client hashtables
  • Ensuring self spells are never resisted
  • Loot refactoring for clothing
  • Removed bad keyring recipes
  • Fixes for Give to Player issues: Send contents of a container when given, Return object to giver when it fails to be given
  • Replaced character errors with confirmed list
  • Creatures with loot and NoCorpse will drop their loot to the ground upon death
  • AdjustCells cleanup
  • Updating tinkering message to match retail, adding /cisalvage dev command
  • Initial fix for item heartbeats
  • Adjust wield requirements and method used
  • Sequence validation and negative response
  • Change weapon damage to be based on wield difficulty, instead of tier number
  • Lower essence drop rate to ~17%
  • Converted many magic numbers to descriptive, enum based values
  • Changed shortcut code to fix some collision issues
  • Clamping broadcast range on some recalls
  • Improved monster ReturnHome logic
  • Physics GC cleanup
  • Synced WieldSkillType with WeaponType
  • Move some messages to WorldBroadcast filter
  • Remove PropertyInt 159 from base melee weapon weenies
  • Remove two Encounter table entries, as they cause landscape mob spawns within Fort Tethana and the rebuilt Yanshi
  • Landblock Dormancy after 1 min of no player activity
  • Reduce rogue physics landblocks loaded by portal destination parsing
  • Dispose ShardContext on RemoveBiota
  • Send RestrictionDB in order of client hash
  • Removed deprecated skill check formula
  • Improved fellowship vital update rate / sync
  • Ensuring BF_OPENABLE flag for inventory containers
  • Fix body part heights of Fiun mobs
  • Moved IsBusy check
  • Session termination and boot command enhancement
  • Adjusted grant level propotional xp
  • Adjusted two-handed stance swapping / slots
  • Removed slash animation from thrust weapons
  • Ensuring impen/bane applies only to enchantable items
  • More fixes for player corpse appearance issue
  • Retry failed shard db queries
  • More fellowship null checks
  • More allegiance fixes
  • Ensure cooldown spells aren’t evaluated for dispels
  • Adjusted OnDeath to use LastDamager instead of foreach
  • Network stability improvements
  • Major refactoring to fellowships to fix concurrency issues
  • Moved order-insensitive items earlier in packet processing pipeline
  • Process inbound GameAction packets in order received
  • Save Player Corpses if dropped.count > 0
  • Reject new connections when server shuts down
  • /serverperformance command added. Optional parameters: start, stop, reset
  • Use ServerGarbageCollection instead of Workstation GC
  • Change the way GiveObjecttoNPC and HandleNPCReceiveItem deal with emotes
  • Exclude Cooldowns from HandleMaxVitalUpdate
  • Physics memory related additions
  • Fix session timeout values
  • Code cleanup

Packet Captures

A PCAP (Packet Capture) is network data collected during an active client session to provide more concrete information for the developers to track and squash bugs

PCAPs are an invaluable tool to see behind the graphics in to what is actually occurring.

Download ACLog

  • Make a copy of your Asheron’s Call folder next to your existing folder (not inside)
  • Place the msxml4.dll in the new folder
  • Open Thwarglauncher and click Open User File
  • Find the specific account for the server you’re testing
  • Add a LaunchPath pointing to the new acclient location – The top of the UserFile details the LaunchPath syntax

If you do not do the above the packet logger will open for every single client/world you log in to, causing a mess of packet logs in your main folder.

When you come across a bug in game while the packet logger is running, please type in chat “PCAP BUG” so the timeframe can be narrowed down.

Either exit the client or hit Stop on the packet logger and a new file will be created in the AC folder with the format “pkt_YYYY-MM-DD_TIMESTAMP”

Provide this file along with your bug report.

ACEmulator Monthly Report – March 1, 2019 – April 1, 2019

ACEmulator / ACE:
7 authors have pushed 131 commits to master
253 files have changed
22,358 additions
3,479 deletions
View Pulse

Notable Changes:

  • Added Chess. Much thanks and credit to Anahera for originally authoring this code!
  • Added Tailoring. Much thanks and credit to Phenyl for originally authoring this code!
  • Added support for Asherons’s Benediction and Augmented Understanding
  • Added support for Aetheria
  • Added support for Luminance augs
  • Added support for Enlightenment
  • Added preliminary content for Friend and Foe monthly patch
  • Added landblock spawns from Friend and Foe patch
  • Updated monster corpse looting permissions – after the top damager finishes looting, other players may loot
  • The fellowship ‘disband’ button when clicked by non-leaders no longer acts as a ‘leave’ button, as per retail
  • Added option to enable/disable DoT messages
  • Updated PKLite messages to match retail
  • Improved jump with low stamina
  • Updated War Magic spell projectile and resisted messages to match retail exactly (this was causing a delay in vtank between spellcasts)
  • Added Monarch/Patron/Vassal prefixes to allegiance login messages, updated colors
  • Added support for Encapsulated Spirit
  • Added alternate currency for vendors
  • Appraised items on housing hooks now show the details on the hooked item.
  • Ensure monsters have a targeting tactic
  • Updating burden from ammo / spell component usage
  • Support AdvocateItem changing/updating Radar Blip Color in similar fashion to retail servers.
  • Improved handling for edge cases for refreshing spells w/ augs
  • Additional ratings added to appraisal panel
  • Updated spell info, added spells for item sets
  • Added spell procs / cast on strike
  • Added support for item leveling
  • More visual updates for dye recipes
  • Updated barber shop
  • Additional checks for built-in weapon spells
  • Added rare timers
  • Added fellowship names to player appraisal panel
  • Ensure prior container is closed before opening a new one
  • Added Natural Resistances for players
  • Adjusted trained skill check for reading magic scrolls
  • Added the ability for player to use all Augmentation Gems
  • Cleaned up welcome message / server mtod
  • Added RNG ratings to Summoning essences
  • Disabled the portal messages to match retail
  • Added Void Magic scrolls and Summoning essences to loot generator
  • Added support for Magic Professors
  • Updated spellcasting / healing movement check messages to match retail
  • Updated salvaging result message


  • Network stability:
    fixed bug causing disconnects due to NAK requests being ignored.
    fixed bug causing session to enter an unspecified state after connect request packet sent to the client is corrupted in transit
    fixed bug during handshake causing defunct session to linger
    fixed bug whenever a bad handshake occurs causing crash
    added asynchronous verification of encrypted CRCs
    added checksum caching to ClientPacket
    added handling of trusted packet with ClientSentNetErrorDisconnect flag
    added parsing of optional “flow” header data
    added more network logging
    removed “generational ISAAC” debugging tools


  • Improved allegiance data sync
  • Added IsBusy checks to healing and recipe crafting for vtank
  • Change action that occurs for selling items to vendors so they appear in the buy window if they aren’t destroyed on sell.
  • Prevent selling objects (via drag-drop on vendor) that vendor doesn’t accept in its MerchandiseItemTypes field. These same items would red-circle using traditional drop into panel method.
  • Set minimum for hotspot cycles. Prevents hotspot of doom (HotspotCycleTime == 0)
  • Added /teledungeon command for Sentinels / Admins
  • Additional fixes for decal crashes when entering Portals, and around Holtburg
  • Added IOUs for EmoteType.Give w/ missing wcids
  • Emote skill check: ranks -> current
  • Updated Active flag and chest logic
  • Improved spell duration logic
  • Update Logout to include server population and limits when character list is resent.
  • Updated @acehelp and @acecommands to not be individual messages, so not to be broken up by other chat spew.
  • Added @pop command — Tells you how many players are online.
  • Added @telereturn — Teleport a character to their previous position saved when using @teletome.
  • Added @watchmen command — Displays accounts of a specific access level.
  • Added @finger command — Displays information about a character and/or account.
  • Better organization and restructuring for -Patches folders (now grouped by date)
  • Additional error messages for allegiance swearing
  • Added local broadcast range to spell words
  • Revised indoor fellowship distances
  • Continued refactoring of HandleUseOnTarget
  • Exclude Burden in CreateObject messages for Creatures.
  • Update Player Description Event to reflect WeenieType and HasHealth accurately and not hard-coded values.
  • AddWorldObjectInternal fix
  • Changed TrackObject to only send Selectable child objects wielded by their parents (No more oversending of everyone’s complete equipables)
  • Improved ‘out of missile ammo’ animation state / feedback
  • More consistency for create lists and moving items to corpses
  • Consolidated pyreals in death messages, added corpse_destroy_pyreals server option (defaults to true / end of retail)
  • Added some missing types / info to login
  • Enqueue action message cleanup
  • Cleaned up UseWithTarget and GameMessageInventoryRemoveObject
  • Changed the way Name property is handled with regards to + (Admin/Sentinel characters)
  • Set up basic path to support replicating accesslevel changes on to existing characters
  • Added @pk command
  • Revise @cloak command
  • Loot Generator refactoring / organizing
  • Added LanguageInfo to DatLoader (0x41 in client_local_English.dat)
  • Added improved feedback when issuing invalid console commands or using incorrect syntax
  • Exclude GamePiece from saving to Shard DB
  • Corrected DatDatabaseType values
  • Changed account authentication to use BCrypt
  • Added configurable BCrypt WorkFactor for password hashing
  • Update Shard DB Enchantment Registry composite key
  • Additional null checks for allegiances and fellowships
  • Added passwd and set-accountpassword commands for self-service password changing and admin-only override password changes
  • Added migration coding to support migrating from previous SHA512 Hash/Salt method to BCrypt
  • Script for Updating Auth database added to default passwords to BCrypt
  • Added /teletome command for admins
  • Added substates to initial player broadcasts
  • Added system for reusing dynamic guids. The database is now queried for guid fragmentation on startup, with support for recycling guids during the game


  • Fixed some issues with CombatPet aggro
  • Fixed a bug with vitae not expiring
  • Fixed a salvaging bug with Green Garnet and Mahogany items
  • Fixed Gear Knights being literal buttheads. (Their abdomen was being swapped with their heads)
  • Fixed CharGen issue for Dual Wield characters. 2x Melee Weapons are created if Dual Wield is trained or specialized
  • Fixed a bug where crafting components were being removed from the shortcut bar on usage
  • Fixed a bug where players could cast spells from inside portal space
  • Fixed Holtburg sentries running in circles
  • Fixed chests stuck in open state
  • Fixed Cow Tipping Quest
  • Fixed scroll usage in vtank
  • Fixed a bug with items in chests sometimes appearing incorrectly in client
  • Fixed an outdoor->indoor visibility bug
  • Fixed a bug with run backwards state / jump frozen bug
  • Fixed a bug with spell trap durations
  • Fixed a bug where enchantments from items were being cleared on death
  • Fixed vendors to handle 0 value items properly in buy/sell
  • Fixed an invisible player bug when players re-enter visibility to an unmoving player
  • Fixed a bug with dropping items from scatter generators


To contribute to bug reports or simply check out the progress, log in to Coldeve via Thwarglauncher.

Join the Coldeve discord –

ACEmulator Monthly Report – February 1, 2019 – March 1, 2019

ACEmulator / ACE:
5 authors have pushed 77 commits to master
243 files have changed
19,134 additions
16,737 deletions
View Pulse

Notable Changes:

  • All ToD Updates from Lifestoned are now in
  • Added Linux installation instructions
  • Added house deeds
  • Added house purchase requirements w/ config options
  • Added checks to ensure monsters can damage target
  • Added no-log landblocks
  • Added logic for locked doors openable from behind
  • Added heritage augs
  • Fix wield issue with TwoHanded weapons.
  • Updated item dispel
  • Pack space is checked before selling items at a vendor
  • Improved CoinValue property
  • Improved EncumbranceVal and Value properties
  • Added enchantments for items wielded by monsters / NPCs
  • Updated allegiance rank, config properties
  • Added house maintenance + config options
  • Adjusted augs and slots armor
  • Added magic-absorbing shields
  • Add functionality to support Mana Forge Chests in the LootGenerationFactory
  • Adjusted imbue chance of success
  • Housing permissions sync improvements
  • Added squelches
  • Changed GetMaxDamage() for better scaling of damage levels for tier increases and weapon types
  • Changed GetArmorLevel() to GetArmorLevelModifier() for better scaling of armor increases, based upon the default armor level from the armor item weenie, for loot tier increases
  • Items added to the world via the admin command /create no longer decay
  • Updated ClothingPriority, create list selection
  • Updated CoverageMask
  • Added RNG create lists
  • Landblocks load their resources async again
  • Improved the FindByObject() function to include objects WieldedByOther
  • Added caching to a couple more WorldDB housing functions
  • Cleaned up the WorldObject OnLoad, OnAddItem, OnRemoveItem code and flow
  • Changed GenerateTreasure to check for null DeathTreasure and de-duped generate code so that items weren’t generated twice upon death.
  • Monsters now Destroy() on death, removing them from the database if they persisted (possibly from /create)
  • Added centralized damage calculation function
  • Start refactoring LootGenerationFactory.cs code
  • Add support for spawning Treasure pile corpses when data indicates it should.
  • Enable basic functionality for InqOwnItems in EmoteManager
  • Update EmoteType.DirectBroadcast to support “@You must wait %CDtime to collect the again.”
  • Modify LootGenerationFactory to support the TOD updated weenies
  • Added synchronized ServerObject loading for non-adjacents
  • Improved handling for offline houses
  • Write locks on WorldObject property dictionaries are only taken when the property is actually set
  • Introduce ObjectGuid recycling into ACE
  • Added jsminify for config commenting
  • Added server logic for the remaining player-configurable options
  • Fixed an exception for PropertyManager when requesting the value of a property that didn’t exist in the database
  • Fixed array indexing in LootHelper ( array indexes begin with 0 )
  • Fixed exceptions in LootGenerationFactory
  • Fixed an issue with TOD monsters spawning with low health
  • Fixed Shadow Armor quest
  • Fixed an infinite loop when using a mana stone that didn’t have enough mana to fill up all the items in need
  • Fixed a bug where splitting/merging stacks modified the StackSize in the wrong direction

ACEmulator Monthly Report – January 1, 2019 – February 1, 2019

ACEmulator / ACE:
5 authors have pushed 127 commits to master
366 files have changed
44,716 additions
9,061 deletions
View Pulse

Notable Changes:

  • Completed the remainder of the Training Academy! This includes quests, special vendor, NPCs, and granted items.
  • Added remaining Allegiance features:
    • TeleToMansion
    • Allegiance chat channels
    • Allegiance mansion / villa permissions
    • Bindstones
    • Allegiance names
    • Allegiance officers / titles
    • Allegiance message of the day
  •  Major Inventory Refactor
  • Updated EmoteManager to support Kill Task type quests
  • Added all of the Epic/Legendary cantrip spells
  • Added messages for unaffected PK targets
  • Added shop generators for vendor
  • Improved enchantment layering, and refreshing for item spells
  • Improved cooldown interface
  • Added heritage damage ratings
  • Added TOD spells: Augmented Understanding, Facility Hub Recall
  • Added FailProgressCount support for monster logic
  • Added cooldown enchantments
  • Added /hslist (housetype) to show list of available houses.
  • Improved generator heartbeats
  • Removed Burden field from portal appraisal
  • Added Shade/Palette to Vendor ItemProfiles
  • Improved corpse looting permissions data storage
  • Allow rot for generated items
  • Ensure monsters spawn on walkable slopes
  • Improved scatter generators
  • Added support for swapping dual weapons between hands
  • Improved handling of unknown spell ids
  • Separated out magical, non magical, and mundane items from loot generation.
  • Corrected some quest items that were appearing in random loot.
  • Corrected Spells ID’s in spell tables.
  • Updated chests so that it would cast their spell if they have a spell DID.
  • Added falling impact damage
  • Added text message for mana pool usage
  • Added player movement checks for spellcasting
  • Added scribing abilities
  • Added monster targeting tactics
  • Improved chest generators
  • Improved built-in spells for casters
  • Refactored the core object ticking architecture for improved performance
  • Updated EmoteManager for support for TOD data
  • Added LastUnlocker for chests
  • Added dot_duration to spell table
  • Added fellowship spells
  • Added vendor services, and vendors casting spells
  • Added summoned portal ties
  • Added server persistence for spellbook filters
  • Added physics simulation for corpses. This fixes corpses getting stuck in walls
  • Improving portal recall
  • Added /fillcomps persistence to server
  • Added instant vital updates for fellowships
  • Improved allegiance XP passup
  • Added adapters to convert between different data formats (json)
  • Added loot sharing to fellowship system
  • Improved monster navigation between indoors / outdoors
  • Refactored the salvaging system
  • Improved EmoteManager timing
  • Switching to NonCombat when dequipping / swapping ammo
  • Added Pathwarden chests
  • Added gem activation requirements, and cooldowns
  • Added enchantments for Hermetic Link / Void, Spirit Drinker / Loather
  • Added the remaining wield requirement checks
  • Added cantrip imbues
  • Added vendor handling for unsellable items
  • Added max missile range
  • Added proper handling of KillTaunts
  • Added imbues to damage formulas: Critical Strike, Crippling Blow, Armor Rending, Resistance Rending
  • Changed the way recall/summon portal magics work
  • Updated EmoteManager to use TryCastSpell and differentiate between CastSpell (with windup motion) and CastSpellInstant (without windup motion)
  • Updated Portal to process Portal emotes post teleport (successful portal)
  • Added Blackmoor’s Favor gem
  • Updated base Atlan Weapons
  • Added summoning XP, refactoring XP granting for consistency / common methods
  • Added built-in spells to casting items
  • Added handler for EmoteSet.Refuse for NPCs
  • Added LocalBroadcastRange for chat messages
  • Improved monster CombatManeuvers w/ multistrike weapons
  • Porting AllegianceManager to use the new PlayerManager interface
  • Massive cleanup of ObjectGuid usage through the system
  • Improved enchantment layering
  • Removing deception check from assessing NPCs
  • Added handlers for drop/destroy-on-death items
  • Added Buy/Sell/Close vendor emotes
  • Improved monsters returning to home position
  • Updated Readme for additional clarity w/ installation instructions


  • Fixed a bug where many players were crashing around Holtburg / Town Network
  • Fixed Asuger Temple for Elysa’s Favor Quest
  • Fixed prices for vendor trade notes
  • Fixed a bug where Mattekars couldn’t be hit with high attacks
  • Fixed armor coverage in slots inventory
  • Fixed monsters alerting unattackable friends
  • Fixed house permissions w/ basements
  • Fixed a bug where Mattekars couldn’t be hit with high attacks
  • Fixed some issues with auras cast from multiple sources
  • Fixed Oswald’s Dirk Quest
  • Fixed spell projectiles not working in Black Dominion dungeon
  • Fixing monster corpse spawn bug
  • Fixed an issue when trying to pick up a stackable that you already have a partial stack of
  • Fixed an issue with ConsumeFromInventory not consuming 1 item
  • Fixing monsters with thrown weapons and shield
  • Fixed double-linked trapdoor switches

ACEmulator Monthly Report – December 1, 2018 – January 1, 2019

ACEmulator / ACE:
5 authors have pushed 85 commits to master
312 files have changed
11,064 additions
4,275 deletions
View Pulse

Notable Changes:

  • The emulator now has 100% of the player skills available!
  • Added complete Summoning player skill system!
  • Added full set of Essences. These are currently linking to existing monsters in the game
  • Added support for monsters fighting other monsters
  • Added support for different aggro profiles for mobs
  • Added ACE.Adapter project for supporting Lifestoned json data importing
  • Adding initial reload animation to atlatl combat
  • Upgraded RecipeManager, added Tinkering and Imbues to crafting system
  • Adding house portals / dungeons
  • Added support for mansions
  • Updated food consumables for spellcasting
  • Improved healing other target distances and animations
  • Improved item spell handling for NPKs and monsters
  • Added skill checks for assess person / creature
  • Added support for monsters using multistrike weapons (properly)
  • Removed EdgeSlide property from monsters. Now they will jump down from ledges to chase the player
  • Added complete PKLite system
  • Added config option for PK-only servers
  • Server admins can change the PK status of the server via /modifybool pk_server true|false
  • Added hollow weapons, and unenchantable items
  • Added house guest and storage permissions, open/closed, hook visibility, and boot system
  • Improved monster AI for ranged spellcasting and sending alerts to nearby friends
  • Monsters will now return to their starting positions if they wander too far away from home
  • Added ‘Aura Other’ spells to 16PY-Patches
  • Updated LootGenerationFactory with item updates
  • Improved per-animation attack frame timing for players and monsters
  • Added lifestone protection system
  • Added instant updates to player health bar changes for selected target
  • Adding sticky melee distance to charge attacks
  • Added full PVP damage formulas / calculations for physical combat
  • Improved corpse system, added /corpse, /permit, /consent
  • Improved corpse looting permissions system – now adds player /permits
  • Improved housing system
  • Improved /tele <mapcoords> and minimap click teleporting
  • Added SetMaxVitals to Player on level up
  • Updated LootGenerationFactory for standardized RNG methods
  • Improved resiliency for Command parser
  • Added melee charging attacks
  • Added CreateList to monster inventories
  • Adjusted IsExhausted attack penalty to minimum power/accuracy bar, as per retail
  • Re-adding physics initial update system
  • Omitting spellbook from creature appraisal. This should avoid a lot of the spam with certain decal plugins
  • Added spell component burning system
  • Improved graceful handling for logout and session drops
  • Improved network architecture for WAN connections
  • Improved network security by using CRNG init vectors for the CRC stream ciphers
  • Improved player logout, save, and session drop flows
  • Fixing heritage group skill cost overrides during character creation
  • Performance improvements from profiling
  • Various improvements resulting from excessive load testing
  • Added RNG treasure generation for loot chests
  • Added PlayerManager architecture. This manages both online and offline players, and enables various subsystems to access data for offline players in a consistent manner
  • Integrated Friends and Allegiance system with new PlayerManager
  • Updated DATLoader to use base DatDatabase for loading Highres and Language data
  • Improved DAT loader performance and memory usage


  • Fixed an issue with /telepoi command
  • Fixed PK death message broadcasts
  • Fixed a bug where ServerPackets could be built with too many fragments, exceeding the MTU
  • Fixed vendor prices for stacks. Players no longer get ripped off (as much)
  • Fixed a bug where item buffs could be cast on monster-wielded items
  • Fixed a bug where monsters could wield shield with bow equipped
  • Fixed a bug where monsters could slash with non-slash weapons, and pierce with non-pierce weapons
  • Fixed the elusive monster stuck / falling bug
  • Fixed the elusive null position bug, once and for all
  • Fixed some NPCs not returning to default MotionStance
  • Fixed a bug with InboundMessageManager displaying the wrong opcodes for GameActionType
  • Fixed a bug with some enchantments not being registered properly
  • Fixed a bug where monsters were being incorrectly reported as ‘Killed by misadventure.’
  • Fixed a bug with vendors not sending network updates
  • Fixed a bug where server wasn’t reporting back to ThwargLauncher correctly
  • Fixed corpse looting in vtank
  • Fixed various issues with some objects not spawning properly
  • Fixed a bug where Fellowship XP wasn’t being calculated correctly for some distances
  • Fixed a bug where hooks/storage were not immediately available for player
  • Fixed a walk / run movement speed bug in multiplayer
  • Additional bug fixes for some objects not spawning in indoor environments

ACEmulator Monthly Report – October 1, 2018 – November 1, 2018

ACEmulator / ACE:
6 authors have pushed 45 commits to master
250 files have changed
9,998 additions
5,852 deletions
6 issues closed
View Pulse

Notable Changes:

  • Complex quests such as Aerlinthe and Gaerlan’s Citadel are now fully tested and completed
  • Added 2-handed weapons, and cleaving damage system
  • Lugian animation / stance improvements
  • Added fishing
  • Added dispels and pressure plates
  • Improved death messages for PK battles
  • Added all death messages for players dying to monsters
  • Added character titles
  • Added complete set of level 8 player spells
  • Added server support for all level 8 spells
  • Added multistrike weapons
  • Improved dual weapons stat combinations from both weapons
  • Improved weapon swing animation timings for melee combat
  • Added particle emitters and animation to physics system
  • Improved performance of physics entity cache system
  • Added landblock preloading / permaload system
  • DBObj boxing/unboxing performance improvements
  • Improved performance of physics landblock loading / async – 30% faster landblock loading
  • Improved server shutdown for db consistency
  • Improved object decayable system
  • Improved object database persistence system
  • Improved monster animation sync between server and client
  • Improved performance of GfxObjCache
  • Massive refactoring to the movement and animation systems
  • Adjusted use radius for some objects to match retail
  • Refactored EmoteManager to better handle NPCs in busy state
  • Added more emotes to support the quest system
  • VitalHeartbeat performance optimizations
  • Improved player movement when using items (corpses/chests/doors)
  • Improved animation timing when using consumables (food/drink)
  • Improved performance with weenie precaching
  • Improved performance of landblock loading – portal collision -> portal space -> landblock speed improvements


  • Fixed a bug with corpses decaying a Corpse.EmptyDecayTime after they were looted
  • Fixed a bug where items given to NPCs reappeared back in player inventory
  • Fixed a bug where landblocks were loading equipped items as objects owned by the landblock
  • Fixed a possible crash if invalid object added to landblock
  • Fixed a bug with some monsters getting stuck if they wakeup during idle emote
  • Fixed a bug where Olthoi Swarm Eviscerator would spawn a quarter staff in its inventory, and attempt to wield it
  • Fixed a bug where some linkable generators were not being classified correctly, and not spawning all of their objects
  • Fixed a bug where ‘/adminvision on’ would not take effect immediately
  • Fixed a bug where larger monsters were not being detected as within melee range of player
  • Fixed a bug where recipe items could be combined with themselves
  • Fixed a bug where monsters would continually attack players while still materializing at the lifestone
  • Fixed a bug where spell projectiles weren’t triggering the possible critical death messages
  • Fixed a bug where player would switch to Peace mode to open containers
  • Fixed a bug where player would return to an open container for closing
  • Fixed a bug with arbitrary delays for using / rotating towards items (0.5s/1.0s)
  • Fixed a bug where NPCs were running Actions before completing rotation towards player
  • Fixed various bugs with player switching to Peace mode to perform various actions, instead of using the current stance
  • Fixed a bug where level 8 spells had their minimum power set to 350 instead of 400
  • Fixed a bug where level 8 spell effects were too small
  • Fixed a bug where no death message was displayed for death blows from DamageType.Health (harm, drain, life projectiles)
  • Fixed a bug where item enchantments were having their ticks applied twice
  • Fixed a bug where mages would cast spells before rotating completely to target
  • Fixed a bug where players would windup / fizzle if they didn’t have enough mana
  • Fixed a bug where life projectiles were getting the target stats instead of the source stats
  • Fixed various bugs with generators spawning too many objects, RNG selecting the wrong items, and missing various RNG selection formulas
  • Fixed a bug where resisted spells weren’t alerting monsters