Something I've been noticing with reload spawns lately is occasionally when trying to use it, the server (or zoneserver) will lock up. You don't get kicked but the server never reloads the spawns and if you log out the game will tell you, you have a character in the world when you try to log in.
I've only ever noticed this on DB Project but that's where I spend most of my time on the emu. One thing maybe worth noting is this usually happens after a reload spawnscripts but I almost always use that before a /reload spawns so not sure that signifies anything.
Reload Spawnscripts
- thefoof
- Retired
- Posts: 630
- Joined: Wed Nov 07, 2012 7:36 pm
- Location: Florida
- John Adams
- Retired
- Posts: 9684
- Joined: Thu Jul 26, 2007 6:27 am
- EQ2Emu Server: EQ2Emulator Test Center
- Characters: John
- Location: Arizona
- Contact:
Re: Reload Spawns
Next time you're in Dev, try reloading spawns without the scripts. Jab did fix some stuff with reload spawns a while back, and I never noticed a problem. Also keep in mind a lot of functionality has been added to spawns during the Frostfang content dev, so it's possible something new could be getting deadlocked on the unload or reload.
If you can get this to happen on your local server, you might be able to step into the code and trap it.
If you can get this to happen on your local server, you might be able to step into the code and trap it.
- thefoof
- Retired
- Posts: 630
- Joined: Wed Nov 07, 2012 7:36 pm
- Location: Florida
Re: Reload Spawnscripts
I've ran into this a couple more times lately since I've been in-game more and it's definitely related to reload spawnscripts. Haven't gotten it to happen in debug yet and it's fairly rare so I'll try to run in debug (oh how I hate slow compiles
) and figure out what's going wrong.
-
Jabantiz
- Lead Developer
- Posts: 2912
- Joined: Wed Jul 25, 2007 2:52 pm
- Location: California
Re: Reload Spawnscripts
Committed a possible fix to this issue, looks like spawns could still make calls to spawn scripts while it was in the process of reloading, if timing is just right it had the potential to lock up the spawn loop of the zone server basically killing it, client loop (different thread) was not effected allowing the player to still do commands not related to spawns (chat, /who) and not being kicked as communication is still going on between the server and client.
I added a bool to lua_interface that gets set to true when a reload starts, and false when every thing is done, as long as the bool is true spawns can not call their spawn scripts, this seems to have solved the problem, at least I have not encountered it again after the changes
I added a bool to lua_interface that gets set to true when a reload starts, and false when every thing is done, as long as the bool is true spawns can not call their spawn scripts, this seems to have solved the problem, at least I have not encountered it again after the changes
Who is online
Users browsing this forum: No registered users and 0 guests