とりあえず他のroomは考えなくていいです
このコードが書かれているオブジェクトがroom内に1つだけある形であれば正常に動くはずです
ですがインスタンスidが操作をするたびに変わっています
プロジェクトの作りがどうなっているのか不明なので私にはその理由までは分かりません
どういう作りになっているか一度見直してみてはどうでしょうか
追記
roomがpersistentになってる場合はそのroomにこのオブジェクトがあると競合すると思います
(操作を複数のインスタンスが拾うので)
通報 ...