Code Monkey home page Code Monkey logo

destiny-project's Introduction

DESTINY PROJECT

Purpose

Something to do

Configuration

  • This projects makes use of PHP Enumerations, so your env must support PHP 8.1.
  • Make sure you can update your php.ini to support a larger amount of memory. The contentfile is just over 30 Mb and some of the extracted data is very large as well. I have my local env configured like so:
    ; Maximum amount of memory a script may consume
    ; https://php.net/memory-limit
    memory_limit = 768M
    
  • Make sure you have a symlink setup between your Storage directory and Public. php artisan storage:link

Usage

  • php artisan destiny:contentfile (downloads the latest Manifest & SQLite db)
  • php artisan migrate (setup the local db tables)
  • php artisan db:seed (seeds by reading the latest SQLite db)

To update the projects DB with the most recent info

  • php artisan destiny:contentfile
  • php artisan migrate:fresh --seed

Command List / Usage

  • php artisan destiny:contentfile

    Checks for a locally stored Manifest. If one is found it will check if it is up-to-date. If not it will be deleted and a new one will be downloaded and stored in a manifest directory within the projects storage directory.

    • From here, it finds the path for the MobileWorldContentFile, which contains all the static data that we are after, and downloads it to a directory for the language you selected, within a contentfile directory within the root storage dir. The folder structure looks like this:
    • storage
      • app
        • public
          • contentfiles
            • lang
            • world_sql_content_3d029.content
          • manifests -manifest.json
  • php artisan destiny:manifest

    Downloads the most recent version of the manifest and stores it with the manifest directory.

  • php artisan destiny:tables

    Lists all the available tables within the MobileWorldContentFile.

  • php artisan destiny:tablecolumns

    Lists the columns for a given table. ex php artisan destiny:tablecolumns DestinyLocationDefinition will output:

    Array
    (
        [0] => vendorHash
        [1] => locationReleases
        [2] => hash
        [3] => index
        [4] => redacted
        [5] => blacklisted
    )
  • php artisan destiny:view

    View a tables contents. ex: php artisan destiny:view DestinyLocationDefinition will output the contents of that table to the console. Not pretty, but...

Table List

NOTE: The listing of available tables seems... fluid from update to update. I need to update the seeders to actually check if a table is available.

  • DestinyPlaceDefinition
  • DestinyActivityDefinition
  • DestinyActivityTypeDefinition
  • DestinyClassDefinition
  • DestinyGenderDefinition
  • DestinyInventoryBucketDefinition
  • DestinyRaceDefinition
  • DestinyTalentGridDefinition
  • DestinyUnlockDefinition // Empty
  • DestinyMaterialRequirementSetDefinition
  • DestinySandboxPerkDefinition // damageTypeHash always returns NULL
  • DestinyStatGroupDefinition
  • DestinyFactionDefinition
  • DestinyVendorGroupDefinition
  • DestinyRewardSourceDefinition // Empty
  • DestinyItemCategoryDefinition
  • DestinyDamageTypeDefinition
  • DestinyActivityModeDefinition
  • DestinyMedalTierDefinition
  • DestinyAchievementDefinition
  • DestinyActivityGraphDefinition // No Real Useful Info
  • DestinyBondDefinition // No Real Info
  • DestinyCollectibleDefinition
  • DestinyDestinationDefinition
  • DestinyEquipmentSlotDefinition
  • DestinyStatDefinition
  • DestinyInventoryItemDefinition
  • DestinyItemTierTypeDefinition
  • DestinyLocationDefinition
  • DestinyLoreDefinition // Subtitle property is always NULL due to encoding
  • DestinyMetricDefinition
  • DestinyObjectiveDefinition
  • DestinyPlugSetDefinition
  • DestinyPowerCapDefinition
  • DestinyPresentationNodeDefinition
  • DestinyProgressionDefinition
  • DestinyProgressionLevelRequirementDefinition
  • DestinyRecordDefinition
  • DestinySackRewardItemListDefinition // Empty, removed in 12/6 update
  • DestinySandboxPatternDefinition
  • DestinySeasonDefinition // contains incomplete info
  • DestinySeasonPassDefinition
  • DestinySocketCategoryDefinition
  • DestinySocketTypeDefinition
  • DestinyTraitDefinition
  • DestinyTraitCategoryDefinition
  • DestinyVendorDefinition
  • DestinyMilestoneDefinition
  • DestinyActivityModifierDefinition
  • DestinyReportReasonCategoryDefinition
  • DestinyArtifactDefinition
  • DestinyBreakerTypeDefinition
  • DestinyChecklistDefinition
  • DestinyEnergyTypeDefinition

destiny-project's People

Contributors

unisys12 avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.