furic/game-essentials

游戏后端服务器的基本元素和基本数据。

1.0.6 2020-12-21 03:29 UTC

This package is auto-updated.

Last update: 2024-09-29 05:56:00 UTC


README

Packagist Packagist License Scrutinizer Code Quality Build Status

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许可下授权。