Esta biblioteca ha quedado obsoleta en favor de GameSDK de Discord. Obtenga más información aquí
Esta es una biblioteca para conectar tu juego con un cliente de escritorio Discord que se ejecuta localmente. Se sabe que funciona en Windows, macOS y Linux. Puedes usar la biblioteca directamente si lo deseas, o usarla como guía para escribir la tuya propia si no se adapta a tu juego tal como está. Se aceptan relaciones públicas y comentarios si tiene una mejora que todos podrían desear o si puede describir cómo esto no satisface sus necesidades.
Aquí se incluyen algunas demostraciones rápidas que implementan el subconjunto mínimo para mostrar el estado actual y tienen devoluciones de llamada sobre dónde un juego más completo haría más cosas (unirse, ser espectador, etc.).
¡La documentación más actualizada para Rich Presence siempre se puede encontrar en nuestro sitio para desarrolladores! Si está interesado en implementar su propia implementación nativa de Rich Presence a través de sockets IPC en lugar de usar nuestro SDK (oye, tiene tiempo libre, ¿verdad?), consulte la documentación del "Modo difícil".
Zeroith, deberías estar preparado para crear cosas porque eres desarrollador de juegos, ¿verdad?
Primero, dirígete al sitio de desarrolladores de Discord y crea una aplicación. Mantenga un registro del Client ID
; lo necesitará aquí para pasar a la función de inicio.
Para utilizar el complemento Rich Presense con Unreal Engine Projects:
examples/unrealstatus/Plugins/discordrpc
directorio de complementos de su proyecto.[YOUR_UE_PROJECT]/Plugins/discordrpc/source/ThirdParty/DiscordRpcLibrary/
, cree una carpeta Include
y copie discord_rpc.h
y discord_register.h
desde el zip[YOUR_UE_PROJECT]/Plugins/discordrpc/source/ThirdParty/DiscordRpcLibrary/
, cree una carpeta Win64
lib/discord-rpc.lib
y bin/discord-rpc.dll
desde [RELEASE_ZIP]/win64-dynamic
a la carpeta Win64
[YOUR_UE_PROJECT]/Plugins/discordrpc/source/ThirdParty/DiscordRpcLibrary/
, cree una carpeta Mac
libdiscord-rpc.dylib
de [RELEASE_ZIP]/osx-dynamic/lib
a la carpeta Mac
[YOUR_UE_PROJECT]/Plugins/discordrpc/source/ThirdParty/DiscordRpcLibrary/
, cree una carpeta Linux
x86_64-unknown-linux-gnu
libdiscord-rpc.so
de [RELEASE_ZIP]/linux-dynamic/lib
a Linux/x86_64-unknown-linux-gnu
Si eres un desarrollador de Unity y buscas integrar Rich Presence en tu juego, sigue esta sencilla guía para comenzar a tener éxito:
Plugins
dentro de su carpeta de Assets
si aún no tiene una.DiscordRpc.cs
desde aquí a su carpeta Assets
. Este es básicamente su archivo de encabezado para el SDK. Tenemos nuestra carpeta Plugins
lista, ¡así que vayamos a plataformas específicas!
x86
y x86_64
dentro de Assets/Plugins/
discord-rpc-win/win64-dynamic/bin/discord-rpc.dll
a Assets/Plugins/x86_64/
discord-rpc-win/win32-dynamic/bin/discord-rpc.dll
a Assets/Plugins/x86/
discord-rpc-osx/osx-dynamic/lib/libdiscord-rpc.dylib
a Assets/Plugins/
libdiscord-rpc.dylib
a discord-rpc.bundle
discord-rpc-linux/linux-dynamic-lib/libdiscord-rpc.so
a Assets/Plugins/
¡Estás listo para rodar! Para ver ejemplos de código sobre cómo interactuar con el SDK usando el archivo de encabezado DiscordRpc.cs
, consulte nuestro ejemplo.
Descargue un paquete de lanzamiento para su(s) plataforma(s): tienen subdirectorios con varias opciones prediseñadas, seleccione el que necesita, agregue /include
a sus inclusiones de compilación, /lib
a las rutas de su vinculador y vincúlelo con discord-rpc
. Para las compilaciones vinculadas dinámicamente, deberás enviar el archivo asociado junto con tu juego.
Primero, querrás CMake
. Hay algunas formas diferentes de instalarlo en su sistema y debe consultar su sitio web. Muchos administradores de paquetes también ofrecen formas de instalar CMake.
Para asegurarse de que esté instalado correctamente, escriba cmake --version
en su versión de terminal/cmd. Si recibe una respuesta con un número de versión, ¡está listo!
Hay un archivo CMake que debería poder generar la biblioteca por usted; A veces lo uso así:
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
Hay un script de compilación contenedor build.py
que ejecuta cmake
con algunas opciones diferentes.
Por lo general, ejecuto build.py
para comenzar y luego uso los archivos del proyecto generados mientras trabajo en las cosas. Depende de la biblioteca click
, así que haga un pip install click
para asegurarse de tenerla si desea ejecutar build.py
.
Hay algunas opciones de CMake que podrían interesarle:
bandera | por defecto | hace |
---|---|---|
ENABLE_IO_THREAD | ON | Cuando está habilitado, iniciamos un hilo para realizar el procesamiento de io; si está deshabilitado, debe llamar Discord_UpdateConnection usted mismo. |
USE_STATIC_CRT | OFF | (Windows) Habilite la vinculación estática del CRT, evitando que los usuarios instalen el paquete redistribuible. (Los binarios prediseñados habilitan esta opción) |
BUILD_SHARED_LIBS | OFF | Construir biblioteca como una DLL |
WARNINGS_AS_ERRORS | OFF | Cuando está habilitado, se compila con -Werror (en plataformas *nix). |
¿Por qué tenemos tres de estos? ¡Tres veces más diversión!
CI | insignia |
---|---|
TravisCI | |
AppVeyor | |
Cometa de construcción (interna) |
Este es un "juego" de aventuras de texto que inicia/desinicia la conexión a Discord y envía una actualización de presencia con cada comando.
Este es un proyecto de ejemplo de Unity que incluye una versión DLL de la biblioteca y envía actualizaciones de presencia cuando hace clic en un botón. Ejecute python build.py unity
en el directorio raíz para crear los archivos de biblioteca correctos y colocarlos en sus respectivas carpetas.
Este es un proyecto Unreal de muestra que incluye la versión DLL de la biblioteca con un complemento Unreal, expone una clase de modelo para interactuar con ella y la usa para crear una interfaz de usuario muy simple. Ejecute python build.py unreal
en el directorio raíz para crear los archivos de biblioteca correctos y colocarlos en sus respectivas carpetas.
A continuación se muestra una tabla de contenedores no oficiales desarrollados por la comunidad e implementaciones de Rich Presence en varios idiomas. Si desea que se agregue el suyo, realice una solicitud de extracción agregando su repositorio a la tabla. El repositorio debe incluir:
Nombre | Idioma |
---|---|
Discordia RPC C# | DO# |
Discordia RPC D | D |
discordia-rpc.jar | Java |
java-discord-rpc | Java |
Discord-IPC | Java |
Presencia rica en discordia | javascript |
drpc4k | Kotlin |
lua-discordRPC | LuaJIT (FFI) |
pipresencia | Pitón |
espadaRPC | Rápido |