Release notes

SmartFoxServer Pro
Version 1.6.6

SERVER
- Fixed a logging bug with Actionscript errors, resulting in a NPE.
- Fixed a logging bug when loading a Buddy List, resulting in a NPE.
- Fixed a bug with firing client side onBuddyListError when user buddylist is full.
- An onBuddyListError is fired when User A attempts to add User B to his buddy list, using mutualAddBuddy, when User B has his list full.
- Added new <WarnOnWrongZoneRequest> configuration parameter, allows to send a warning to the client when attempting to log into a non-existing Zone. It is recommended to turn it off in production.
- Added new <ownerListFullErrorMsg> setting in BuddyList 2.0 (see chapter 2.1 of the docs for more details).
- Added new <targetListFullErrorMsg> setting in BuddyList 2.0 (see chapter 2.1 of the docs for more details).
- Added new switchPlayer() server side method to turn a player into a spectator (opposite to switchSpectator).
- Added new PLAYER_SWITCHED server side Event.
- Changed the way Zone Reload from the AdminTool works for Buddy List. Previously reloading Zones would clear all previous buddy lists.
- Update embedded JRE (1.6.0_13).
- Updated embedded H2 database engine (1.1.110).
- Updated embedded Jetty http server (6.1.16).

CLIENT
- Added new switchPlayer() request. Allows to turn a player into a spectator inside a game room.
- Added new onPlayerSwitched event, fired in response to a switchPlayer() request.

OTHER
- New "Getting started" welcome page by simply pointing the browser to http://localhost:8080 after installing. Allows to quickly get started with SmartFoxServer PRO and browse all the Examples.
- Added new SmartFoxBits BasePack Components (Community Edition) for Flex, including documentation and examples.
- Added OpenSpace demo, including examples, documentation and Map Editor.

KNOWN BUGS
- There is a known bug related to the creation of non-player characters (NPC). We have noticed that all connections coming from NPCs remain in CLOSE_WAIT state after closing them. This is not an issue if NPCs are created once and then used for the entire life cycle of the server instance. However if you plan to dynamically create and destroy many of them it could eventually exhaust the number of sockets/file-descriptors available of the underlying OS.


----------------------------------------------------------


IF YOU ARE UPDATING FROM VERSION 1.6.3 OR EARLIER
In version 1.6.5. we changed slightly the way in which the <ServerIp> setting works. You can either specify the wanted IP address or use an asterisk (*) to bind all available IP addresses (default in previous 1.6.x versions).
Specifying the IP address in the <ServerIp> will make the server listen exclusively on that IP.
This means that the BlueBox will need to be pointed to that address in order to work correctly. For optimal performance of the BlueBox we recommend to use <ServerIp>*</ServerIp>.


----------------------------------------------------------


ALSO INCLUDED IN THIS PATCH

Version 1.6.5

- Fixed a bug in dispatching "userLost" event at Room Level for Java extensions: only rooms where the user was joined will receive a notification. Previously it was dispatched to all rooms.
- Added extra defensive exception check to avoid that custom Extension code generating an exception when handling the "userLost" event causes incomplete disconnections at Server level.
- Fixed IPFilter so that it doesn't interfere with the BlueBox.
- Add new BlueBox 1.0.5 update.
- ExtensionHelper new feature: added a rebootServer() that allows extensions to restart the server from code.
- New server side event called "serverReady" is fired to any extension as soon as the server engine is ready to accept connections. The event is necessary for proper NPC initialization. Since every NPC uses a connection to the loopback interface, the extension should know when the server engine is ready to accept those connections. The init() method of an extension is not the right place because it is executed before the socket engine starts.
- Fixed FINE level logging for server side setUserVariables() method.
- Updated documentation, in particular chapter 6.10 (Buddy list 2.0).
- Added an NPC tutorial showing how to create bots that interact with real users in the avatarChat example.
- AS 2.0 and AS 3.0 Flash API: fixed a small bug with UserVariables updates when users are joined in multiple rooms. With a particular combination of rooms the client could receive a null object instead of the reference to the User who updated the variables.



(c) 2009 GOTOANDPLAY snc -- All rights reserved --