YoYoGames / GameMaker-Bugs

Public tracking for GameMaker bugs
24 stars 8 forks source link

In-Game: Rollback gives JavaScript exception and games do not start in Nov23 Betas #2194

Open allende opened 11 months ago

allende commented 11 months ago

Description

After downloading beta 2023.1100.0.448 version the rollback game won't start properly and blames creating too many rooms:

image

image

2023.8 still works: image

Steps To Reproduce

  1. Start GameMaker and import the attached sample project
  2. Open the GX.games website and sign-in manually there - https://gx.games
  3. Now run the project for GX.games inside GameMaker
  4. Press Enter when the game requests it
  5. Observe the error console appears and gives the errors as shown above

8d85eb9f-300e-450b-8ba0-d23dc823c919

rwkay commented 11 months ago

I am unable to replicate the issue... could you please add the Javascript console output that you are seeing?

It is running and starting (it gets to the Press ENTER prompt, then gets these errors

connecting to server Connecting to server Request failed with status 400, sign_in_required Request failed with status 400, sign_in_required

allende commented 11 months ago

I keep getting the too many rooms created message, then this appears on the JS console (it maybe some permission but I even tried to disable the firewall and same error appears), I am running the IDE as admin.

MessageEvent 9runner.js:306 Requesting 2-player game with game-id debug 81runner.html?game=rollbackPOC:707 0 api.gxc.gg/gg/games/debug/rooms:1 Failed to load resource: the server responded with a status of 400 () runner.html?game=rollbackPOC:707 Request failed with status 400, too_many_rooms_created content_getdify.js:1 MessageEvent api.gxc.gg/gg/games/debug/rooms:1 Failed to load resource: the server responded with a status of 400 () api.gxc.gg/gg/games/debug/rooms:1 Failed to load resource: the server responded with a status of 400 () api.gxc.gg/gg/games/debug/rooms:1 Failed to load resource: the server responded with a status of 400 () runner.html?game=rollbackPOC:707 0 3runner.html?game=rollbackPOC:707 Request failed with status 400, too_many_rooms_created content_getdify.js:1 MessageEvent content_getdify.js:1 MessageEvent content_getdify.js:1 MessageEvent 23runner.html?game=rollbackPOC:707 0 runner.js:300 Connected successfully to relay. 3runner.html?game=rollbackPOC:707 0 2runner.js:300 Connected successfully to relay. 21runner.html?game=rollbackPOC:707 0 runner.wasm:0x31cdb Uncaught RuntimeError: memory access out of bounds at runner.wasm:0x31cdb at runner.wasm:0x170f5c at runner.wasm:0xa355 at runner.wasm:0x285894 at runner.wasm:0x28ab26 at runner.wasm:0x31700c at runner.wasm:0x16c3df at c (runner.js:272:432) runner.html?game=rollbackPOC:721 [post-exception status] Exception thrown, see JavaScript console printErr @ runner.html?game=rollbackPOC:721 runner.wasm:0x1632f Uncaught RuntimeError: memory access out of bounds at runner.wasm:0x1632f at runner.wasm:0x9b668 at runner.wasm:0x21fd6e at Object.Oi (runner.js:195:36) at HTMLCanvasElement.b (runner.js:152:47) runner.html?game=rollbackPOC:721 [post-exception status] Exception thrown, see JavaScript console printErr @ runner.html?game=rollbackPOC:721 runner.wasm:0x85567 Uncaught RuntimeError: memory access out of bounds at runner.wasm:0x85567 at runner.wasm:0x15f002 at runner.wasm:0x27bf08 at Object.Oi (runner.js:194:20) at b (runner.js:152:47) runner.html?game=rollbackPOC:721 [post-exception status] Exception thrown, see JavaScript console printErr @ runner.html?game=rollbackPOC:721 runner.wasm:0x85567 Uncaught RuntimeError: memory access out of bounds at runner.wasm:0x85567 at runner.wasm:0x15f002 at runner.wasm:0x27bf08 at Object.Oi (runner.js:194:20) at b (runner.js:152:47)

If I try same project with previous version, game may throw that message but will start

Failed to load resource: the server responded with a status of 400 () api.gxc.gg/gg/games/debug/rooms:1 Failed to load resource: the server responded with a status of 400 () 43runner.html?game=rollbackPOC:707 0 content_getdify.js:1 MessageEvent 242runner.html?game=rollbackPOC:707 0 runner.html?game=rollbackPOC:707 Pause event has been registered for this frame runner.html?game=rollbackPOC:707 0 runner.html?game=rollbackPOC:707 Pause event has been unregistered 401runner.html?game=rollbackPOC:707 0 runner.html?game=rollbackPOC:707 focuscb::focus event received 309runner.html?game=rollbackPOC:707 0 1201runner.html?game=rollbackPOC:707 0

rwkay commented 11 months ago

which version of the IDE / Runtime are you building with?

allende commented 11 months ago

which version of the IDE / Runtime are you building with?

I have the issue with the current BETA 2023.1100.0.435 runtime 2023.1000.0.448 image

The version I've use where the project is unning-working is the current monthly

IDE 2023.8.2.108 runtime 2023.8.2.152 image

rwkay commented 11 months ago

@YYDan can you please get someone else to try this before we release the monthly build?

YYDan commented 11 months ago

Several of us reproduced, so I have updated the description and repro steps now,

@rwkay The missing step as to why you got that error different to the user was that GX requires you to log in on the website before you can test rollback. (The error shown is not especially informative and looks like an issue with the project, when it is not.)

ezekiel-hls commented 10 months ago

@allende Have you found any work-around to fix this issue?

allende commented 10 months ago

@allende Have you found any work-around to fix this issue?

Hi, no I think they even disable rollback system on the monthly release image

So they are probably working on a fix for this, the only work around would I can think about would it be to use the latest version where the issue was not present.

ezekiel-hls commented 10 months ago

Thanks for the reply. I will try using older monthly release version and see if I can make it work. Tried working on beta release 2023.800.x, that fixes the javascript exception but "rollback_game_running" never gets set to true

BroDudeGuyMan commented 7 months ago

I was going through the official multi-player tutorial, and had only done the first coding step for obj_game. When I ran the game (target system GX.Games | GMS2 VM) I get this error as soon as the code loaded in the browser:

############################################################################################ ERROR in action number 1 of Create Event for object obj_game:

Variable .rollabck_join_game(100005, -2147483648) not set before reading it. at gml_Object_obj_game_Create_0 (line 5) - if (!rollabck_join_game()) { ############################################################################################ gml_Object_obj_game_Create_0 (line 5)

I have no idea what's happening, I can't find documentation for this error anywhere.

YYDan commented 6 months ago

Rollback is always disabled in Monthly releases - this has always been the way and is documented in the manual as such.

You need to use a Beta version of GM if you want to use rollback in your games.