ไลบรารีนี้เลิกใช้งานแล้วเพื่อสนับสนุน GameSDK ของ Discord เรียนรู้เพิ่มเติมที่นี่
นี่คือไลบรารีสำหรับเชื่อมต่อเกมของคุณกับไคลเอนต์เดสก์ท็อป Discord ที่ทำงานอยู่ในเครื่อง เป็นที่รู้กันว่าทำงานบน Windows, macOS และ Linux คุณสามารถใช้ lib ได้โดยตรงหากต้องการ หรือใช้เป็นแนวทางในการเขียนของคุณเองหากไม่เหมาะกับเกมของคุณ ยินดีประชาสัมพันธ์/คำติชม หากคุณมีการปรับปรุงที่ทุกคนอาจต้องการ หรือสามารถอธิบายว่าการปรับปรุงนี้ไม่ตรงตามความต้องการของคุณได้อย่างไร
รวมไปถึงการสาธิตสั้นๆ บางส่วนที่ใช้ชุดย่อยที่น้อยที่สุดเพื่อแสดงสถานะปัจจุบัน และมีระบบโทรกลับในกรณีที่เกมที่สมบูรณ์กว่าจะทำอะไรได้มากกว่า (การเข้าร่วม การรับชม ฯลฯ)
เอกสารล่าสุดสำหรับ Rich Presence สามารถพบได้บนเว็บไซต์นักพัฒนาของเรา! หากคุณสนใจที่จะเผยแพร่การใช้งาน Rich Presence แบบเนทีฟของคุณเองผ่านซ็อกเก็ต IPC แทนที่จะใช้ SDK ของเรา เฮ้ คุณคงพอมีเวลาใช่ไหม ลองดูเอกสารประกอบ "โหมดฮาร์ด"
Zeroith คุณควรจะถูกสร้างขึ้นเพื่อสร้างสิ่งต่าง ๆ เพราะคุณเป็นผู้พัฒนาเกมใช่ไหม?
ขั้นแรก ตรงไปที่ไซต์นักพัฒนา Discord และสร้างแอปให้ตัวเอง ติดตาม Client ID
-- คุณจะต้องใช้ที่นี่เพื่อส่งผ่านไปยังฟังก์ชัน init
วิธีใช้ปลั๊กอิน Rich Presense กับโปรเจ็กต์ Unreal Engine:
examples/unrealstatus/Plugins/discordrpc
— ไปยังไดเร็กทอรีปลั๊กอินของโปรเจ็กต์ของคุณ[YOUR_UE_PROJECT]/Plugins/discordrpc/source/ThirdParty/DiscordRpcLibrary/
สร้างโฟลเดอร์ Include
และคัดลอก discord_rpc.h
และ discord_register.h
จากไฟล์ zip[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
ลงในเทอร์มินัล/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
สคริปต์ wrapper 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) |
ทำไมเราถึงมีสามสิ่งนี้? ความสนุก 3 เท่า!
ซีไอ | ป้ายสถานะ |
---|---|
ทราวิสซี | |
AppVeyor | |
Buildkite (ภายใน) |
นี่คือ "เกม" ผจญภัยด้วยข้อความที่เริ่มต้น/จำกัดการเชื่อมต่อกับ Discord และส่งการอัปเดตการแสดงตนในแต่ละคำสั่ง
นี่คือโครงการ Unity ตัวอย่างที่รวมไลบรารีเวอร์ชัน DLL และส่งการอัปเดตการแสดงตนเมื่อคุณคลิกที่ปุ่ม รัน python build.py unity
ในไดเร็กทอรีรากเพื่อสร้างไฟล์ไลบรารีที่ถูกต้องและวางไว้ในโฟลเดอร์ที่เกี่ยวข้อง
นี่เป็นโปรเจ็กต์ Unreal ตัวอย่างที่รวมไลบรารีเวอร์ชัน DLL ด้วยปลั๊กอิน Unreal เปิดเผยคลาสพิมพ์เขียวสำหรับการโต้ตอบกับมัน และใช้สิ่งนั้นเพื่อสร้าง UI ที่เรียบง่ายมาก เรียกใช้ python build.py unreal
ในไดเร็กทอรีรากเพื่อสร้างไฟล์ไลบรารีที่ถูกต้องและวางไว้ในโฟลเดอร์ที่เกี่ยวข้อง
ด้านล่างนี้คือตาราง Wrappers ที่พัฒนาโดยชุมชนอย่างไม่เป็นทางการและการใช้งาน Rich Presence ในภาษาต่างๆ หากคุณต้องการที่จะเพิ่มของคุณ โปรดส่งคำขอดึงเพื่อเพิ่มพื้นที่เก็บข้อมูลของคุณลงในตาราง พื้นที่เก็บข้อมูลควรประกอบด้วย:
ชื่อ | ภาษา |
---|---|
ไม่ลงรอยกัน RPC C# | ค# |
ความไม่ลงรอยกัน RPC D | ดี |
ไม่ลงรอยกัน-rpc.jar | ชวา |
java-discord-rpc | ชวา |
Discord-IPC | ชวา |
ไม่ลงรอยกัน Rich Presence | จาวาสคริปต์ |
drpc4k | คอตลิน |
lua-discordRPC | ลัวจิต (FFI) |
การเกิดเพลิงไหม้ | หลาม |
ดาบRPC | สวิฟท์ |