MirageUK Posted April 29, 2021 Author Share Posted April 29, 2021 Yeah we're all well thank you. Just been quite an adjustment to working from home which left me somewhat un-motivated to sit at the same computer doing my own stuff (including this) on an evening after a day of work for the day job. I'm increasingly aware of the imminent release of Genesis 2 so thought I'd best get back into it in preperation. Apologies for leaving you guys so long without looking into and fixing things for you. 3 Link to comment Share on other sites More sharing options...
MirageUK Posted April 29, 2021 Author Share Posted April 29, 2021 Fjördur appears to have a scale of 7140 and the standard lat/lon shifts of 50. I will get a grid overlay added and do some testing but should be able to add support for that in the next release. Link to comment Share on other sites More sharing options...
MirageUK Posted April 29, 2021 Author Share Posted April 29, 2021 New version available for download: http://www.miragesoftware.co.uk/ARK/Apps/ArkViewer2021.zip @pleinx - Added support for SteamId on player export. @Sirendire - Fixed selection of death cache items and added inventory button which will be enabled if the cache contains items. @Shodan - Added support for Fjordur map. @Foppa  / @Koltran - Same issue.  Now ignores dropped items it doesn't recognise instead of crashing. @c0mical - Fixed.  Issue was that I populate the list in 2 ways and I forgot to include the additional fields for "solo" players. @Wolfamid - The source code is all available on GitHub.  If you have any knowledge of C# please feel free to suggest any improvements I can make to the performance. GitHub repository: https://github.com/miragedmuk/ARKViewer-Master  Everybody else - I'll need a sample save file to replicate and fix the "tames as wild" issue as I don't encounter that on our own saves. 1 Link to comment Share on other sites More sharing options...
Larkfields Posted April 29, 2021 Share Posted April 29, 2021 3 hours ago, MirageUK said: Everybody else - I'll need a sample save file to replicate and fix the "tames as wild" issue as I don't encounter that on our own saves. It's great to have you back Mirage. I've PM'd you with a link to a save file with tame dinos that are showing as wild. I can probably find more examples if you need them. 1 Link to comment Share on other sites More sharing options...
MirageUK Posted April 30, 2021 Author Share Posted April 30, 2021 @Wolfamid now that @Larkfields has provided me with a file that takes an age to load I can see that my code to load cryopods is a bottleneck. I will look at ways I can improve this in a future release.  Link to comment Share on other sites More sharing options...
MirageUK Posted April 30, 2021 Author Share Posted April 30, 2021 New release available: http://www.miragesoftware.co.uk/ARK/Apps/ArkViewer2021-2.zip @Larkfields kindly provided me with a sample save of Ragnarok and I was able to fix the "tames as wilds" and improve load speed when the save game has lots of cryopod creatures. For example, using the previous release of viewer and the provided game save on my machine it took over 22 minutes to load. With the new changes made to how I load cryopod data it takes just under 4.5 minutes for the same save, on the same machine. 1 1 Link to comment Share on other sites More sharing options...
MirageUK Posted May 1, 2021 Author Share Posted May 1, 2021 (edited) And again... http://www.miragesoftware.co.uk/ARK/Apps/ArkViewer2021-3.zip  Fixed issues with cryopod loads using multi-threading for performance pass. Changed to use a "thread-safe" list to prevent exception. Fixed issue where standard FTP server connections would not first call Connect() before attempting to download the save game. Fixed right click player export. It had incorrect header for SteamId and was not outputting the steam id number as it attempted to convert to int and failed due to the number being too high.  Edited May 1, 2021 by MirageUK 1 Link to comment Share on other sites More sharing options...
Rattgtg Posted May 1, 2021 Share Posted May 1, 2021 (edited) Mode: Mode_Offline Save: \\gvoltserver\ArkServer\GV\Crystal Isles\ShooterGame\Saved\SavedArks\CrystalIsles.ark Message: An item with the same key has already been added. Trace: Â Â at System.ThrowHelper.ThrowArgumentException(ExceptionResource resource) Â Â at System.Collections.Generic.Dictionary`2.Insert(TKey key, TValue value, Boolean add) Â Â at System.Linq.Enumerable.ToDictionary[TSource,TKey,TElement](IEnumerable`1 source, Func`2 keySelector, Func`2 elementSelector, IEqualityComparer`1 comparer) Â Â at System.Linq.Enumerable.ToDictionary[TSource,TKey,TElement](IEnumerable`1 source, Func`2 keySelector, Func`2 elementSelector) Â Â at ArkSavegameToolkitNet.Domain.ArkGameData.Update(CancellationToken ct, ArkPlayerExternal[] externalPlayerData, Boolean deferApplyNewData, ArkAnonymizeData anonymize) in F:\Projects\VS\ARKViewer-Master\ArkSavegameToolkitNet.Domain\ArkGameData.cs:line 113 Â Â at ARKViewer.frmViewer.LoadData() in F:\Projects\VS\ARKViewer-Master\ARKViewer\frmViewer.cs:line 224 Â Â at ARKViewer.frmViewer.btnSettings_Click(Object sender, EventArgs e) in F:\Projects\VS\ARKViewer-Master\ARKViewer\frmViewer.cs:line 3338 Â Â at System.Windows.Forms.Control.OnClick(EventArgs e) Â Â at System.Windows.Forms.Button.OnClick(EventArgs e) Â Â at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent) Â Â at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks) Â Â at System.Windows.Forms.Control.WndProc(Message& m) Â Â at System.Windows.Forms.ButtonBase.WndProc(Message& m) Â Â at System.Windows.Forms.Button.WndProc(Message& m) Â Â at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam) Â Mode: Mode_Offline Save: \\gvoltserver\ArkServer\GV\Island\ShooterGame\Saved\SavedArks\TheIsland.ark Message: An item with the same key has already been added. Trace: Â Â at System.ThrowHelper.ThrowArgumentException(ExceptionResource resource) Â Â at System.Collections.Generic.Dictionary`2.Insert(TKey key, TValue value, Boolean add) Â Â at System.Linq.Enumerable.ToDictionary[TSource,TKey,TElement](IEnumerable`1 source, Func`2 keySelector, Func`2 elementSelector, IEqualityComparer`1 comparer) Â Â at System.Linq.Enumerable.ToDictionary[TSource,TKey,TElement](IEnumerable`1 source, Func`2 keySelector, Func`2 elementSelector) Â Â at ArkSavegameToolkitNet.Domain.ArkGameData.Update(CancellationToken ct, ArkPlayerExternal[] externalPlayerData, Boolean deferApplyNewData, ArkAnonymizeData anonymize) in F:\Projects\VS\ARKViewer-Master\ArkSavegameToolkitNet.Domain\ArkGameData.cs:line 113 Â Â at ARKViewer.frmViewer.LoadData() in F:\Projects\VS\ARKViewer-Master\ARKViewer\frmViewer.cs:line 224 Â Â at ARKViewer.frmViewer.btnSettings_Click(Object sender, EventArgs e) in F:\Projects\VS\ARKViewer-Master\ARKViewer\frmViewer.cs:line 3338 Â Â at System.Windows.Forms.Control.OnClick(EventArgs e) Â Â at System.Windows.Forms.Button.OnClick(EventArgs e) Â Â at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent) Â Â at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks) Â Â at System.Windows.Forms.Control.WndProc(Message& m) Â Â at System.Windows.Forms.ButtonBase.WndProc(Message& m) Â Â at System.Windows.Forms.Button.WndProc(Message& m) Â Â at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam) Edited May 1, 2021 by Rattgtg Link to comment Share on other sites More sharing options...
MirageUK Posted May 1, 2021 Author Share Posted May 1, 2021 Can you upload the save for me to check out please @Rattgtg? Looks like it maybe duplicating something somewhere as that line is attempting to map out the status component data for tamed creatures. Also - is that with the latest version? I was having some issues where I would experience duplicates/empty objects before I updated the list to be thread safe. Link to comment Share on other sites More sharing options...
Rattgtg Posted May 1, 2021 Share Posted May 1, 2021 @MirageUKÂ DM'd link to save files 1 Link to comment Share on other sites More sharing options...
MirageUK Posted May 1, 2021 Author Share Posted May 1, 2021 @Rattgtg looks like I've got some race conditions going onl as it's attempting to sequentially read the file.. but then doing so over multiple threads/processes to speed it up. I'm going to need some time to work out how best to handle it, I kinda adapted some code from the underlying framework without fully understanding it. Leave it with me tonight, will hopefully get something to fix it all tomorrow. Link to comment Share on other sites More sharing options...
MirageUK Posted May 1, 2021 Author Share Posted May 1, 2021 Scrap my last comment. Found the issue. It doesn't affect my map as I only have at most 1 vivarium, but I'm accidentally incrementing a counter I'm then using as a base for other objects for each vivarium - causing duplicate object id's. I will do a build first thing in the morning to fix it - been a long day coding and packing up to move house and time for me to relax Link to comment Share on other sites More sharing options...
Rattgtg Posted May 1, 2021 Share Posted May 1, 2021 Relax and enjoy what time you can without work  Link to comment Share on other sites More sharing options...
MirageUK Posted May 2, 2021 Author Share Posted May 2, 2021 Morning guys http://www.miragesoftware.co.uk/Ark/Apps/ArkViewer2021-4.zip @Rattgtg Fixed exception of "Duplicate Keys" when loading save data with more than 1 Vivarium on the map.  1 1 Link to comment Share on other sites More sharing options...
Neazan Posted May 6, 2021 Share Posted May 6, 2021 Hi Mirage.. Great to see you again  !! I would like to notify a bug that I have been observing lately to see if it has a solution, It's about the last connection of a tribe. There are players who only enter a map to reset the decay and inmediatly goes offline to other map. When this happens, the last tribe connection is not updated and the previous "connection time" continues. I don't know if you understand what I mean..  Link to comment Share on other sites More sharing options...
Larkfields Posted May 8, 2021 Share Posted May 8, 2021 Hi Mirage. I've just noticed that ArkViewer2021-4 is producing duplicate entries for some tames on my Extinction map. This is one example, but there are others. Not every dino is duplicated.  Let me know if you'd like a copy of the map. {"id":550894212200354989,"tribeid":1163197200,"tribe":"Tribe of (no imprint) Du","tamer":"Tribe of (no imprint) Du","imprinter":null,"imprint":null,"creature":"Spindles_Character_BP_C","name":"Mum","sex":1,"base":172,"lvl":219,"lat":51.3597221,"lon":57.2920761,"hp-w":25,"stam-w":26,"melee-w":26,"weight-w":19,"speed-w":28,"food-w":27,"oxy-w":20,"craft-w":0,"hp-t":11,"stam-t":7,"melee-t":24,"weight-t":0,"speed-t":5,"food-t":0,"oxy-t":0,"craft-t":0,"c0":8,"c1":32,"c2":44,"c3":34,"c4":46,"c5":42,"mut-f":0,"mut-m":0,"cryo":false,"viv":false,"ccc":"58336.63 10877.78 -24652.47"}, {"id":550894212200354989,"tribeid":1163197200,"tribe":"Tribe of (no imprint) Du","tamer":"Tribe of (no imprint) Du","imprinter":null,"imprint":null,"creature":"Spindles_Character_BP_C","name":"Mum","sex":1,"base":172,"lvl":219,"lat":51.3597221,"lon":57.2920761,"hp-w":25,"stam-w":26,"melee-w":26,"weight-w":19,"speed-w":28,"food-w":27,"oxy-w":20,"craft-w":0,"hp-t":11,"stam-t":7,"melee-t":24,"weight-t":0,"speed-t":5,"food-t":0,"oxy-t":0,"craft-t":0,"c0":8,"c1":32,"c2":44,"c3":34,"c4":46,"c5":42,"mut-f":0,"mut-m":0,"cryo":false,"viv":false,"ccc":"58336.63 10877.78 -24652.47"},   1 Link to comment Share on other sites More sharing options...
MirageUK Posted May 9, 2021 Author Share Posted May 9, 2021 @Neazan I'll have to check the code to see what is used to work out last activity for the tribe and get back to you. @Larkfields Yes please, if you can provide it in DM I'll investigate later today. Link to comment Share on other sites More sharing options...
pleinx Posted May 12, 2021 Share Posted May 12, 2021 On 4/29/2021 at 8:24 PM, MirageUK said: @pleinx - Added support for SteamId on player export. I will check this at the weekend, thanks!   Btw. thanks for your great & fast support and that you still motivated to continue work on this tool, its great! If the performance will be increased its just a nice2have. 1 Link to comment Share on other sites More sharing options...
pleinx Posted May 13, 2021 Share Posted May 13, 2021 (edited) @MirageUK i test it now and it seems not being working for the command-line export 😕 I see the steamID while im exporting via GUI but not via cmd: { "playerid": 1234567, "steam": "FooBar", "name": "pleinx", "tribeid": 12345678910, "tribe": "FooBar", "sex": 0, "lvl": 103, "lat": 16.59224, "lon": 3.77611542, "hp": 30, "stam": 12, "melee": 2, "weight": 22, "speed": 9, "food": 5, "water": 3, "oxy": 0, "craft": 8, "fort": 11, "active": "2021-05-13T21:33:56Z", "ccc": "-330038,5 -238531,4 3888,095" }, My CMD .\ARKSaveViewer.exe players "C:\temp\players_output.json" "C:\temp\Ragnarok\Ragnarok.ark"  I tried with "ArkViewer2021-4" Edited May 13, 2021 by pleinx Link to comment Share on other sites More sharing options...
MirageUK Posted May 14, 2021 Author Share Posted May 14, 2021 Apologies, GUI exports everything in the grid... command line doesn't use same grid. I'll get it updated this weekend. 1 Link to comment Share on other sites More sharing options...
pleinx Posted May 14, 2021 Share Posted May 14, 2021 (edited) 7 hours ago, MirageUK said: Apologies, GUI exports everything in the grid... command line doesn't use same grid. I'll get it updated this weekend. Thanks! Yeah, i thought so. But keep this format Means make all that data exportable via cmd. Thats cool!  You can btw. add the steamID to every tab / export. Edited May 14, 2021 by pleinx Link to comment Share on other sites More sharing options...
Rattgtg Posted May 15, 2021 Share Posted May 15, 2021 I have gotten this a few times, it will error on first start of program but i can start it right back up and work normal with no error on 2nd try Mode: Mode_Offline Save: \\gvoltserver\ArkServer\GV\Valguero\ShooterGame\Saved\SavedArks\Valguero_P.ark Message: An item with the same key has already been added. Trace: Â Â at System.ThrowHelper.ThrowArgumentException(ExceptionResource resource) Â Â at System.Collections.Generic.Dictionary`2.Insert(TKey key, TValue value, Boolean add) Â Â at System.Linq.Enumerable.ToDictionary[TSource,TKey,TElement](IEnumerable`1 source, Func`2 keySelector, Func`2 elementSelector, IEqualityComparer`1 comparer) Â Â at System.Linq.Enumerable.ToDictionary[TSource,TKey,TElement](IEnumerable`1 source, Func`2 keySelector, Func`2 elementSelector) Â Â at ArkSavegameToolkitNet.Domain.ArkGameData.Update(CancellationToken ct, ArkPlayerExternal[] externalPlayerData, Boolean deferApplyNewData, ArkAnonymizeData anonymize) in F:\Projects\VS\ARKViewer-Master\ArkSavegameToolkitNet.Domain\ArkGameData.cs:line 113 Â Â at ARKViewer.frmViewer.LoadData() in F:\Projects\VS\ARKViewer-Master\ARKViewer\frmViewer.cs:line 224 Â Â at ARKViewer.frmViewer..ctor() in F:\Projects\VS\ARKViewer-Master\ARKViewer\frmViewer.cs:line 90 Â Â at ARKViewer.Program.Main() in F:\Projects\VS\ARKViewer-Master\ARKViewer\Program.cs:line 1000 Link to comment Share on other sites More sharing options...
pleinx Posted May 15, 2021 Share Posted May 15, 2021 (edited) Feature-Request for export via CMD Current Commands: .\ARKSaveViewer.exe players "C:\temp\players.json" "C:\temp\Viking_P\Viking_P.ark" .\ARKSaveViewer.exe tamed "C:\temp\tamed.json" "C:\temp\Viking_P\Viking_P.ark" .\ARKSaveViewer.exe structures "C:\temp\tribes.json" "C:\Viking_P\Viking_P.ark" .\ARKSaveViewer.exe tribes "C:\temp\tribes.json" "C:\temp\Viking_P\Viking_P.ark" Can we combine this export rules to one to save execution time? For bigger savegames (about 350MB) it takes up to 20minutes on NVMe. Is possible that you add this? .\ARKSaveViewer.exe players,tamed,structures,tribes "C:\temp\*.json" "C:\temp\Viking_P\Viking_P.ark" Which create JSON-Files like exportKey (players|tamed|structures|tribes) C:\temp\players.json C:\temp\tamed.json C:\temp\structures.json C:\temp\tribes.json This should save a lot of time, because only one parsing time for savegame itself and the exports going really quick. That would be very cool! 🙂  EDIT: If its easier / faster for you to implement this feature, make a "export all" function. I really dont need wild.json but wouldn't be a drama because, like already said, the export time itself is really quick, just the parsing takes long time. Quote .\ARKSaveViewer.exe all "C:\temp\*.json" "C:\temp\Viking_P\Viking_P.ark"  Edited May 15, 2021 by pleinx Link to comment Share on other sites More sharing options...
MirageUK Posted May 15, 2021 Author Share Posted May 15, 2021 10 minutes ago, pleinx said: Feature-Request for export via CMD Current Commands: .\ARKSaveViewer.exe players "C:\temp\players.json" "C:\temp\Viking_P\Viking_P.ark" .\ARKSaveViewer.exe tamed "C:\temp\tamed.json" "C:\temp\Viking_P\Viking_P.ark" .\ARKSaveViewer.exe structures "C:\temp\tribes.json" "C:\Viking_P\Viking_P.ark" .\ARKSaveViewer.exe tribes "C:\temp\tribes.json" "C:\temp\Viking_P\Viking_P.ark" Can we combine this export rules to one to save execution time? For bigger savegames (about 350MB) it takes up to 20minutes on NVMe. Is possible that you add this? .\ARKSaveViewer.exe players,tamed,structures,tribes "C:\temp\*.json" "C:\temp\Viking_P\Viking_P.ark" Which create JSON-Files like exportKey (players|tamed|structures|tribes) C:\temp\players.json C:\temp\tamed.json C:\temp\structures.json C:\temp\tribes.json This should save a lot of time, because only one parsing time for savegame itself and the exports going really quick. That would be very cool! 🙂  EDIT: If its easier / faster for you to implement this feature, make a "export all" function. I really dont need wild.json but wouldn't be a drama because, like already said, the export time itself is really quick, just the parsing takes long time.  Already has an option for "all": .\ARKSaveViewer.exe all "C:\temp\" "C:\temp\Viking_P\Viking_P.ark"  1 Link to comment Share on other sites More sharing options...
pleinx Posted May 15, 2021 Share Posted May 15, 2021 Damn, nice and workz. I just read this here, maybe you can edit and this for other peoples  THX Link to comment Share on other sites More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now