PreMiD / Presences

🛒 Storage for Presences located at our Presence Store.
https://premid.app/store
Mozilla Public License 2.0
592 stars 1.29k forks source link

Zombs Royale | zombsroyale.io #3680

Closed BitCrack closed 3 years ago

BitCrack commented 3 years ago

Prerequisites and essential questions

What's your Discord username? BitCrack#2024

What's the name of the service? zombsroyale.io | Zombs Royale

What should the Presence display? Title: Zombs Royale / zombsroyale.io State: In-game [or] Waiting in lobby/Waiting for a game Details: Time elapsed [and/or] Players/Teams left [and/or] Players/Teams killed (Details can either display one of the suggested stats or alternate between them)

If possible, please provide a logo for the service (512x512 minimum) image or image

rxri commented 3 years ago

From what I see - it's not possible to get any info since it is rendered in html canvas.

BitCrack commented 3 years ago

From what I see - it's not possible to get any info since it is rendered in html canvas.

Wouldn't it be possible to get the values directly through Javascript? There were various methods for finding out pointers and offsets to get correct values when I was playing with reverse-engineering games, so I thought the same could be possible with these types of games?

rxri commented 3 years ago

I was looking at window object rn and I don't see anything that has assigned variables that you can use to show on presence.

BitCrack commented 3 years ago

I was looking at window object rn and I don't see anything that has assigned variables that you can use to show on presence.

Does it need to be something "inside" the window object? I found a simple global called game after guessing possible names for anything that can hold the game's state, but I haven't looked into it deeper and it might be worth doing so. Either way, I think this should be opened because I'm sure there is a way to get information about the game since you well, can't hide it from the client if it's using it. And if there's someone dedicated enough to fight against the possible obfuscation, they might find appropriate variables, functions, or whatever.

MrBartusek commented 3 years ago

Yep game.currentGameState holds current game state, I'll work on this

MrBartusek commented 3 years ago

Okay, to be honest, I'm not sure if that is possible, there is no way to access game from premid, it just isn't there. I can without problems access it from the console or programmatically created from <script> elements but not from the presence script itself. Maybe it can be done by creating <script> element and somehow moving data from it to presence script but from my research, it's not possible.

rxri commented 3 years ago

If you really need that - try checking Rythm Presence that has custom function for it - I'm allowing you to do it