Что такое discord rpc

Обновлено: 21.11.2024

Эта библиотека устарела в пользу GameSDK от Discord. Подробнее здесь

Это библиотека для взаимодействия вашей игры с локально работающим клиентом Discord для настольных ПК. Известно, что он работает на Windows, macOS и Linux. Вы можете использовать библиотеку напрямую, если хотите, или использовать ее как руководство по написанию собственной, если она не подходит для вашей игры как есть. Приветствуются PR/отзывы, если у вас есть улучшение, которое всем может понадобиться, или если вы можете описать, почему оно не соответствует вашим потребностям.

Включено несколько быстрых демонстраций, в которых реализовано очень минимальное подмножество для отображения текущего состояния, и есть обратные вызовы для того, где более полная игра будет делать больше вещей (присоединение, наблюдение и т. д.).

Самую актуальную документацию по Rich Presence всегда можно найти на нашем сайте для разработчиков! Если вы заинтересованы в развертывании собственной реализации Rich Presence через сокеты IPC вместо использования нашего SDK — эй, у вас есть свободное время, верно? — ознакомьтесь с документацией «Hard Mode».

Zeroith, вы должны быть настроены на создание вещей, потому что вы разработчик игр, верно?

Сначала зайдите на сайт разработчиков Discord и создайте себе приложение. Следите за идентификатором клиента — он понадобится вам здесь, чтобы передать его функции инициализации.

Настройка Unreal Engine 4

Чтобы использовать плагин Rich Presense с проектами Unreal Engine:

  1. Загрузите последнюю версию для каждой целевой операционной системы и заархивированный исходный код.
  2. В архиве с исходным кодом скопируйте подключаемый модуль UE — examples/unrealstatus/Plugins/discordrpc — в каталог подключаемых модулей вашего проекта.
  3. В [ВАШ_UE_PROJECT]/Plugins/discordrpc/source/ThirdParty/DiscordRpcLibrary/ создайте папку Include и скопируйте в нее файлы discord_rpc.h и discord_register.h из архива.
  4. Выполните указанные ниже действия для каждой ОС.
  5. Создайте свой проект UE4
  6. Запустите редактор и включите подключаемый модуль Discord.
  • В [ВАШ_UE_PROJECT]/Plugins/discordrpc/source/ThirdParty/DiscordRpcLibrary/ создайте папку Win64
  • Скопируйте lib/discord-rpc.lib и bin/discord-rpc.dll из [RELEASE_ZIP]/win64-dynamic в папку Win64
  • В [ВАШ_UE_PROJECT]/Plugins/discordrpc/source/ThirdParty/DiscordRpcLibrary/ создайте папку Mac
  • Скопируйте libdiscord-rpc.dylib из [RELEASE_ZIP]/osx-dynamic/lib в папку Mac
  • В [ВАШ_UE_PROJECT]/Plugins/discordrpc/source/ThirdParty/DiscordRpcLibrary/ создайте папку Linux.
  • Внутри создайте еще одну папку x86_64-unknown-linux-gnu
  • Скопируйте libdiscord-rpc.so из [RELEASE_ZIP]/linux-dynamic/lib в Linux/x86_64-unknown-linux-gnu

Если вы разработчик Unity и хотите интегрировать Rich Presence в свою игру, следуйте этому простому руководству, чтобы начать путь к успеху:

  1. Загрузите библиотеки DLL для любой платформы из наших выпусков
  2. В проекте Unity создайте папку Plugins внутри папки Assets, если у вас ее еще нет
  3. Скопируйте отсюда файл DiscordRpc.cs в папку «Активы». По сути, это ваш заголовочный файл для SDK.

У нас есть готовая папка с плагинами, так что давайте перейдем к конкретной платформе!

  1. Создайте папки x86 и x86_64 внутри Assets/Plugins/
  2. Скопируйте discord-rpc-win/win64-dynamic/bin/discord-rpc.dll в Assets/Plugins/x86_64/
  3. Скопируйте discord-rpc-win/win32-dynamic/bin/discord-rpc.dll в Assets/Plugins/x86/
  4. Нажмите на обе библиотеки DLL и убедитесь, что они ориентированы на правильные архитектуры на панели свойств редактора Unity.
  5. Готово!
  1. Скопируйте discord-rpc-osx/osx-dynamic/lib/libdiscord-rpc.dylib в Assets/Plugins/
  2. Переименуйте libdiscord-rpc.dylib в discord-rpc.bundle
  3. Готово!
  1. Скопируйте discord-rpc-linux/linux-dynamic-lib/libdiscord-rpc.so в Assets/Plugins/
  2. Готово!

Все готово! Примеры кода о том, как взаимодействовать с SDK с помощью файла заголовка DiscordRpc.cs, см. в нашем примере

Загрузите пакет выпуска для своей платформы (платформ) — у них есть подкаталоги с различными готовыми параметрами, выберите тот, который вам нужен, добавьте /include к компилируемым включениям, /lib к вашим путям компоновщика и свяжите с discord-rpc . Для динамически связанных сборок вам потребуется отправить соответствующий файл вместе с игрой.

Во-первых, вам понадобится CMake . Есть несколько разных способов установить его в вашей системе, и вы должны обратиться к их веб-сайту. Многие менеджеры пакетов также предоставляют способы установки CMake.

Чтобы убедиться, что он установлен правильно, введите cmake --version в свой вариант терминала/cmd. Если вы получите ответ с номером версии, все готово!

Есть файл CMake, который должен сгенерировать для вас библиотеку; Иногда я использую это так:

Существует сценарий сборки оболочки build.py, который запускает cmake с несколькими различными параметрами.

Обычно я запускаю build.py, чтобы начать работу, а затем использую сгенерированные файлы проекта по мере работы. Это зависит от библиотеки кликов, поэтому сделайте быструю установку pip, чтобы убедиться, что она у вас есть, если вы хотите запустить build.py .

Есть некоторые параметры CMake, которые могут вас заинтересовать:

< /таблица>

Почему у нас их три? Втрое больше удовольствия!

флаг по умолчанию выполняет
ENABLE_IO_THREAD ON Если включено, мы запускаем поток для обработки ввода-вывода, если отключено, вы должны сами вызвать Discord_UpdateConnection.
USE_STATIC_CRT OFF (Windows) Включите, чтобы статически связать CRT, не требуя от пользователей установки распространяемого пакета. (Предустановленные двоичные файлы включают эту опцию)
BUILD_SHARED_LIBS OFF Сборка библиотеки как DLL
WARNINGS_AS_ERRORS OFF Если включено, компилируется с параметром -Werror (на платформах *nix).
CI значок
TravisCI
AppVeyor
Buildkite (внутренний)

Это текстовая приключенческая «игра», которая инициирует/деинициализирует подключение к Discord и отправляет обновление присутствия по каждой команде.

Это пример проекта Unity, который содержит DLL-версию библиотеки и отправляет обновления присутствия при нажатии кнопки. Запустите python build.py unity в корневом каталоге, чтобы создать правильные файлы библиотеки и поместить их в соответствующие папки.

Это пример проекта Unreal, в котором DLL-версия библиотеки заключена в подключаемый модуль Unreal, предоставляется класс схемы для взаимодействия с ним и используется для создания очень простого пользовательского интерфейса. Запустите python build.py unreal в корневом каталоге, чтобы собрать правильные файлы библиотеки и поместить их в соответствующие папки.

Обертки и реализации

Ниже приведена таблица неофициальных, разработанных сообществом оболочек и реализаций Rich Presence на разных языках. Если вы хотите, чтобы ваш репозиторий был добавлен, отправьте запрос на включение, добавив свой репозиторий в таблицу. Репозиторий должен включать:

Самый лучший способ создавать собственные Discord Rich Presences и управлять ими с помощью кнопок!

⬇️ Прокрутите вниз, чтобы увидеть инструкции по установке! ⬇️

Возможности

  • Нажимаемые кнопки!
  • Создавайте и управляйте несколькими присутствиями
  • Чистый и легкий интерфейс
  • Четкие инструкции
  • Необязательный таймер
  • Пользовательский упрощенный портал для разработчиков
  • Простые программы установки для Windows, macOS и Linux
  • Экспортировать данные о присутствии и делиться ими с друзьями
  • Несколько тем
  • Кроссплатформенная поддержка панели задач
  • Автообновление
  • Поддержка Pywal
  • Пакет AUR
  • Поддержка командной строки
  • Автозапуск
  • Подписание кода в Windows (скоро)
  • Переводы (скоро)
  • Горячие клавиши (скоро)
  • Обмен в Интернете (в будущем)

Установить

Версия 2.1.1

Windows
  • Загрузите исполняемый файл, нажмите «Дополнительная информация» > «Все равно запустить» > «Открыть Discord RPC Maker» из ярлыка на рабочем столе или из меню «Пуск».

macOS
  • Загрузите и смонтируйте dmg, перетащите Discord RPC Maker в папку «Приложения» > дважды щелкните папку «Приложения» > щелкните правой кнопкой мыши Discord RPC Maker > «Открыть» > «Открыть».

AppImage (все дистрибутивы Linux)

Пакет AUR (discordrpcmaker)
  • yay -S discordrpcmaker (замените yay на нужный помощник AUR)

.deb (дистрибутивы Linux на основе Ubuntu/Debian) ="ubun" />
  • Загрузите, sudo apt install /path/to/discordrpcmaker-linux.deb или откройте с помощью GDebi/Eddy.

.rpm (дистрибутивы Linux на основе RedHat) федора" />

  • Загрузить, sudo rpm -i /path/to/discordrpcmaker-linux.rpm (не поддерживает openSUSE).

Tarball (все дистрибутивы Linux)
  • Загрузить, tar -xvf /path/to/discordrpcmaker-linux.tar.gz > Запустить: discordrpcmaker-2.1.1/discordrpcmaker ; Чтобы установить, mv ./discordrpcmaker-2.1.1 /bin/drpcm && ln -s /bin/drpcm/discordrpcmaker /bin/discordrpcmaker и запустите discordrpcmaker .

Из источника

⚠ Не делайте этого, если вы не собираетесь изменять код!

Сторонники

Вы можете получить здесь свое имя!

Мы пытаемся собрать 150 долларов США на оплату онлайн-сервисов для следующего обновления и подписания кода!

Читайте также: