Jump to content

Qowyn

ARK Tools v0.6.4 - tools for reading and manipulating ark savegame files

Recommended Posts

On 11/6/2018 at 1:29 AM, Ariwenie said:

Hello i have found the following tool which should help me.

I want to extract players and dinos information from save. Like lvls, location on map, stats, etc. this tool should know that but i dont know how to use it.

-- Make sure JAVA is installed --

Download the program:
Visit https://github.com/Qowyn/ark-tools/releases/tag/v0.6.4 and download https://github.com/Qowyn/ark-tools/releases/download/v0.6.4/ark-tools.zip

Extract ark-tools.zip
Copy contents to ShooterGame\Saved\SavedArks <-- the location of your ark save files

Create BAT file for ease of use:
Dinos BAT file e.g filename: dinos.bat
Make a Dinos, Players and Tribes folder to store the exported information listed below, otherwise you will get an error.

del /S /Q Dinos\*.*
ark-tools.exe tamed Ragnarok.ark Dinos

Explanation: what this does it delete all files in the "Dinos" folder
it them executes the tamed option from the "Ragnarok.ark" map file, and saves all JSON files into Dinos
Syntax: ark-tools.exe <option> <map name> <location>

To dump all the players file use below;
 

del /S /Q Players\*.*
ark-tools.exe players Aberration_P.ark Players

this will dump all players form the map "Aberration_P.ark" into the "Players" folder, you can then see players and tribe info.

To get tribe info use the below
 

del /S /Q Tribes\*.*
ark-tools.exe tribes Aberration_P.ark Tribes

 

to view JSON files, i suggest you download and install Notepad++ and the plugin JSTool to help format the JSON file

hope this helps everyone.

Share this post


Link to post
Share on other sites
On 11/8/2018 at 11:46 AM, DrunkMunki said:

to view JSON files, i suggest you download and install Notepad++ and the plugin JSTool to help format the JSON file

hope this helps everyone.

 

Personally I convert JSO to CSV with a program called in2csv

I think tables are more convenient than raw text because you can sort per column ^^

BTW , do you know why ark-tools can not convert json back to save properly? I tried but I get a corrupt save and I can't load the game.

Share this post


Link to post
Share on other sites
On 11/10/2018 at 5:09 AM, dodogal said:

 

Personally I convert JSO to CSV with a program called in2csv

I think tables are more convenient than raw text because you can sort per column ^^

BTW , do you know why ark-tools can not convert json back to save properly? I tried but I get a corrupt save and I can't load the game.

I fear this tool may have been abandoned. :/

Share this post


Link to post
Share on other sites
6 minutes ago, invincibleqc said:

No, because such tools are relying on you having a copy of the save file.

Understand, soo im playing island, Center, Rag, Aber, Extintion and i have to discover all maps again when my game crash there no other way ?

Share this post


Link to post
Share on other sites
Just now, Atreides52 said:

Understand, soo im playing island, Center, Rag, Aber, Extintion and i have to discover all maps again when my game crash there no other way ?

You mean your mini-map? If so, that is part of your local profile afaik so exploring the map in singleplayer should suffice.

  • Thanks 1

Share this post


Link to post
Share on other sites
3 minutes ago, invincibleqc said:

You mean your mini-map? If so, that is part of your local profile afaik so exploring the map in singleplayer should suffice.

Yes, but im not play Local i play official servers its still same local Profile folder in ? PlayerLocalData.arkprofile ? just tired to expoler and clear dust on mini map over and over again :)

Share this post


Link to post
Share on other sites
3 minutes ago, Atreides52 said:

Yes, but im not play Local i play official servers its still same local Profile folder in ? PlayerLocalData.arkprofile ? just tired to expoler and clear dust on mini map over and over again :)

Yes but I mean, if you go into single-player and use cheats (like gmbuff|fly|slomo 100) and fly around, it should draw the map anywhere you play including officials. And yes, if you backup your local profile and restore it if it somehow gets corrupted or deleted then it should brings everything back (mini-maps, explorer notes, etc).

  • Thanks 1

Share this post


Link to post
Share on other sites
1 hour ago, invincibleqc said:

Yes but I mean, if you go into single-player and use cheats (like gmbuff|fly|slomo 100) and fly around, it should draw the map anywhere you play including officials. And yes, if you backup your local profile and restore it if it somehow gets corrupted or deleted then it should brings everything back (mini-maps, explorer notes, etc).

oh ok now i undestand very clear, thank u very much sir, and have a wonderfull day ?

  • Like 1

Share this post


Link to post
Share on other sites
On 8/8/2016 at 11:00 AM, Qowyn said:

Lost a dino and you can't find it? Want to see if it is still alive at all? Or maybe you are a server admin and want your players to be able to look for this info themselves, maybe even give them a list of all wild dinos including the relevant stats for breeding?

Then you've come to the right place.

Current State

ARK Tools is currently available as a platform-independent console program, with a launcher for Windows and a shell script for other OSes. Run ark-tools.exe or ark-tools.sh to get a list of possible commands and options.

A GUI version is planned.

The tools themselves as well as the library they use are written in Java (with probably an overuse of Lambdas and Streams and a lack of JavaDoc) and the sources can be found here:

Roadmap

  • 0.7.0
    • Breaking change of xToJson formats (again), improved support for native array properties (properties which may or may not be ArrayProperty but still contain multiple values)
    • Implement missing stuff to make the database system useful (e.G. json driver should be able to write data to multiple files, skip refreshing files without changes, implement missing support for cluster directory)
    • Add more things to the modify command
    • Add scripting support based on JSR-223 (Java includes javascript by default, other options are Lua, Ruby, Groovy, Python...)

Documentation

A tiny bit of documentation is now available here: https://github.com/Qowyn/ark-tools/wiki

A general documentation about the file formats is available here: https://github.com/Qowyn/ark-savegame-toolkit/wiki

Downloads

Downloads are available as releases on GitHub here: https://github.com/Qowyn/ark-tools/releases/latest

The data required for Class to human readable name translation can be obtained by using the updateData command or downloading them here:https://ark-tools.seen-von-ragan.de/data-download/

Changelog

  • 0.6.4
    • Fixed broken players command
    • players command can now detect LocalPlayer.arkprofile
    • Hibernation support for debug commands
  • 0.6.3
    • Important fixes for cluster and LocalProfile files, can affect map-saves too (I made a typo about 4 months ago, causing some properties to be written as Int8Property instead of ByteProperty)
    • Command export can now select objects by class (e.G. PrimalItemConsumable_Egg_Wyvern_Fertilized_Poison_C for green wyvern eggs)
    • Added switches --without-references and --without-components to export command (use --without-references for items, unless you want the whole base too)
    • Command import is now able to import items into cluster files and into the LocalProfile (with caveats, items will lose durability if you exported them from a map)
    • Command modify is now able to mass-delete objects in maps, cluster and LocalProfile files
    • All creature commands, the tribe command and db command are now aware of hibernation
    • Improved detection of all object types, no longer based on their class name
  • 0.6.2
    • Added support for dropped items, making --non-player actually useful
    • Renamed --non-player to --non-players (the old name will still work)
    • Id of main inventory is now myInventoryComponent for all object types
  • 0.6.1
    • Added missing DinoAncestor writers
    • Added names of ancestors
    • Added Polar Bear, Ragnarok Fire Wyvern and Ice Wyvern to the list of creatures (auto-detection fail)
    • Added --non-player switch to tribes command
    • Fixed lat and lon values for creatures, players and structures
  • 0.6.0
    • Added (still incomplete) Database driver system
    • Replaced javax.json with Jackson, massive performance improvements for mapToJson command (other commands benefit too)
    • Adjustments to the names of some fields
    • Increased amount of gathered data for all commands
    • Allow parallel processing for players, tribes and cluster commands
    • Amount of parallelism can no be controlled via --thread-count, defaults to the number of cores available to the JVM
    • Full support for version 7 to 9 savegames, version 4 local player profile and version 4 cluster storage
    • New options for some commands, "--write-all-fields" can now be used almost everywhere
    • New option "--allow-broken-file" for xToJson  commands will try to salvage as much data from broken files as possible
  • 0.5.4
    • Read-only support for new savegame format versions 8 & 9
  • 0.5.3
    • Experimental support for new savegame format version 7
  • 0.5.2
    • Fixed NPE in modify command
    • Fixed handling of high (>32767) itemStatValues for all item printing commands
  • 0.5.1
    • Added support for new v3 cluster data format
    • Added LatLong data for Ragnarok and TheVolcano
    • Added type name for uploaded dinos
  • 0.5.0
    • Many changes to ark-savegame-toolkit to improve stability and useability
    • Breaks compatibility with old json formats (thingToJson and jsonToThing commands)
    • Added support for previously unknown field in map saves (crash fix)
    • Added support for the new PlayerLocalData.arkprofile Version 3
    • Added updateData command: checks for and downloads newer ark_data.json files
    • Added version command: outputs the installed version of ark-tools
    • Fixed output of unsigned 8 bit values: attributes and colors of creatures
    • Removed ark_data.json from release
  • 0.4.2
    • Added compatibility for changes to .arkprofile files (fix contributed by Kakoen on GitHub)
    • Improved error message for broken installations (missing ark_data.json)
  • 0.4.0
    • Added reading and writing support for sav files (except for text properties)
    • Added --write-all-fields switch to creature commands, should write (almost) all fields
    • Added team, playerId, and ownerName to creature commands
    • Added --tribeless switch to tribe data extraction, this will list everything not belonging to a tribe in tribeless.json
    • Added GPS data for PGAs
    • Added --max-age option to ignore unchanged player profiles
    • Added --positions switch to player command, this will load the map to get the current position of the player
    • Improved player data extraction time by lazy loading tribe data
    • Improved crash protection against broken files by catching all unexpected errors for player profiles, tribe data and cluster data
    • Improved detection of tamed creatures
    • Improved detection of array of struct properties
    • Fixed tribe command ignoring equipped items
    • Fixed crash while processing saves from Volcano map
  • 0.3.0
    • New cluster command which extracts data from files in the clusters directory - uploaded items and creatures
    • New commands to convert PlayerLocalData.arkprofile to json and back
    • New command to modify existing .ark* and cluster files, allows converting Valhalla Beavers to normal beavers
    • Extract colors from creatures
    • Extract stats and colors from eggs
    • Create items from scratch
  • 0.2.7
    • Really fixed tamed creature detection
    • Fixed releasing new versions while half asleep
  • 0.2.6
    • Added ShigoIslands latlon data
    • ark_data.json is now loaded from the same directory as the jar
    • Fixed detection of tamed creatures that have been transfered
    • Added cloudToJson/c2j and jsonToCloud/j2c commands
  • 0.2.5
    • Fixed import command. Again.
  • 0.2.4
    • Fixed level output for creatures with base/wild level 1
    • Added --inventory option to players command
    • --inventory and --items now accept an argument: summary or long, summary will just count items, long will output each item stack with extended information
  • 0.2.3
    • Added GPS values for Valhalla and Mortem Tupiu
    • Added Rafts to creatures/wild/tamed and tribes --creatures commands
    • Fixed import command
    • Added location of bases to --bases option
    • Added id field to creatures/wild/tamed command, needs testing to see if it is stable
    • Updated included ark_data.json to 246.2
  • 0.2.2
    • Added --with-names and --without-dupes options to classes command
    • Changed source of ark data to a new tool, the new data is directly extracted from the game
    • Added name mapping for structures
    • Added global --lang option to output localized names
    • Fixed potential bug in export and import commands
    • Tribes command now ignores items held by sleeping players
    • Tribes command now includes items lying on the floor
  • 0.2.1
    • improved help for syntax errors
    • skip and report potentially broken .arkprofile and .arktribe files
    • new option --verbose to print a stacktrace for broken files
    • new option --bases for the tribes list, for details see above
  • 0.2.0
    • pretty printing of generated JSON files is now optional and disabled by default
    • renamed animals command to creatures
    • added more information to creature list
    • statistic block is now optional and disabled by default
    • conversion commands for .arkprofile and .arktribe
    • hide general options in specific command help
    • include data about items and creatures for the basegame, extracted from the wiki with help from https://github.com/DerekRies/arkpy
    • use extracted data to output creature and item names
    • new command to generate player list
    • new command to generate tribe list
    • new command to extract included list of maps for LatLng calculations
    • automatically import LatLng values on startup if external file is created (so you can add support for different maps)
    • display commands in groups with their descriptions

hey brother. sorry, but my english is very, very bad. could u make a "guide for dummies" on that tools? i lost a character on my own dedicated server. i still see my body in the server. so, when googling, i read that these tools work awesomelly on that case. can u Help me?

Share this post


Link to post
Share on other sites
On 1/27/2019 at 3:15 PM, Giorgino87 said:

Can someboday explain me how to use this on windows?

I would like to understand how to get

 

1)a list of dino with tribe owners

2)a list of players with thei positions

3)a list of all the locations of a certain objects

 

 

In case you still need it:

First you need to install Java 8 if you don't have it. 

Don't forget to check if the variables for Java are set correctly. In my case I have to do it manually every time on a new machine.

 

Then download the tool. Extract it. (I took as location my folder where all the savefiles are located)

Open a shell in that folder. I had to update as first action, else it wouldn't work.

Command: ark-tools update-data

After that you can enter the commands you want.

For dinos it would be: ark-tools tamed SAVE DIRECTORY [OPTIONS] 

SAVE is your save file you want to get the data from and DIRECTORY is the location you want the results in. [OPTIONS] is not needed and can be ignored.

I created a folder named "dinos" for it. I am playing on The Island, so the save file is TheIsland.ark. 

Means my command looked like this: ark-tools tamed TheIsland.ark dinos

After that I got the full list of tamed dinos in the folder "dinos". Remember to give the full path, if the folder you want the information in isn't located in the same folder you are using the shell from.

The information is sorted by dinokind. They look like "Argent_Character_BP_C" (this file is listing all tamed Argentavis e.g.).

The files can be opened with editor or notepad++ etc. Reading the information can be a bit of a hassle but that's how I did it.

 

In case of players you have to type: ark-tools players TheIsland.ark player

The save file stays the same but it's advised to chose a new save location for this information (you have to create the folder beforehand ofc).

Since I havn't tried it myself, idk how the files look like, but prolly like the dino ones, just containing different stuff.

 

In case of the objects I have no clue right now. Maybe someone else can help you there.

To see the options you have with ark-tools you can also just enter "ark-tools" as a command in the shell and you will get an outprint of the possibilities.

 

If you have further questions feel free to ask.

Share this post


Link to post
Share on other sites

Could you help me with a command to wipe wild beehives please?

Edit:

java -jar ark-tools.jar modify TheIsland.ark delete.json TheIsland_new.ark

with delete.json:

{
	"delete": [
		{
			"classes": ["BeeHive_C"]
		}
	]
}

does delete all wild beehives leaving player owned intact being it a placed structure or an inventory item.

Quite trivial but it took me so long to figure out without experience. The best part is the experience obtained. Thanks, Qowyn!

Edited by SAS

Share this post


Link to post
Share on other sites

I hope someone can help me... I need a list of things and creatures that are uploaded to the Obelisk (i assume that means cluster)...

... in single player.

 

I am attempting to clear my obelisk using this tool. I am on a story playthrough and so would like to keep any achievements and explorer notes and the like, but there are multiple dinos greyed out, some from a mod i haven't played with in over a year, and a bunch of invisible items. So, i would prefer not to delete my whole profile, just the offending dinos and items. My idea was converting my .arkprofile to JSON, removing the offending lines, and converting it back again. For that I would need to know which lines to delete of course...

 

Pls help

Share this post


Link to post
Share on other sites
16 hours ago, CptWindwalker82 said:

My idea was converting my .arkprofile to JSON, removing the offending lines, and converting it back again.

Unfortunately, ark tools doesn't create a valid save file when you try to convert back from a json file.
Try it on a test save to see what happens.

Ark Tools hasn't been updated for a long time 😞

 

Can you not just delete the files in the cluster directory?  Back everything up first in case something goes wrong though !

Edited by Larkfields
another suggestion

Share this post


Link to post
Share on other sites
6 hours ago, Larkfields said:

Can you not just delete the files in the cluster directory?  Back everything up first in case something goes wrong though !

As far as I could gather, there isn't a "cluster directory" in single player at least, but the uploaded stuff is stored in "PlayerLocalData.arkprofile". Deleting that would get rid of characters, explorer notes, and dossiers too, and that's actually part of the reason i'm doing the playthrough: find everything.

Combing through the JSON i have found the right headers I think, backups are done, and we'll see what removing those headers does to the viability...

Share this post


Link to post
Share on other sites

Anyone know if mutation data is able to be exported?  Combed through the tamed data from an export but aside from maleAncestors/femaleAncestors (showing just the dino parentals and family line) I am unable to find values for the # of mutations from mother and father lines.  Am I missing it, or is it not available in exports?

Working on a Breeding Assistant / Calculator and it would be valuable data.

Edited by ooviixoo

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...