tarkovdata
repository·master·Indexed 41 days ago
https://github.com/tarkovtracker/tarkovdataA 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.
What's inside tarkovdata
- 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.
Available data files in tarkovdata
masterThe 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.
Use the tarkovdata CLI tool
masterA CLI tool is provided for data management and integrity checks. It requires
nodeandnpmto 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 helpCommon 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.
Reference: CLI Command List
masterFull list of available commands in the
tarkovdataCLI:Command Description 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 Rotate Interchange Map GPS Coordinates
masterThe
rotate-interchange-mapcommand fixes GPS coordinate orientation for Interchange map objectives. It iterates throughquests.jsonand, for objectives wherelocation == 4, swaps thetopPercentandleftPercentvalues within thegpsobject.node cli.js rotate-interchange-mapVerify Hideout Data Integrity
masterUse the
verify-hideout-datacommand to scanhideout.jsonandhideout.jsfor 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-dataCheck Collector Quest Requirements
masterThe
check-collectorcommand validates the requirements for the Collector quest (ID 195). It ensures that therequire.questsarray 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-collectorLink Quest Titles to IDs
masterThe
link-questscommand converts quest references withinquests.jsonfrom human-readable titles to their specific numeric IDs. It processes references found in:require.quests(including 'one-of' arrays)require.failalternatives
This ensures that quest dependencies are linked via stable IDs rather than volatile titles.
node cli.js link-questsFind Quests by Name
masterThe
find-questscommand tests an array of quest names (provided viatestdata.json) against the existing quest data inquests.jsonto identify any names that do not match an existing quest title.node cli.js find-questsMigrate Hideout Items to UUIDs
masterThe
migrate-hideout-itemscommand attempts to convert hideout module requirements from item names to their corresponding unique IDs. It useshideout.jsonas the source anditems.en.jsonas 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'sid.node cli.js migrate-hideout-itemsVerify Quest Data Integrity
masterUse the
verify-quest-datacommand to scanquests.jsonfor 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
giverproperty - Quests missing a
requireproperty - Undefined quest requirements (where a required quest ID does not exist in the dataset)
node cli.js verify-quest-dataGet Next Available IDs for Quests and Objectives
masterThese 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 inquests.json.new-objective-id: Returns the next available integer ID for a new quest objective inquests.json.new-hideout-id: Returns the next available integer ID for a new hideout module inhideout.json.new-hideout-objective-id: Returns the next available integer ID for a new hideout module objective inhideout.json.
node cli.js new-quest-id node cli.js new-objective-id