geekahedron / SteamGameAutoJoin

AutoJoin script for game lobby page of 2015 Steam Summer Minigame
16 stars 16 forks source link

Getting error "No more rooms in queue" after looping for awhile #7

Closed thoraine closed 9 years ago

thoraine commented 9 years ago

Hi, I tried out this script by joining a random room and then going back to the main page and entering the room number of a full room that I intend to join. However after a few minutes the console log states "No more rooms in queue" even though I ticked Continue when room is full and I only input one room number in the text box. Adding on to that, it even kicked me out of my current game. I'm pretty sure I have everything set up correctly.

geekahedron commented 9 years ago

If you have just one room listed, it is still put into a "queue" of one element, and whenever a room reaches a condition where it stops looping, it will be removed from the queue. The error message before the "No more rooms in queue" should tell you exactly why that room stopped looping.

Also note, the state of the checkbox is in real time; that is, if you are looping on a full room and uncheck the box while the script is running, it will then drop rooms and then pop up a warning. Actually, everywhere in the code where it would reach the end of the queue and display that message, there is also an alert warning that should pop up.

As far as kicking you out of your current game, that will only happen if the other error conditions don't exist (ie, a spot opened up in the room) but there's always the possibility that someone else got into the new opening before you did. There is no perfect, risk-free way of leaving your current game only after you successfully join a new one, but the script is designed to mitigate that risk as much as possible.

thoraine commented 9 years ago

POST http://steamcommunity.com/minigame/ajaxjoingame/ 400 (Bad Request)send @ jquery-1.11.1.min.js?v=.isFTSRckeNhC:4m.extend.ajax @ jquery-1.11.1.min.js?v=.isFTSRckeNhC:4m.(anonymous function) @ jquery-1.11.1.min.js?v=.isFTSRckeNhC:4JoinGameLoop @ VM1939:25HandleJoinError @ VM1940:75(anonymous function) @ VM1939:39j @ jquery-1.11.1.min.js?v=.isFTSRckeNhC:2k.fireWith @ jquery-1.11.1.min.js?v=.isFTSRckeNhC:2x @ jquery-1.11.1.min.js?v=.isFTSRckeNhC:4send.b @ jquery-1.11.1.min.js?v=.isFTSRckeNhC:4

VM1939:37 Failed to join game 48583

VM1940:47 24 Error joining game 48583: There was a problem trying to join the game: it already has the maximum number of players.

VM1940:68 Removing room 48583 from queue

VM1940:71 No more rooms in queue

On Sun, Jun 21, 2015 at 3:17 AM, geekahedron notifications@github.com wrote:

If you have just one room listed, it is still put into a "queue" of one element, and whenever a room reaches a condition where it stops looping, it will be removed from the queue. The error message before the "No more rooms in queue" should tell you exactly why that room stopped looping.

Also note, the state of the checkbox is in real time; that is, if you are looping on a full room and uncheck the box while the script is running, it will then drop rooms and then pop up a warning. Actually, everywhere in the code where it would reach the end of the queue and display that message, there is also an alert warning that should pop up.

As far as kicking you out of your current game, that will only happen if the other error conditions don't exist (ie, a spot opened up in the room) but there's always the possibility that someone else got into the new opening before you did. There is no perfect, risk-free way of leaving your current game only after you successfully join a new one, but the script is designed to mitigate that risk as much as possible.

— Reply to this email directly or view it on GitHub https://github.com/geekahedron/SteamGameAutoJoin/issues/7#issuecomment-113805347 .

thoraine commented 9 years ago

EDIT: I do have it ticked all the time.

On Sun, Jun 21, 2015 at 9:36 AM, Kelland Chew thoraine@gmail.com wrote:

POST http://steamcommunity.com/minigame/ajaxjoingame/ 400 (Bad Request)send @ jquery-1.11.1.min.js?v=.isFTSRckeNhC:4m.extend.ajax @ jquery-1.11.1.min.js?v=.isFTSRckeNhC:4m.(anonymous function) @ jquery-1.11.1.min.js?v=.isFTSRckeNhC:4JoinGameLoop @ VM1939:25HandleJoinError @ VM1940:75(anonymous function) @ VM1939:39j @ jquery-1.11.1.min.js?v=.isFTSRckeNhC:2k.fireWith @ jquery-1.11.1.min.js?v=.isFTSRckeNhC:2x @ jquery-1.11.1.min.js?v=.isFTSRckeNhC:4send.b @ jquery-1.11.1.min.js?v=.isFTSRckeNhC:4

VM1939:37 Failed to join game 48583

VM1940:47 24 Error joining game 48583: There was a problem trying to join the game: it already has the maximum number of players.

VM1940:68 Removing room 48583 from queue

VM1940:71 No more rooms in queue

On Sun, Jun 21, 2015 at 3:17 AM, geekahedron notifications@github.com wrote:

If you have just one room listed, it is still put into a "queue" of one element, and whenever a room reaches a condition where it stops looping, it will be removed from the queue. The error message before the "No more rooms in queue" should tell you exactly why that room stopped looping.

Also note, the state of the checkbox is in real time; that is, if you are looping on a full room and uncheck the box while the script is running, it will then drop rooms and then pop up a warning. Actually, everywhere in the code where it would reach the end of the queue and display that message, there is also an alert warning that should pop up.

As far as kicking you out of your current game, that will only happen if the other error conditions don't exist (ie, a spot opened up in the room) but there's always the possibility that someone else got into the new opening before you did. There is no perfect, risk-free way of leaving your current game only after you successfully join a new one, but the script is designed to mitigate that risk as much as possible.

— Reply to this email directly or view it on GitHub https://github.com/geekahedron/SteamGameAutoJoin/issues/7#issuecomment-113805347 .

geekahedron commented 9 years ago

hrm, the only reason I can see for that is the preference isn't being read correctly here: if (getPreferenceBoolean("tryFullRooms", false) === true). I can make it default to true, at least, so if the localStorage is messed up or can't be read for some reason, it will continue looping instead of quitting unexpectedly.

geekahedron commented 9 years ago

3.4 defaults now to true if the preferences cannot be read, and should continue trying to loop on those errors.