تم إهمال هذه المكتبة لصالح Discord's GameSDK. تعلم المزيد هنا
هذه مكتبة لربط لعبتك مع عميل Discord لسطح المكتب الذي يتم تشغيله محليًا. ومن المعروف أنه يعمل على أنظمة التشغيل Windows وmacOS وLinux. يمكنك استخدام lib مباشرة إذا أردت، أو استخدامه كدليل لكتابة كتابك الخاص إذا لم يناسب لعبتك كما هي. نرحب بالعلاقات العامة/التعليقات إذا كان لديك تحسين قد يرغب فيه الجميع، أو يمكنك وصف كيف لا يلبي ذلك احتياجاتك.
يوجد هنا بعض العروض التوضيحية السريعة التي تنفذ الحد الأدنى من المجموعة الفرعية لإظهار الحالة الحالية، ولديها عمليات رد اتصال للمكان الذي ستؤدي فيه اللعبة الأكثر اكتمالًا إلى القيام بأشياء أكثر (الانضمام والمشاهدة وما إلى ذلك).
يمكن دائمًا العثور على أحدث الوثائق الخاصة بالحضور الغني على موقع المطورين الخاص بنا! إذا كنت مهتمًا ببدء التنفيذ الأصلي الخاص بك للحضور الغني عبر مقابس IPC بدلاً من استخدام SDK الخاص بنا - مرحبًا، لديك وقت فراغ، أليس كذلك؟ - راجع وثائق "الوضع الصعب".
زيرويث، يجب أن تكون مستعدًا لبناء الأشياء لأنك مطور ألعاب، أليس كذلك؟
أولاً، توجه إلى موقع مطوري Discord واصنع لنفسك تطبيقًا. تتبع Client ID
- ستحتاج إليه هنا لتمريره إلى وظيفة init.
لاستخدام البرنامج الإضافي Rich Presense مع Unreal Engine Projects:
examples/unrealstatus/Plugins/discordrpc
— إلى دليل المكونات الإضافية لمشروعك[YOUR_UE_PROJECT]/Plugins/discordrpc/source/ThirdParty/DiscordRpcLibrary/
، أنشئ مجلد Include
وانسخ discord_rpc.h
و discord_register.h
إليه من الملف المضغوط.[YOUR_UE_PROJECT]/Plugins/discordrpc/source/ThirdParty/DiscordRpcLibrary/
، قم بإنشاء مجلد Win64
lib/discord-rpc.lib
و bin/discord-rpc.dll
من [RELEASE_ZIP]/win64-dynamic
إلى مجلد Win64
[YOUR_UE_PROJECT]/Plugins/discordrpc/source/ThirdParty/DiscordRpcLibrary/
، قم بإنشاء مجلد Mac
libdiscord-rpc.dylib
من [RELEASE_ZIP]/osx-dynamic/lib
إلى مجلد Mac
[YOUR_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 في لعبتك، فاتبع هذا الدليل البسيط للبدء نحو النجاح:
Plugins
داخل مجلد Assets
الخاص بك إذا لم يكن لديك واحدًا بالفعلDiscordRpc.cs
من هنا إلى مجلد Assets
لديك. هذا هو في الأساس ملف الرأس الخاص بك لـ SDK لقد جهزنا مجلد Plugins
الخاص بنا، لذا دعونا نخصص النظام الأساسي!
x86
و x86_64
داخل Assets/Plugins/
discord-rpc-win/win64-dynamic/bin/discord-rpc.dll
إلى Assets/Plugins/x86_64/
discord-rpc-win/win32-dynamic/bin/discord-rpc.dll
إلى Assets/Plugins/x86/
discord-rpc-osx/osx-dynamic/lib/libdiscord-rpc.dylib
إلى Assets/Plugins/
libdiscord-rpc.dylib
إلى discord-rpc.bundle
discord-rpc-linux/linux-dynamic-lib/libdiscord-rpc.so
إلى Assets/Plugins/
أنت جاهز للانطلاق! للحصول على أمثلة التعليمات البرمجية حول كيفية التفاعل مع SDK باستخدام ملف الرأس DiscordRpc.cs
، راجع مثالنا
قم بتنزيل حزمة الإصدار لمنصتك (منصاتك) - فهي تحتوي على أدلة فرعية مع العديد من الخيارات المعدة مسبقًا، وحدد الخيار الذي تريد إضافته /include
إلى تضمينات التجميع الخاصة بك، /lib
إلى مسارات الرابط الخاص بك، واربطه باستخدام discord-rpc
. بالنسبة للإصدارات المرتبطة ديناميكيًا، ستحتاج إلى شحن الملف المرتبط مع لعبتك.
أولاً، ستحتاج إلى CMake
. هناك عدة طرق مختلفة لتثبيته على نظامك، ويجب عليك الرجوع إلى موقعهم على الويب. يوفر العديد من مديري الحزم طرقًا لتثبيت CMake أيضًا.
للتأكد من تثبيته بشكل صحيح، اكتب cmake --version
في ملف Terminal/cmd الخاص بك. إذا تلقيت ردًا يتضمن رقم الإصدار، فأنت جاهز للبدء!
يوجد ملف CMake الذي من المفترض أن يكون قادرًا على إنشاء lib لك؛ أحيانا أستخدمه مثل هذا:
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
يوجد برنامج نصي لبناء المجمع build.py
يقوم بتشغيل cmake
مع بعض الخيارات المختلفة.
عادة، أقوم بتشغيل build.py
لبدء الأمور، ثم استخدم ملفات المشروع التي تم إنشاؤها أثناء العمل على الأشياء. يعتمد ذلك على مكتبة click
، لذا قم pip install click
للتأكد من حصولك عليها إذا كنت تريد تشغيل build.py
.
هناك بعض خيارات CMake التي قد تهمك:
علَم | تقصير | يفعل |
---|---|---|
ENABLE_IO_THREAD | ON | عند التمكين، نبدأ تشغيل سلسلة محادثات لإجراء معالجة io، وإذا تم تعطيله، فيجب عليك الاتصال Discord_UpdateConnection بنفسك. |
USE_STATIC_CRT | OFF | (Windows) تمكين الارتباط الثابت لـ CRT، مع تجنب مطالبة المستخدمين بتثبيت الحزمة القابلة لإعادة التوزيع. (الثنائيات المعدة مسبقًا تمكن هذا الخيار) |
BUILD_SHARED_LIBS | OFF | بناء مكتبة باعتبارها DLL |
WARNINGS_AS_ERRORS | OFF | عند التمكين، يتم التجميع باستخدام -Werror (على منصات *nix). |
لماذا لدينا ثلاثة من هؤلاء؟ ثلاث مرات متعة!
سي.آي | شارة |
---|---|
ترافيسسي | |
AppVeyor | |
Buildkite (داخلي) |
هذه "لعبة" مغامرات نصية تقوم ببدء/تحديد الاتصال بـ Discord، وترسل تحديثًا للتواجد في كل أمر.
هذا هو نموذج لمشروع Unity الذي يغلف إصدار DLL من المكتبة، ويرسل تحديثات التواجد عند النقر فوق زر. قم بتشغيل python build.py unity
في الدليل الجذر لإنشاء ملفات المكتبة الصحيحة ووضعها في المجلدات الخاصة بها.
هذا نموذج لمشروع Unreal يقوم بتغليف إصدار DLL من المكتبة باستخدام مكون إضافي Unreal، ويكشف عن فئة مخطط للتفاعل معها، ويستخدم ذلك لإنشاء واجهة مستخدم بسيطة جدًا. قم بتشغيل python build.py unreal
في الدليل الجذر لإنشاء ملفات المكتبة الصحيحة ووضعها في المجلدات الخاصة بها.
يوجد أدناه جدول بالأغلفة غير الرسمية التي طورها المجتمع لتطبيقات Rich Presence وتنفيذها بلغات مختلفة. إذا كنت ترغب في إضافة مستودعك، يرجى تقديم طلب سحب لإضافة المستودع الخاص بك إلى الجدول. يجب أن يتضمن المستودع ما يلي:
اسم | لغة |
---|---|
ديسكورد RPC C# | ج # |
ديسكورد آر بي سي د | د |
Discord-rpc.jar | جافا |
جافا الخلاف RPC | جافا |
الخلاف-IPC | جافا |
وجود الخلاف الغني | جافا سكريبت |
drpc4k | كوتلين |
lua-discordRPC | لواجيت (FFI) |
pypresence | بايثون |
SwordRPC | سويفت |