Pustaka ini sudah tidak digunakan lagi dan digantikan oleh GameSDK Discord. Pelajari lebih lanjut di sini
Ini adalah perpustakaan untuk menghubungkan game Anda dengan klien desktop Discord yang berjalan secara lokal. Ini diketahui berfungsi di Windows, macOS, dan Linux. Anda dapat menggunakan lib secara langsung jika Anda mau, atau menggunakannya sebagai panduan untuk menulis lib Anda sendiri jika tidak sesuai dengan permainan Anda. PR/masukan diterima jika Anda memiliki perbaikan yang mungkin diinginkan semua orang, atau dapat menjelaskan bagaimana hal ini tidak memenuhi kebutuhan Anda.
Berikut ini adalah beberapa demo cepat yang mengimplementasikan subset sangat minimal untuk menunjukkan status saat ini, dan memiliki callback dimana game yang lebih lengkap akan melakukan lebih banyak hal (bergabung, menyaksikan, dll).
Dokumentasi terkini untuk Rich Presence selalu dapat ditemukan di situs pengembang kami! Jika Anda tertarik untuk meluncurkan penerapan Rich Presence asli Anda sendiri melalui soket IPC daripada menggunakan SDK kami—hei, Anda punya waktu luang, bukan?—lihat dokumentasi "Mode Keras".
Zeroith, Anda harus siap untuk membangun sesuatu karena Anda adalah seorang pengembang game, bukan?
Pertama, kunjungi situs pengembang Discord dan jadikan aplikasi Anda sendiri. Pantau Client ID
-- Anda memerlukannya di sini untuk meneruskan ke fungsi init.
Untuk menggunakan plugin Rich Presense dengan Unreal Engine Projects:
examples/unrealstatus/Plugins/discordrpc
—ke direktori plugin proyek Anda[YOUR_UE_PROJECT]/Plugins/discordrpc/source/ThirdParty/DiscordRpcLibrary/
, buat folder Include
dan salin discord_rpc.h
dan discord_register.h
ke dalamnya dari zip[YOUR_UE_PROJECT]/Plugins/discordrpc/source/ThirdParty/DiscordRpcLibrary/
, buat folder Win64
lib/discord-rpc.lib
dan bin/discord-rpc.dll
dari [RELEASE_ZIP]/win64-dynamic
ke folder Win64
[YOUR_UE_PROJECT]/Plugins/discordrpc/source/ThirdParty/DiscordRpcLibrary/
, buat folder Mac
libdiscord-rpc.dylib
dari [RELEASE_ZIP]/osx-dynamic/lib
ke folder Mac
[YOUR_UE_PROJECT]/Plugins/discordrpc/source/ThirdParty/DiscordRpcLibrary/
, buat folder Linux
x86_64-unknown-linux-gnu
libdiscord-rpc.so
dari [RELEASE_ZIP]/linux-dynamic/lib
ke Linux/x86_64-unknown-linux-gnu
Jika Anda seorang pengembang Unity yang ingin mengintegrasikan Rich Presence ke dalam game Anda, ikuti panduan sederhana ini untuk mulai meraih kesuksesan:
Plugins
di dalam folder Assets
Anda jika Anda belum memilikinyaDiscordRpc.cs
dari sini ke folder Assets
Anda. Ini pada dasarnya adalah file header Anda untuk SDK Kami telah menyiapkan folder Plugins
, jadi mari kita spesifikkan platform!
x86
dan x86_64
di dalam Assets/Plugins/
discord-rpc-win/win64-dynamic/bin/discord-rpc.dll
ke Assets/Plugins/x86_64/
discord-rpc-win/win32-dynamic/bin/discord-rpc.dll
ke Assets/Plugins/x86/
discord-rpc-osx/osx-dynamic/lib/libdiscord-rpc.dylib
ke Assets/Plugins/
libdiscord-rpc.dylib
menjadi discord-rpc.bundle
discord-rpc-linux/linux-dynamic-lib/libdiscord-rpc.so
ke Assets/Plugins/
Anda siap untuk berguling! Untuk contoh kode tentang cara berinteraksi dengan SDK menggunakan file header DiscordRpc.cs
, lihat contoh kami
Unduh paket rilis untuk platform Anda -- mereka memiliki subdir dengan berbagai opsi bawaan, pilih salah satu yang perlu Anda tambahkan /include
ke kompilasi Anda, /lib
ke jalur linker Anda, dan tautkan dengan discord-rpc
. Untuk build yang ditautkan secara dinamis, Anda harus mengirimkan file terkait bersama dengan game Anda.
Pertama-tama, Anda pasti menginginkan CMake
. Ada beberapa cara berbeda untuk menginstalnya di sistem Anda, dan Anda harus merujuk ke situs web mereka. Banyak pengelola paket juga menyediakan cara menginstal CMake.
Untuk memastikannya terinstal dengan benar, ketik cmake --version
sesuai selera terminal/cmd Anda. Jika Anda mendapat respons dengan nomor versi, Anda siap melakukannya!
Ada file CMake yang seharusnya bisa menghasilkan lib untuk Anda; Terkadang saya menggunakannya seperti ini:
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
Ada skrip build wrapper build.py
yang menjalankan cmake
dengan beberapa opsi berbeda.
Biasanya, saya menjalankan build.py
untuk memulai, lalu menggunakan file proyek yang dihasilkan saat saya mengerjakan sesuatu. Itu tergantung pada perpustakaan click
, jadi lakukan pip install click
cepat untuk memastikan Anda memilikinya jika Anda ingin menjalankan build.py
.
Ada beberapa opsi CMake yang mungkin Anda minati:
bendera | bawaan | melakukan |
---|---|---|
ENABLE_IO_THREAD | ON | Saat diaktifkan, kami memulai thread untuk melakukan pemrosesan io, jika dinonaktifkan, Anda harus menghubungi Discord_UpdateConnection sendiri. |
USE_STATIC_CRT | OFF | (Windows) Aktifkan untuk menghubungkan CRT secara statis, sehingga tidak mengharuskan pengguna menginstal paket yang dapat didistribusikan ulang. (Biner bawaan mengaktifkan opsi ini) |
BUILD_SHARED_LIBS | OFF | Bangun perpustakaan sebagai DLL |
WARNINGS_AS_ERRORS | OFF | Saat diaktifkan, kompilasi dengan -Werror (pada platform *nix). |
Mengapa kita memiliki ketiganya? Tiga kali lebih menyenangkan!
CI | lencana |
---|---|
TravisCI | |
AplikasiVeyor | |
Membangun Kite (internal) |
Ini adalah "permainan" petualangan teks yang memulai/mengakhiri koneksi ke Discord, dan mengirimkan pembaruan kehadiran pada setiap perintah.
Ini adalah contoh proyek Unity yang menggabungkan perpustakaan versi DLL, dan mengirimkan pembaruan keberadaan saat Anda mengklik tombol. Jalankan python build.py unity
di direktori root untuk membuat file perpustakaan yang benar dan menempatkannya di folder masing-masing.
Ini adalah contoh proyek Unreal yang menggabungkan perpustakaan versi DLL dengan plugin Unreal, memperlihatkan kelas cetak biru untuk berinteraksi dengannya, dan menggunakannya untuk membuat UI yang sangat sederhana. Jalankan python build.py unreal
di direktori root untuk membuat file perpustakaan yang benar dan menempatkannya di folder masing-masing.
Di bawah ini adalah tabel wrapper tidak resmi yang dikembangkan komunitas dan implementasi Rich Presence dalam berbagai bahasa. Jika Anda ingin repositori Anda ditambahkan, silakan buat permintaan tarik untuk menambahkan repositori Anda ke tabel. Repositori harus mencakup:
Nama | Bahasa |
---|---|
Perselisihan RPC C# | C# |
Perselisihan RPC D | D |
perselisihan-rpc.jar | Jawa |
java-discord-rpc | Jawa |
Perselisihan-IPC | Jawa |
Kehadiran Kaya Perselisihan | JavaScript |
drpc4k | Kotlin |
lua-discordRPC | LuaJIT (FFI) |
kehadiran | ular piton |
PedangRPC | Cepat |