Cette bibliothèque est obsolète au profit du GameSDK de Discord. En savoir plus ici
Il s'agit d'une bibliothèque permettant d'interfacer votre jeu avec un client de bureau Discord exécuté localement. Il est connu pour fonctionner sous Windows, macOS et Linux. Vous pouvez utiliser la bibliothèque directement si vous le souhaitez, ou l'utiliser comme guide pour écrire la vôtre si elle ne convient pas à votre jeu tel quel. Les relations publiques/commentaires sont les bienvenus si vous avez une amélioration que tout le monde pourrait souhaiter ou si vous pouvez décrire en quoi cela ne répond pas à vos besoins.
Vous trouverez ici quelques démos rapides qui implémentent le sous-ensemble très minimal pour afficher l'état actuel et contiennent des rappels indiquant où un jeu plus complet ferait plus de choses (rejoindre, regarder, etc.).
La documentation la plus à jour pour Rich Presence peut toujours être trouvée sur notre site de développeur ! Si vous souhaitez déployer votre propre implémentation native de Rich Presence via des sockets IPC au lieu d'utiliser notre SDK (hé, vous avez du temps libre, n'est-ce pas ?), consultez la documentation « Mode difficile ».
Zeroith, vous devriez être configuré pour construire des choses parce que vous êtes un développeur de jeux, n'est-ce pas ?
Tout d’abord, rendez-vous sur le site des développeurs Discord et créez une application. Gardez une trace de Client ID
- vous en aurez besoin ici pour passer à la fonction init.
Pour utiliser le plugin Rich Presense avec Unreal Engine Projects :
examples/unrealstatus/Plugins/discordrpc
— dans le répertoire du plugin de votre projet[YOUR_UE_PROJECT]/Plugins/discordrpc/source/ThirdParty/DiscordRpcLibrary/
, créez un dossier Include
et copiez- discord_rpc.h
et discord_register.h
à partir du zip.[YOUR_UE_PROJECT]/Plugins/discordrpc/source/ThirdParty/DiscordRpcLibrary/
, créez un dossier Win64
lib/discord-rpc.lib
et bin/discord-rpc.dll
de [RELEASE_ZIP]/win64-dynamic
vers le dossier Win64
[YOUR_UE_PROJECT]/Plugins/discordrpc/source/ThirdParty/DiscordRpcLibrary/
, créez un dossier Mac
libdiscord-rpc.dylib
de [RELEASE_ZIP]/osx-dynamic/lib
vers le dossier Mac
[YOUR_UE_PROJECT]/Plugins/discordrpc/source/ThirdParty/DiscordRpcLibrary/
, créez un dossier Linux
x86_64-unknown-linux-gnu
libdiscord-rpc.so
de [RELEASE_ZIP]/linux-dynamic/lib
vers Linux/x86_64-unknown-linux-gnu
Si vous êtes un développeur Unity souhaitant intégrer Rich Presence dans votre jeu, suivez ce guide simple pour vous lancer vers le succès :
Plugins
dans votre dossier Assets
si vous n'en avez pas déjà un.DiscordRpc.cs
à partir d'ici dans votre dossier Assets
. Il s'agit essentiellement de votre fichier d'en-tête pour le SDK Nous avons notre dossier Plugins
prêt, alors soyons spécifiques à la plate-forme !
x86
et x86_64
dans Assets/Plugins/
discord-rpc-win/win64-dynamic/bin/discord-rpc.dll
dans Assets/Plugins/x86_64/
discord-rpc-win/win32-dynamic/bin/discord-rpc.dll
dans Assets/Plugins/x86/
discord-rpc-osx/osx-dynamic/lib/libdiscord-rpc.dylib
dans Assets/Plugins/
libdiscord-rpc.dylib
en discord-rpc.bundle
discord-rpc-linux/linux-dynamic-lib/libdiscord-rpc.so
dans Assets/Plugins/
Vous êtes prêt à rouler ! Pour des exemples de code sur la façon d'interagir avec le SDK à l'aide du fichier d'en-tête DiscordRpc.cs
, consultez notre exemple
Téléchargez un package de version pour votre (vos) plate-forme (s) - ils ont des sous-répertoires avec diverses options prédéfinies, sélectionnez celui que vous devez ajouter /include
à vos inclusions de compilation, /lib
à vos chemins d'éditeur de liens et créez un lien avec discord-rpc
. Pour les versions liées dynamiquement, vous devrez envoyer le fichier associé avec votre jeu.
Premièrement, vous aurez besoin CMake
. Il existe différentes manières de l'installer sur votre système et vous devez vous référer à leur site Web. De nombreux gestionnaires de packages proposent également des moyens d'installer CMake.
Pour vous assurer qu'il est correctement installé, tapez cmake --version
dans votre version de terminal/cmd. Si vous recevez une réponse avec un numéro de version, vous êtes prêt à partir !
Il existe un fichier CMake qui devrait pouvoir générer la bibliothèque pour vous ; Parfois je l'utilise comme ceci :
cd < path to discord-rpc >
mkdir build
cd build
cmake .. -DCMAKE_INSTALL_PREFIX= < path to install discord-rpc to >
cmake --build . --config Release --target install
Il existe un script de construction wrapper build.py
qui exécute cmake
avec quelques options différentes.
Habituellement, j'exécute build.py
pour démarrer les choses, puis j'utilise les fichiers de projet générés pendant que je travaille sur des choses. Cela dépend de la bibliothèque click
, alors faites un pip install click
pour vous assurer que vous l'avez si vous souhaitez exécuter build.py
.
Il existe certaines options CMake qui pourraient vous intéresser :
drapeau | défaut | fait |
---|---|---|
ENABLE_IO_THREAD | ON | Lorsqu'il est activé, nous démarrons un thread pour effectuer le traitement io, s'il est désactivé, vous devez appeler Discord_UpdateConnection vous-même. |
USE_STATIC_CRT | OFF | (Windows) Permet de lier statiquement le CRT, évitant ainsi de demander aux utilisateurs d'installer le package redistribuable. (Les binaires prédéfinis activent cette option) |
BUILD_SHARED_LIBS | OFF | Construire une bibliothèque sous forme de DLL |
WARNINGS_AS_ERRORS | OFF | Lorsqu'il est activé, compile avec -Werror (sur les plateformes *nix). |
Pourquoi en avons-nous trois ? Trois fois plus de plaisir !
CI | badge |
---|---|
TravisCI | |
AppVeyor | |
Kite de construction (interne) |
Il s'agit d'un "jeu" d'aventure textuel qui établit/désactive la connexion à Discord et envoie une mise à jour de présence à chaque commande.
Il s'agit d'un exemple de projet Unity qui encapsule une version DLL de la bibliothèque et envoie des mises à jour de présence lorsque vous cliquez sur un bouton. Exécutez python build.py unity
dans le répertoire racine pour créer les fichiers de bibliothèque corrects et placez-les dans leurs dossiers respectifs.
Il s'agit d'un exemple de projet Unreal qui enveloppe la version DLL de la bibliothèque avec un plugin Unreal, expose une classe de modèle pour interagir avec elle et l'utilise pour créer une interface utilisateur très simple. Exécutez python build.py unreal
dans le répertoire racine pour créer les fichiers de bibliothèque corrects et placez-les dans leurs dossiers respectifs.
Vous trouverez ci-dessous un tableau des wrappers non officiels développés par la communauté et des implémentations de Rich Presence dans différentes langues. Si vous souhaitez que le vôtre soit ajouté, veuillez faire une pull request en ajoutant votre référentiel au tableau. Le référentiel doit inclure :
Nom | Langue |
---|---|
Discorde RPC C# | C# |
Discorde RPC D | D |
discord-rpc.jar | Java |
java-discord-rpc | Java |
Discord-IPC | Java |
Présence riche en discorde | Javascript |
drpc4k | Kotlin |
lua-discordRPC | LuaJIT (FFI) |
pyprésence | Python |
ÉpéeRPC | Rapide |