Using suppressUserList break RoomVariable updates

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
AliAlbarrak
Posts: 3
Joined: 02 Dec 2020, 07:27

Using suppressUserList break RoomVariable updates

Post by AliAlbarrak »

Hello SFS team,

We had a recent issue with RoomVariable updates when we started using suppressUserList.
We have the following room structure:
* Room group Alpha contains rooms Alpha 1, Alpha 2, Alpha 3 ...
* Room group Beta contains rooms Beta 1, Beta 2, Beta 3 ...

Users will switch between rooms of Alpha and Beta according to some game rules. A user listens only to one room group at a time, Alpha if they are on an Alpha # room, or Beta of they are on a Beta # room.
The issue started happening when we made some Alpha Rooms suppressUserList

How to reproduce:
1. Have 2 room groups Alpha and Beta
2. Create a room Alpha 1 with suppressUserList=true
3. Create a room Beta 1 with no special configurations
4. Make a user join room Alpha 1 (and consequently listens to Alpha room group)
5. Set a RoomVariable of Alpha 1 to a known value, say 1
6. Move user to room Beta 1 (and consequently leaves room Alpha 1 and unsubscribe from group Alpha and subscribe to group Beta)
5. Set the same RoomVariable of Alpha 1 to a different value, say 2
7. Move user back to room Alpha 1
8. In the client check the value of the RoomVariable

Expected Behaviour:
RoomVariable value is the most recent value 2

Actual Behaviour:
RoomVariable value is an old value 1

Notes:
* This only happens if the user joined Alpha 1 at least once before moving to Beta room group
* Other users who didn't leave Alpha 1 get the correct value
* If a client with wrong value reconnect, they get the correct value

Extra Note:
This also affect the room existence state. If room Alpha 1 was removed while the user is in Beta room group the client will see Alpha 1 in the rooms list when joining Alpha room group again even though it no longer exist in the server

Thank you in advance for your assistance
User avatar
Lapo
Site Admin
Posts: 23438
Joined: 21 Mar 2005, 09:50
Location: Italy

Re: Using suppressUserList break RoomVariable updates

Post by Lapo »

Thanks for posting all the details.
We'll look into it.

Cheers
Lapo
--
gotoAndPlay()
...addicted to flash games
AliAlbarrak
Posts: 3
Joined: 02 Dec 2020, 07:27

Re: Using suppressUserList break RoomVariable updates

Post by AliAlbarrak »

Hello Lapo and team,

I know you are working hard on SFS 3, and our team is excited for it. However, Unity currently shows no signs of supporting .NET Core any time soon. We are wondering if you plan to fix this in SFS 2X, or if it is planned for the SFS 3 release.

Thanks
User avatar
Lapo
Site Admin
Posts: 23438
Joined: 21 Mar 2005, 09:50
Location: Italy

Re: Using suppressUserList break RoomVariable updates

Post by Lapo »

Have you tested the scenario above with the latest versions of SFS2X and relative API? If not I'd suggest to do so and let us know.
I am not sure why the described use case would not work. RoomVariables do not depend on Room Groups and even less so from the suppressUserList setting.

In particular: every time a User joins a Room the whole list of Room Variables is sent in the most up to date version to the client.

Also I think there is an incorrect assumption here:
4. Make a user join room Alpha 1 (and consequently listens to Alpha room group)
Joining a Room does not trigger the subscription the relative Group, unless you do it manually and viceversa: leaveing a Room doesn't unsubscribe the User form that Room's Group.

I just wanted to point it out because I noticed you mentioned this behavior twice in the description.

Thanks
Lapo
--
gotoAndPlay()
...addicted to flash games
Post Reply