Room create at the server not removed

Post here your questions about SFS2X. Here we discuss all server-side matters. For client API questions see the dedicated forums.

Moderators: Lapo, Bax

Post Reply
Alex
Posts: 131
Joined: 03 Sep 2006, 09:15

Room create at the server not removed

Post by Alex »

Hi

When I create a room at the server - after all the users are gone - the room is not destroyed.

Code: Select all

public void createRoom( User user, ISFSObject sfso ) throws SFSCreateRoomException
{
	CreateRoomSettings rs = new CreateRoomSettings();
	rs.setGroupId( "Poker_N" );
	rs.setGame( true );
	rs.setMaxUsers( 8 );
	rs.setMaxVariablesAllowed( 150 );
	rs.setName( sfso.getUtfString( "n" ) );
	rs.setPassword( sfso.getUtfString( "p" ) );
	rs.setMaxSpectators( sfso.getInt( "ms" ) );
	
	List<RoomVariable> rVars = new ArrayList<RoomVariable>();
	rVars.add( new SFSRoomVariable( "tl", sfso.getInt( "tl" ) ) );
	rVars.add( new SFSRoomVariable( "rl", sfso.getInt( "rl" ) ) );
	rVars.add( new SFSRoomVariable( "rt", sfso.getInt( "rt" ) ) );
	rVars.add( new SFSRoomVariable( "d", sfso.getDouble( "d" ).longValue() ) );
	rVars.add( new SFSRoomVariable( "hc", sfso.getBool( "hc" ) ) );
	rVars.add( new SFSRoomVariable( "he", sfso.getBool( "he" ) ) );
	rVars.add( new SFSRoomVariable( "gp", sfso.getUtfString( "gp" ) ) );
	
	rs.setRoomVariables( rVars );
		
	ce.getApi().createRoom( ce.getParentZone(), rs, user, true, user.getLastJoinedRoom(), true, true );
}
When I check the admin console - The auto remove mode is set to Default
Should I set anything else in order to destroy the room after all the users are gone?
User avatar
Lapo
Site Admin
Posts: 23438
Joined: 21 Mar 2005, 09:50
Location: Italy

Post by Lapo »

Rooms are removed dynamically only if their dynamic flag is set.
By default all client-created Rooms are dynamic, but for Rooms created from server side this must be explicit.

You need an extra
rs.setDynamic(true);

Also check the setAutoRemoveMode() for more details.

p.s. = for consistency I think we should set by default as "dynamic" the server created Rooms too
Lapo
--
gotoAndPlay()
...addicted to flash games
Alex
Posts: 131
Joined: 03 Sep 2006, 09:15

Post by Alex »

10x - that helped
krishsalt
Posts: 9
Joined: 31 Aug 2011, 16:05
Location: India

Re: Room create at the server not removed

Post by krishsalt »

Hi All,

I was created room from server side, I was set

dynamic(true); and
crs.setAutoRemoveMode(SFSRoomRemoveMode.WHEN_EMPTY_AND_CREATOR_IS_GONE);

after room created "Owner name = [server]"
but still room was not deleting..

currently i am using SFS2X 2.5. any body can please help to me

Advance Thanks
Krishsal
User avatar
Bax
Site Admin
Posts: 4626
Joined: 29 Mar 2005, 09:50
Location: Italy
Contact:

Re: Room create at the server not removed

Post by Bax »

If you set the remove mode to WHEN_EMPTY_AND_CREATOR_IS_GONE, and the Room owner (creator) is the server itself, then the removal condition will never be true (the server never "goes"). Maybe you should just set it to WHEN_EMPTY.
Paolo Bax
The SmartFoxServer Team
Post Reply