Jump to content

Qowyn

Members
  • Content Count

    256
  • Joined

  • Last visited

  • Days Won

    1
  • Feedback

    N/A

Everything posted by Qowyn

  1. 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: https://github.com/Qowyn/ark-tools - Source of ark-tools itself https://github.com/Qowyn/ark-tools-web - WIP webinterface for creatures data, made with Polymer https://github.com/Qowyn/ark-savegame-toolkit - Library for low-level reading and writing of .ark, .arktribe and .arkprofile files 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
  2. 0.6.4 Release because i broke the players command Changelog Fixed broken players command players command can now detect LocalPlayer.arkprofile Hibernation support for debug commands @Arksanity It was supposed to work with lowercase too, but... yeah. @Mavrick You can get a list of classes from the save by using the classes command (with "--pretty" option if you don't want to get a wall of text). And i recommend using "--without-references" with the export command, otherwise you will get the container of the item too... and everything connected to it. This could export a whole base if any item is contained in e.g. a refridgerator.
  3. 0.6.3 is out Changelog 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 @Darkblood It's now possible to delete things by using the modify command with a modification file. Documentation on the format can be found here: https://github.com/Qowyn/ark-tools/wiki/Modification-File @Arksanity I think you managed to trip every bug i had in there. Warnings should be gone with the new version and --file-format is no longer case sensitive. @Mavrick Thanks to your suggestion it's now possible, eggs can be exported with the export command (one class at a time for now), then imported into a cluster file. Note that they will be at 99% of hatching already done, because the map saves the durability (which is used for the progress) as a percentage, while the cluster saves the absolute value. It's (not yet) possible to convert from percentage to durability because that would require a database of max durability values and other things.
  4. Double Release: 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.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 (only useful if you are using the db command) @Darkblood I was going to comment on that... right when WC was applying updates to this site. Then some problem with the 0.6.1 release came up and i forgot to implement the stuff needed for your problem. Which means it's going to come with 0.6.3. So yeah, while the modify command is intended to mass delete stuff by class/type, it's not yet implemented.
  5. Next planned updates/Roadmap: 0.6.1 Fix for missing ancestor writer, include names of ancestors 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) Fix for objects in the hibernation section being ignored by all commands 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 Improved detection of creatures
  6. 0.6.0 Release! Changelog: 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
  7. Just did the first successful conversion of a Version 9 save to json and back to binary. The next version will also contain support for the Version 4 Local Profile and Version 4 Cloud Inventory format. I'm now in the process of ditching the current json library and will replace it with Jackson. I had already done that on a local branch in the past, which caused the mapToJson command to be up to 2 orders of magnitude faster than before. Still need to write new code to read the JSON back in. @TeaKettle If you send me the file then I'll take a look.
  8. Been very busy again with work. And that might happen again. Anyway: New regular and preview versions are available. https://github.com/Qowyn/ark-tools/releases/tag/0.5.4 0.5.4 Changelog: Contributions by ZokRadonh from GitHub: Added tamedIneffectivenessModifier and DinoAncestor to tamed creature output read-only support for V8 and V9 map-saves https://github.com/Qowyn/ark-tools/releases/tag/0.6.0-preview2 0.6.0-preview2 Changelog: read-only support for V8 and V9 map-saves Some new options: --allow-broken-file for mapToJson command, tries to get as much data as possible from broken map-saves Improved DataCollector performance, allow reading files in parallel Known broken stuff: Version 7 to 9 map-saves are read-only Potentially missing some dinos for singleplayer and non-dedicated hosts Clusterfiles aka CloudInventory is now on Version 4 Fun fact: ark-tools m2j Z:\path\to\DnL\Saved\SavedDnLLocal\DNL_ALL.dnl Z:\path\to\DnL\Saved\SavedDnLLocal\DNL_ALL.json --pretty Above command works with Dark and Light saves, converting them to the usual .json representation. They are using the (almost) ancient Version 5 format.
  9. It seems that, unless that upload is broken, your save is broken. The last object with readable properties is 63139 (some charcoal), everything after that (79852 Objects) lost all it's properties. And i have no idea what that forge id is supposed to be, looks like a player id to me.
  10. @Diahard1000 It's possible to remove objects from the save, but it has to be done manually for now. Meaning you would have to convert the save to json, edit the object out and convert it back (using version 6 format because version 7 cannot be written yet). If you send me the file and infos about the crash and the object i could have a look.
  11. It's not a new release yet so... let's call it a preview. You can get that here: https://github.com/Qowyn/ark-tools/releases/tag/0.6.0-preview Noteable changes are the two new commands db-drivers: prints a list of detected database drivers and all possible parameters db first parameter is the path to the map save (e.g. TheIsland.ark) second parameter is a path or uri where the driver should write everything to third parameter is optional, not yet implemented and a path to the cluster directory drivers can recieve additional options via --param and/or --config the param --config should point to a .json file containing an object, with each key-value pair being sent to the driver as parameters --config is applied before --param, i.e. --param overrides --config settings There is one driver integrated into this preview, with the name "json". Using this driver will write a huge JSON file with all info combined (creatures, inventories, items, players, structures, tribes). Check db-drivers for params of "json", you can change the order of fields, remove fields from getting written at all and make the output explode by writing fields even if they contain nothing or default values.
  12. @Shadowmage45 I don't mind at all, creating a GUI for ark-tools is currently at the end of the list of planned things. Not sure if this will happen for 1.0.0 or later. And a small PSA: 0.6.0 will probably release today (CEST) and the first external database driver will be for MySQL/MariaDB
  13. Aaaand thanks to 259.0 we have a new release, 0.5.3 Changelog: Experimental support for new savegame format version 7
  14. This time it's fixed for sure with the release of 0.5.2 Changelog Fixed NPE in modify command Fixed handling of high (>32767) itemStatValues for all item printing commands (so you can see the results of the example modify command)
  15. New Release 0.5.1 is out. Changelog: Added support for new v3 cluster data format Added LatLong data for Ragnarok and TheVolcano Added type name for uploaded dinos, moved dino data to "data" attribute @MaeL The support for v3 cluster might fix the modify command, haven't tested that yet. @CryonX Could you list the steps that you used to modify the dino? Also all stat changes can revert at any time if they are done on the live stats, instead of on the tamed and wild levelups.
  16. Will be fixed for the next release and I'll try to include as many new fields to change as i can find.
  17. And 0.5.0 is finally out. Tried to cram two additional commands into this release but ran out of time. Changelog: 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 That last point is important for new installations: You have to run ark-tools updateData at least once for new installations if you want human readable names for creatures, items or anything else. The new commands that didn't make it are planned for the next version: Command db: reads all available data from savegame, profiles, tribes and cluster (if available) and writes it to the specified URI (or file path) using the specified driver Command db-drivers: prints a list of all available drivers, their settings and all supported protocols Drivers can support writing to local files or URIs and they are either intergrated into ark-tools.jar or loaded from external *-ark-tools-driver.jar files The first driver will be called "json" and will support writing to local files and POSTing to HTTP and HTTPS URLs or uploading to FTP URLs
  18. @StriderUk I'd like to have a look at that savegame. Next version of ark-tools is almost ready and should solve all problems with the volcano map and other maps using those fields. In addition to the new command for updating ark_data.json there will be a command to get the version of ark-tools. There have been a lot of internal changes, resulting in fewer error messages about unknown properties and other stuff.
  19. Announcement: The location of newer and translated ark_data.json files has now been changed to https://ark-tools.seen-von-ragan.de/data-download/ The files are now pretty-printed and recieve updates in a semi-automatic fashion. The next version of ark-tools will include a new command to fetch the newest data files.
  20. This can be done with ark-tools tribes --creatures --tribeless --pretty /path/to/savegame.ark /path/to/output/folder/ The savegame file and all .arktribe files have to be in the same directory. This will get you a list of all dinos for all tribes (and people without a tribe count for the "tribeless" tribe).
  21. So, uh, life happend. Currently trying to get back into all things ark. New bugfix version: 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)
  22. That will come with the next version. And I'm developing a mod to enhance the features of ark-tools, this mod will allow you to get the ingame names of item classes and other information too. And it will be possible to extract most information right from the running game and post it to some HTTP(S?) endpoint.
  23. Sorry for answering a bit late, somehow I didn't see the notification. The players command should be targeted at your Map.ark file, which needs to be in the same directory as the player profiles. ark-tools players /path/to/TheIsland.ark /path/to/output/ --positions
  24. Decided to be too tired to work on this today. So 0.4.0 is out now. Changelog: 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 team field: this is a tribe id if > 999999999, otherwise a player id playerId field: always points to a player, only set if the creature got tamed before joining a tribe or (probably) for personally owned creatures ownerName field: same as playerId, but containing the name of the player
  25. 0.4.0 is almost ready, just trying to add one last thing: extended options for tribes command, to extact extended data about PCs, structures and creatures. New version will come today (CET). If that last feature takes too long it will be pushed back to 0.4.1
×