furic / game-essentials
游戏后端服务器的基本元素和基本数据。
Requires
- php: ^7.2
- laravel/framework: ~5.8||~6.0||~7.0||~8.0
README
Laravel 5.* 的游戏基本元素。此包是必需的,并由少数包在Sweaty Chair Studio中使用,用于创建游戏服务器后端的基本数据和基本功能。这提供了注册玩家和将玩家分配到游戏的功能。之后,数据可以用于分析目的。
如果您使用需要此包的其他包,此包将自动添加,您不需要手动安装它。但是,您仍然可以单独使用此包,而不使用其他包。
目录
安装
使用 Composer 安装此包
$ composer require furic/game-essentials
如果您使用 Laravel 5.5 或更高版本,则安装已完成。否则,请按照以下步骤操作。
打开 config/app.php
并按照以下步骤操作
找到 providers
数组并添加我们的服务提供程序。
'providers' => [ // ... Furic\GameEssentials\GameEssentialsServiceProvider::class ],
配置
要为游戏基本元素在数据库中创建表,请运行
$ php artisan migrate
使用
游戏表
| Name | Type | Not Null |
|-----------------|----------|----------|
| id | integer | ✓ |
| name | varchar | ✓ |
| version_ios | integer | ✓ |
| version_android | integer | ✓ |
| version_tvos | integer | ✓ |
| created_at | datetime | |
| updated_at | datetime | |
- 名称:游戏/应用的名称。
- iOS 版本:iOS 中的最新版本号,用于客户端的强制更新。
- Android 版本:Android 中的最新版本号,用于客户端的强制更新。
- tvOS 版本:tvOS 中的最新版本号,用于客户端的强制更新。
玩家表
| Name | Type | Not Null |
|---------------|----------|----------|
| id | integer | ✓ |
| facebook_id | varchar | |
| gamecenter_id | varchar | |
| playgames_id | varchar | |
| udid | varchar | |
| name | varchar | |
| ip | varchar | ✓ |
| created_at | datetime | |
| updated_at | datetime | |
- Facebook ID:玩家的 Facebook ID。(可选)
- Game Center ID:iOS 中玩家的 Game Center ID。(可选)
- Google Play Games ID:Android 中玩家的 Google Play Games ID。(可选)
- UDID:玩家的唯一设备 UDID。如果玩家使用多个设备,则仅使用第一个设备的 UDID。
- 名称:在游戏/应用中输入的玩家名称。(可选)
- IP:玩家首次出现时的 IP。
GamePlayer 私有表
| Name | Type | Not Null |
|------------|----------|----------|
| id | integer | ✓ |
| game_id | integer | ✓ |
| player_id | integer | ✓ |
| channel | integer | ✓ |
| version | integer | ✓ |
| is_hack | tinyint | ✓ |
| created_at | datetime | |
| updated_at | datetime | |
- 游戏 ID:玩家启动的游戏的 ID。
- 玩家 ID:玩家的 ID。
- 频道:玩家进入游戏的频道。主要用于 Android 玩家,例如 Samsung Store、Huawei App Gallery 等。(可选)
- 版本:玩家设备正在运行的当前游戏版本。
- 是否作弊:一个布尔值,用于标记玩家是否曾在游戏中进行过任何作弊,用于分析和限制客户端中的功能。
API URL
GET <服务器 URL>/api/games/{id}
从给定的游戏 ID 返回 JSON 数据,仅用于调试。
GET <服务器 URL>/api/games/{id}/versions
返回包含给定游戏 ID 的版本的 JSON 数据,仅用于客户端检查最新游戏版本并执行强制更新。
GET <服务器 URL>/api/games/{id}/players
返回给定游戏 ID 的所有玩家的 JSON 数组,仅用于调试。
GET <服务器 URL>/api/players/{id}
从给定的玩家 ID 返回 JSON 数据,仅用于调试。
GET <服务器URL>/api/players/name/{name}
根据给定的玩家名称返回JSON数据,仅用于调试。
POST <服务器URL>/api/players
使用给定的POST数据创建玩家的JSON数据。如果玩家已存在,则使用给定的UDID、Facebook ID或游戏服务ID,将更新玩家数据。
PUT <服务器URL>/api/players/{id}
使用给定的玩家ID更新玩家的JSON数据。
GET <服务器URL>/api/players/{id}/games
根据给定的游戏ID返回所有玩家的JSON数组,仅用于调试。
API文档可在此处找到:https://documenter.getpostman.com/view/2560814/TVmV6tm8#af5d8a40-b4ab-497f-af69-43f7ad95e5fe。
待办事项
- 创建Web控制台以添加/编辑游戏。
- 为Web控制台添加管理员登录。
- 添加测试和工厂。
许可
laravel-game-essentials在MIT许可下授权。