Open Tottel opened 3 years ago
Thanks for the feature request!
Unfortunately, the current Discord SDK appears to be explicitly incompatible with FOSS, and the GPL in particular.
It would be nice to implement some of these features for people using the platform, but Discord is not friendly to non-commercial, FOSS.
According to the devblog, you should be able to manually set the name: https://blog.discord.com/all-your-game-are-detection-fd06b1683137 . I have not tested this feature myself, and have no way to do so as I do not run their software. Documentation on this feature appears to be scarce, or else I'm looking for the wrong thing.
Hopefully someone else can chime in with more information.
My understanding from the messages in the Cyan Discord is that the MOULa client shows up as "External.Release" and the H'uru client doesn't show up at all.
The window name is set to the Product String, which is slightly different between the builds:
UruLive.Live.1.918.OpenUru#187 - External.Release
UruLive.1.918 - 1058e0d - Internal.Release
My guess is that in the absence of the Discord SDK, it's trying to parse the window/process title to determine the game name, and doing something naïve like taking everything after the -
(and then deciding in the H'uru case that the result isn't a valid title).
Might be easy to experiment with changing the Product String on a H'uru local build to see what results we can get and try to figure out if there's a consistent parsing algorithm being used by Discord. My quick search hasn't turned up any documentation about how exactly they pull info from detected games.
It pulls it from the Windows Title, and looks like it uses whatever is after the last dash. You can edit it manually as stated above. You just click the name in the discord client section for adding games and it lets you edit it. See screenshot below. Changed it to "Uru Live - Hazado", Current MOULA client.
I tested with the latest Plasma client I built myself and that shows up as "Uru Live" without making changes
Looks like if you want it to be added automatically need to integrate the discord sdk. https://discord.com/developers/docs/rich-presence/how-to
When I visit that page, it says that SDK is deprecated and the current one to look at is https://discord.com/developers/docs/game-sdk/sdk-starter-guide
I see this request as being two separate concerns, only one of which this community can easily address:
To include the discord SDK would require a license amendment by legal@cyan.com. I.E. the below would need to be integrated into the current license.
If you modify this Program, or any covered work, by linking or combining it with the Discord Game SDK (or a modified version of that library), containing parts covered by the terms of the Discord Developer Terms of Service, the licensors of this Program grant you additional permission to convey the resulting work.
Might look like this, but legal@cyan.com would need to bless it
If you modify this Program, or any covered work, by linking or combining it with any of RAD Game Tools Bink SDK, Autodesk 3ds Max SDK, NVIDIA PhysX SDK, Microsoft DirectX SDK, OpenSSL library, Independent JPEG Group JPEG library, Microsoft Windows Media SDK, Apple QuickTime SDK or Discord Game SDK (or a modified version of those libraries), containing parts covered by the terms of the Bink SDK EULA, 3ds Max EULA, PhysX SDK EULA, DirectX SDK EULA, OpenSSL and SSLeay licenses, IJG JPEG Library README, Windows Media SDK EULA, QuickTime SDK EULA, or the Discord Developer Terms of Service, the licensors of this Program grant you additional permission to convey the resulting work. Corresponding Source for a non-source form of such a combination shall include the source code for the parts of OpenSSL and IJG JPEG Library used as well as that of the covered work.
Unfortunately, a new license exception will never happen. Not only would Cyan have to agree, but, because we do not require a CLA, we would also have to contact and acquire approval from every single contributor ever. Some of those contributors are no longer listed in the GitHub view because they have deleted their accounts. Hence the following remark at the end of the README:
Further introduction of non-free libraries likely would require a revised license and thus permission from all contributors to the codebase. That being problematic, any additional non-free libraries are unlikely to be accepted by Cyan Worlds or the development community.
For starters, it's not auto-detected as a game. On top of that, trying to add it manually does not work properly, because it shows up as "External.Release"
It would be great if the game could auto-appear on Discord. If that is not possible, at least have it show up with a relevant name.