19个版本 (2个稳定版)
1.0.1 | 2020年7月25日 |
---|---|
1.0.0-rc.4 | 2020年3月30日 |
0.5.0-alpha.5 | 2019年12月29日 |
0.5.0-alpha.2 | 2019年11月25日 |
0.1.0 | 2019年3月27日 |
#723 in 游戏开发
每月95次下载
250KB
4K SLoC
discord_game_sdk
此crate为Discord游戏SDK提供了一个安全的接口。
此crate不是官方的,它不受Discord游戏SDK开发者的支持。
Discord游戏SDK提供以下功能,但不仅限于:
- 活动(丰富显示)
- 用户、头像和关系
- 大厅、匹配和语音通信
- 在Discord基础设施上的伪-P2P网络
- 云同步存储
- 商店交易
- 成就
版本要求:Rust 1.37及以上。
用法
将此内容添加到您的Cargo.toml
[dependencies]
discord_game_sdk = "1.0.1"
了解潜在的bindgen
要求。
下载Discord游戏SDK并将其设置到您解压的位置
export DISCORD_GAME_SDK_PATH=/path/to/discord_game_sdk
如果您还计划使用默认的link
功能,请继续阅读以下内容。
功能
link
默认启用,委托给discord_game_sdk_sys/link
。
提供功能链接,但需要注意库将被重命名且需要一些额外的设置
# Linux: prepend with `lib` and add to library search path
cp $DISCORD_GAME_SDK_PATH/lib/x86_64/{,lib}discord_game_sdk.so
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH:+${LD_LIBRARY_PATH}:}$DISCORD_GAME_SDK_PATH/lib/x86_64
# Mac OS: prepend with `lib` and add to library search path
cp $DISCORD_GAME_SDK_PATH/lib/x86_64/{,lib}discord_game_sdk.dylib
export DYLD_LIBRARY_PATH=${DYLD_LIBRARY_PATH:+${DYLD_LIBRARY_PATH}:}$DISCORD_GAME_SDK_PATH/lib/x86_64
# Windows: change `dll.lib` to `lib` (won't affect library searching)
cp $DISCORD_GAME_SDK_PATH/lib/x86_64/discord_game_sdk.{dll.lib,lib}
cp $DISCORD_GAME_SDK_PATH/lib/x86/discord_game_sdk.{dll.lib,lib}
这允许cargo run
功能正常。
image
可选crate。
提供从我们的Image
到image::RgbaImage
的转换。
安全性
此crate依赖于SDK提供正确的数据和行为
- 非空指针指向有效的内存
- UTF-8,以NUL终止的字符串
- 不要修改它应有的内存,它不应拥有所有权
- 在调用
destroy
后不要使用指针
其中一些在编译时使用debug_assertions
进行测试。
法律
您必须了解并同意Discord游戏SDK的官方条款。
Rust crates的代码discord_game_sdk
和discord_game_sdk_sys
的许可方式由您选择,可以是以下之一:
除非您明确声明,否则您根据Apache-2.0许可定义提交给作品的所有有意贡献,应如上双重许可,没有任何附加条款或条件。
沟通和支持
您可以通过Discord twiikuu#0047
与我联系,在官方游戏SDK服务器(昵称ldesgoui (rust wrapper)
),以及twitter和电子邮件。虽然我通常很友好,但我没有义务支持您。
依赖项
~0.3–5MB
~48K SLoC