Cause was placing an active mouse cursor at the direct center of the character (causing the aim vector to have no direction) AND firing. You get warning output even if you aren't firing, but you suffer no ill effect. If you are firing, then you get ported to the top-left of the map. Fix is not to update aim vector if the mouse is at the center of the character.
also added setTCPNoDelay(true) for sockets... might help MP
Added space to debug message..
…with more saturation.
Fix for Issue #848: When a turret was placed the makeUpgradeableWithCosts() and thus the upgradeComplete() methods were called unnecesarily, causing the turrets maxHealth to be incremented by 10 and its heath to reset. This was fixed by moving the makeUpgradable call from init to the constructor similar to the harvester.