ironbane / IronbaneServerLegacy

A 3D MMO written using pure javascript.
http://www.ironbane.com/
GNU General Public License v3.0
175 stars 44 forks source link

Units not removed on Zone Change #411

Closed markfarrell closed 10 years ago

markfarrell commented 10 years ago

I do not encounter this bug when running the server with node version 0.10.18 on a Debian installation.

However under the same version of node on my Macbook (OS X 10.8.5), units do not get removed when I change zones. I can guess that something must go wrong when updating a player's otherUnits list when teleporting; there might be some subtle differences in how object comparisons are done between distributions of node.

I've replicated this bug on branches master, develop, and develop-worldhandler.

Here are two screenshots showing the bug: I entered the game in the Developer zone and then /stuck'ed back to the World zone. The bug occurs no matter what combination of zone changes I choose.

Developer Zone World Zone

markfarrell commented 10 years ago

Found the root of the issue is ./src/client/js/Engine/SocketHandler.js: ironbane.removeUnit(..)was referenced, where it should be ironbane.getUnitlist().removeUnit(..).

It turns out that this wasn't an OS issue. I couldn't replicate the bug on Debian because I hadn't yet rebuilt the client after rebasing over the changes made to the client, whereas on my Macbook I had.