tarkovdata

repository·master·Indexed 41 days ago

https://github.com/tarkovtracker/tarkovdata

A community-driven repository of structured Escape From Tarkov game data for developers building third-party tools and fan sites. It provides JSON files for quests, hideout information, item names, trader metadata, maps, weapon presets, and ammunition. Includes a CLI tool for data management, integrity checks, and ID generation for quests and hideout components.

Tokens
1.4K
Snippets
9
Records
12
Agent score
2%

What's inside tarkovdata

  1. Overview of tarkovdata

    master
    tarkovdata provides Escape From Tarkov game information in structured formats designed for developers building community tools. The repository contains community-contributed data including quests, hideout information, item names, trader metadata, maps, weapon presets, and ammunition metadata. Note that schemas may evolve over time as the data matures.
  2. Available data files in tarkovdata

    master

    The repository provides several JSON files containing different categories of game data:

    • quests.json: Quest data, including requirements, unlocks, and objectives.
    • hideout.json: Hideout data, including station information and requirements.
    • items.en.json: Item names in English (short and long) with BSG UIDs.
    • traders.json: Trader metadata.
    • maps.json: Map metadata.
    • item_presets.json: Weapon preset configurations.
    • ammunition.json: Ammunition metadata.
  3. Use the tarkovdata CLI tool

    master

    A CLI tool is provided for data management and integrity checks. It requires node and npm to be installed. You can use it to verify data integrity or generate new IDs for quests and hideout components.

    To see all available commands, run:

    npm cli.js help

    Common commands include:

    • node cli.js verify-quest-data: Checks quest data for mistakes.
    • node cli.js verify-hideout-data: Checks hideout data for mistakes.
    • node cli.js new-quest-id: Finds the next consecutive quest ID for new quests.
    • Similar commands exist for hideout and objectives.
  4. Reference: CLI Command List

    master

    Full list of available commands in the tarkovdata CLI:

    CommandDescription
    check-collectorChecks quests.json for collector data
    new-quest-objective-idChecks quests.json for the next objective ID
    new-quest-idChecks quests.json for the next quest ID
    new-hideout-objective-idChecks hideout.json for the next hideout module objective ID
    new-hideout-idChecks hideout.json for the next hideout module ID
    verify-quest-dataChecks quests.json for common mistakes
    verify-hideout-dataChecks hideout.js for common mistakes
    link-questsConverts any titled require or alternative links to quest IDs
    find-questsTests against an array of quest names to find them in quest data
    migrate-game-dataCustom migration to deal with game IDs plus custom IDs
    migrate-hideout-itemsAttempt to move hideout items to UUIDs
    rotate-interchange-mapFixes interchange gps coords
  5. Rotate Interchange Map GPS Coordinates

    master

    The rotate-interchange-map command fixes GPS coordinate orientation for Interchange map objectives. It iterates through quests.json and, for objectives where location == 4, swaps the topPercent and leftPercent values within the gps object.

    node cli.js rotate-interchange-map
  6. Verify Hideout Data Integrity

    master

    Use the verify-hideout-data command to scan hideout.json and hideout.js for common data integrity issues. This command checks for:

    • Duplicate hideout module IDs
    • Missing hideout module IDs
    • Duplicate hideout objective IDs
    • Missing hideout objective IDs
    node cli.js verify-hideout-data
  7. Check Collector Quest Requirements

    master

    The check-collector command validates the requirements for the Collector quest (ID 195). It ensures that the require.quests array for the Collector quest correctly contains only the 'leaf node' quests (quests that are not required by any other quest except the Collector).

    node cli.js check-collector
  8. Link Quest Titles to IDs

    master

    The link-quests command converts quest references within quests.json from human-readable titles to their specific numeric IDs. It processes references found in:

    • require.quests (including 'one-of' arrays)
    • require.fail
    • alternatives

    This ensures that quest dependencies are linked via stable IDs rather than volatile titles.

    node cli.js link-quests
  9. Migrate Hideout Items to UUIDs

    master

    The migrate-hideout-items command attempts to convert hideout module requirements from item names to their corresponding unique IDs. It uses hideout.json as the source and items.en.json as the lookup dictionary. If an item name in a hideout requirement matches a name in the item dictionary, the name is replaced by the item's id.

    node cli.js migrate-hideout-items
  10. Verify Quest Data Integrity

    master

    Use the verify-quest-data command to scan quests.json for common data integrity issues. This command checks for:

    • Duplicate quest IDs
    • Missing quest IDs (gaps in the ID sequence)
    • Duplicate quest titles
    • Duplicate objective IDs
    • Missing objective IDs
    • Quests missing a giver property
    • Quests missing a require property
    • Undefined quest requirements (where a required quest ID does not exist in the dataset)
    node cli.js verify-quest-data
  11. Get Next Available IDs for Quests and Objectives

    master

    These commands help maintain sequential ID numbering when adding new content to the dataset.

    • new-quest-id: Returns the next available integer ID for a new quest in quests.json.
    • new-objective-id: Returns the next available integer ID for a new quest objective in quests.json.
    • new-hideout-id: Returns the next available integer ID for a new hideout module in hideout.json.
    • new-hideout-objective-id: Returns the next available integer ID for a new hideout module objective in hideout.json.
    node cli.js new-quest-id
    node cli.js new-objective-id