1) User connects to a openspace room (called en-maintown)
2) User connects to a different openspace (called en-firestation)
3) User then connects to a none openspace room called GameRoomA and is disconnected from the openspace room called firestation. I can see in the Admin tool that at this point the only room the user is connected to is GameRoomA
4) The client then attempts to join the openspace room called en-maintown again but the extension fires the following exception (some debug prior to the exception included):
18:15:06,296 DEBUG [ExtensionController-1] request.JoinRoomRequestHandler - connected rooms:[[ Room: GameRoomA, Id: 5, Group: Game, isGame: true ]]
18:15:06,296 INFO [com.smartfoxserver.v2.controllers.ExtensionController-1] utils.Logger - [OpenSpace] 'Send avatar to map' command received on behalf of user pwdtest [3]
18:15:06,296 INFO [com.smartfoxserver.v2.controllers.ExtensionController-1] utils.Logger - [OpenSpace] Map load request received from user pwdtest [3]
18:15:06,297 INFO [com.smartfoxserver.v2.controllers.ExtensionController-1] utils.Logger - [OpenSpace] Joining user pwdtest [3] to Room 'en-maintown' [4]
com.smartfoxserver.v2.exceptions.SFSRuntimeException: Can't remove user: ( User Name: pwdtest, Id: 3, Priv: 0, Sess: 0 ) , from: [ Room: en-firestation, Id: 13, Group: en-firestation, isGame: false ]
at com.smartfoxserver.v2.entities.managers.SFSRoomManager.removeUser(SFSRoomManager.java:442)
As you can see from the debug in the custom join handler the connected room is just the GameRoomA so I don't understand why it is trying to leave a room that it was connected to prior but not anymore. The code that is throwing the error is:
Code: Select all
log.debug("connected rooms:"+ user.getJoinedRooms());
ext.sendAvatarToMap(user, room.getId(), "");
It's as if openspace has some memory of the previous openspace room it was connected to but I'm not sure why this would be. If anyone has any idea what I'm doing wrong here it would be much appreciated [/code]