quetoo icon indicating copy to clipboard operation
quetoo copied to clipboard

Discord presence integration

Open jdolan opened this issue 6 years ago • 3 comments

As a player, I want my Quetoo activity to be visible to my Discord friends.

@Paril started work on this, see #513. I wanted to open an issue to link the feature to a milestone.

jdolan avatar Feb 26 '18 03:02 jdolan

This is almost finished, but my main issue right now is that support for Rich Presence is pretty thin. Here's the situation:

  • The discord_rpc repo is archived and basically on life support. They are updating it it seems to make it still "work", but it's not going to be improved upon. It seemingly still does work, and the Discord Developers Discord mentions that it's the same underlying tech that GameSDK uses. Another plus side though is that the code is open, so we can use it directly and not use any static libs for it: https://github.com/discord/discord-rpc
  • They recommend moving to GameSDK, but GameSDK has problems of its own. It's a more "mature" API, but it's closed source (the actual header/API is MIT, but the source used to built it is not available; the maintainers say that it's built directly from Discord's actual source, so it's an automated process, and they don't plan on making the sources open). This means we have to rely on binaries from Discord. Discord only provides binaries for x64 Mac/Windows/OSX and x86 Windows. Nothing else. They don't plan to provide ARM binaries or extend that any further. The last info we got about this from them was like 2019.

So.. I don't know. I'm thinking we should just use discord-rpc, maybe just embed the code right in our repo since it's MIT and it saves us from having another dependency that we have to sync up between OSes and integrate into our build tools. What you think @jdolan?

Paril avatar Feb 02 '22 19:02 Paril

That sounds right to me @Paril. It can live alongside the mini zip dependency. Thank you! Looking forward to having this working!

jdolan avatar Feb 02 '22 20:02 jdolan

@Paril Is there anything else we need to do here to call this done? Do we currently expose the client's server_address (Internet or otherwise) so that Discord friends can join the game? I'm okay with not handling NAT'ed addresses correctly here for 1.0.

jdolan avatar Mar 07 '22 21:03 jdolan