gnat / super-score
使用PHP进行移动游戏排行榜,货币日志和用户数据存储。
Requires
- php: ^5.3.0 || ^7.0
- ext-apcu: *
- ext-mysql: *
- ext-pdo: *
Requires (Dev)
- phpunit/phpunit: 5.5.*
Suggests
- ext-redis: *
This package is not auto-updated.
Last update: 2024-09-18 18:48:55 UTC
README
游戏排行榜,游戏内货币日志和玩家数据存储。
由Nathaniel Sabanski编写。
功能
- 具有偏移查询的无限制分数排行榜。
- 具有安全哈希系统的游戏内货币交易日志。
- 存储各种用户数据。
- 小型代码库,易于添加和安全性审计。
- 测试套件。
要求
- PHP 7+ 或 5.3+。
- Apache 2+(启用mod_rewrite)或nginx。
可选
- Redis和APCu可以安装以实现高性能分层缓存。
- 可安装PHPUnit以运行测试。
安装说明
-
开发和生产配置可以在
src/config/Config.php
中设置。 -
使用
install.sql
设置数据库表。您可以使用mysql -uUser -pPassword -e "create database superscore; use superscore; source install.sql;"
或通过任何数据库管理软件手动导入SQL文件。 -
如果使用nginx,请使用服务器规则将路由到
index.php
启用路由。在Apache中,这是通过mod_rewrite
和.htaccess
文件实现的。 -
在上线之前,请记得在
index.php
中将Config()
从 'development' 切换到 'production'!
REST API 使用
任何错误都包含以下JSON响应。
{ "Error" : "失败原因。" }
当前时间
检索此服务器上的当前Unix时间戳。
排行榜分数记录
接受并记录为用户发布的分数,并计算其在指定排行榜中的当前排名。返回包含用户最高分数的User和Leaderboard。
排行榜分数查询
按排名顺序返回指定排行榜的条目范围,包括指定用户的分数和排名。分数越高越好,排名从1开始。
游戏货币交易记录
记录简单的涉及游戏货币的用户交易,并带有哈希验证。重复交易将返回错误。
验证器参数是以下值的SHA-1哈希值连接在一起: SecretKey+TransactionId+UserId+CurrencyAmount
游戏货币交易查询
返回指定用户记录的交易的基本详细信息。
用户数据保存
为用户存储任意JSON数据。如果存储中已存在用户内部任何键,则通过传递的值覆盖值;否则,假定数据未更改。
用户数据加载
返回用户之前存储的所有数据的聚合。
使用Composer
安装 Composer 并使用
composer create-project -s dev --prefer-dist gnat/super-score .
许可
此项目受MIT许可协议的许可。这意味着您可以在私有或商业项目中免费使用和修改它。