Page 1 of 1

Zoneserver Changes

Posted: Tue Mar 10, 2015 9:19 pm
by Jabantiz
This was an attempt to get past the crash/deadlocks related to content development, specifically the heavy use of /reload spawns.

The major change here is that world no longer maintains a global list that zones pull from, now the global list is on a per zone basis and only loads spawns that have locations within the given zone. In the event a spawn needs to be added to the zone that is not in the list, such as a pet or one spawned through LUA, it will be looked up in the DB and then added to the list for future use, the most common cause of this will be pets and shouldn't happen often.

As a result of these changes it exposed a serious issue with our mutex containers, pretty much killing the zone (may have been the original issue), the containers that were causing the issue have been converted to standard containers wrapped in mutex's.

This also changes how /reload spawns will work, instead of respawning the entire world only the zone the command is issued in will reload, using reload spawns in the console will result in all active zones reloading.

The code is currently on the EQ2Emulator server, if you run into any issues that might be related to these changes please post them here.