damienjolly/habbo-gamedata
Composer 安装命令:
composer require damienjolly/habbo-gamedata
包简介
Reusable Habbo gamedata domain package for Laravel.
README 文档
README
Reusable Habbo gamedata package for Laravel.
This package stores Habbo gamedata in your database, imports source files using Artisan commands, and serves hashed endpoints for client consumption with long-lived cache headers.
Requirements
- PHP 8.3+
- Laravel 13.x (Illuminate 13.x components)
Installation
composer require damienjolly/habbo-gamedata
The service provider is auto-discovered by Laravel.
Configuration
Publish config (optional):
php artisan vendor:publish --tag=habbo-gamedata-config
Config file: config/habbo-gamedata.php
Default endpoint paths:
/gamedata/hashes/gamedata/external_flash_texts/gamedata/external_variables/gamedata/override/external_flash_override_texts/gamedata/productdata_xml/gamedata/figuredata/gamedata/furnidata_xml
Set routes.auto_register to false if you want to register routes yourself.
Database Migrations
Migrations are loaded automatically by the package service provider.
Run migrations:
php artisan migrate
If you want to copy migration files into your app:
php artisan vendor:publish --tag=habbo-gamedata-migrations
Routes
Routes are loaded automatically when routes.auto_register = true.
To publish package routes:
php artisan vendor:publish --tag=habbo-gamedata-routes
Import Commands
Each command accepts an optional path argument. If omitted, the default path under storage/app/imports is used.
php artisan gamedata:import-external-texts {path?}- default:
storage/app/imports/external_flash_texts.txt
- default:
php artisan gamedata:import-external-variables {path?}- default:
storage/app/imports/external_variables.txt
- default:
php artisan gamedata:import-external-override-texts {path?}- default:
storage/app/imports/external_flash_override_texts.txt
- default:
php artisan gamedata:import-product-data {path?}- default:
storage/app/imports/productdata.xml
- default:
php artisan gamedata:import-figure-data {path?}- default:
storage/app/imports/figuredata.xml
- default:
php artisan gamedata:import-furni-data {path?}- default:
storage/app/imports/furnidata.xml
- default:
All import commands clear relevant caches after successful import.
Endpoint Behavior
All data endpoints use hash-based URLs.
- If the requested hash is missing or outdated, the endpoint responds with
302to the latest hashed URL. - Current hashed URLs are exposed via
/gamedata/hashes. - Responses include:
Cache-Control: public, max-age=31536000, immutableETag: "<current-hash>"
Content types:
external_flash_texts,external_variables,external_flash_override_texts:text/plain; charset=UTF-8productdata_xml,figuredata,furnidata_xml:application/xml; charset=UTF-8
Hashes Endpoint
GET /gamedata/hashes returns:
{
"hashes": [
{ "name": "furnidata", "url": "...", "hash": "..." },
{ "name": "productdata", "url": "...", "hash": "..." },
{ "name": "external_variables", "url": "...", "hash": "..." },
{ "name": "external_texts", "url": "...", "hash": "..." },
{ "name": "external_override_texts", "url": "...", "hash": "..." },
{ "name": "figurepartlist", "url": "...", "hash": "..." }
]
}
Typical Flow
- Import your source files with the Artisan commands.
- Call
/gamedata/hashesfrom your client/bootstrap service. - Use returned URLs/hashes to fetch and cache gamedata assets.
- Re-import data when source files change.
License
MIT
damienjolly/habbo-gamedata 适用场景与选型建议
damienjolly/habbo-gamedata 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 12 次下载、GitHub Stars 达 1, 最近一次更新时间为 2026 年 04 月 07 日, 在 PHP 生态内属于活跃度较高的组件。
我们在过去多个企业项目中使用过 damienjolly/habbo-gamedata 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 damienjolly/habbo-gamedata 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
统计信息
- 总下载量: 12
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 1
- 点击次数: 9
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2026-04-07