Jump to content

Admin / Trusted Player Tool - Game Save Visualiser


MirageUK

Recommended Posts

Hello,

I can get like LostIsland to work fine. However when I attempt to use with Amissa I get an error... Also another nonDLC map Volcano fails.

Mode: Mode_Ftp

Save:


Message:
Object reference not set to an instance of an object.

Trace:
   at ARKViewer.frmViewer.<ShowMapViewer>b__116_0(ContentMarker x) in C:\Dev\ASV\ARKViewer\frmViewer.cs:line 3508
   at System.Linq.Enumerable.WhereListIterator`1.MoveNext()
   at System.Collections.Generic.List`1..ctor(IEnumerable`1 collection)
   at System.Linq.Enumerable.ToList[TSource](IEnumerable`1 source)
   at ARKViewer.frmViewer.ShowMapViewer() in C:\Dev\ASV\ARKViewer\frmViewer.cs:line 3508
   at ARKViewer.frmViewer.btnViewMap_Click(Object sender, EventArgs e) in C:\Dev\ASV\ARKViewer\frmViewer.cs:line 2737
   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)

 

Thank you

Edited by CyberGameZone
added more info
Link to comment
Share on other sites

12 hours ago, CyberGameZone said:

Hello,

I can get like LostIsland to work fine. However when I attempt to use with Amissa I get an error... Also another nonDLC map Volcano fails.

Mode: Mode_Ftp

Save:


Message:
Object reference not set to an instance of an object.

Trace:
   at ARKViewer.frmViewer.<ShowMapViewer>b__116_0(ContentMarker x) in C:\Dev\ASV\ARKViewer\frmViewer.cs:line 3508
   at System.Linq.Enumerable.WhereListIterator`1.MoveNext()
   at System.Collections.Generic.List`1..ctor(IEnumerable`1 collection)
   at System.Linq.Enumerable.ToList[TSource](IEnumerable`1 source)
   at ARKViewer.frmViewer.ShowMapViewer() in C:\Dev\ASV\ARKViewer\frmViewer.cs:line 3508
   at ARKViewer.frmViewer.btnViewMap_Click(Object sender, EventArgs e) in C:\Dev\ASV\ARKViewer\frmViewer.cs:line 2737
   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)

 

Thank you

Subsribing to Volcano and re-subscribring to Amissa to investigate. Will update you shortly.

..edit..

Amissa seems to load fine for me.  Volcano was never supported, unless you added it to maps.json yourself?  I will investigate adding support in the next build.

Ps. If you can't get Amissa working I will investigate if you can upload the save folder somehwere I can download and debug.

 

... edit 2...

Re-packaged and re-uploaded to same download link.  Added support for TheVolcano.ark and included map image in the maps folder. Thanks again @Larkfields - adding a new map is so much easier now :)

Edited by MirageUK
Added support for The Volcano
  • Thanks 1
Link to comment
Share on other sites

On 1/13/2022 at 5:48 PM, Larkfields said:

I copy the ".ark" savefile before running Mirage's utility - and run the util on the copy.
You'll need to edit maps.json so it knows the name of the copied file.

It should only hold the .ark save whilst loading Ark Viewer (or downloading if ftp) - once loaded everything should be in memory and the file locks released.  Checking the code I have the stream wrapped up in a Using statement (technical code stuff) and assumed this would close and clean up any file lock.  I will investigate an explicit .Close() on the next build to see if that helps.

 

..scrap that.

image.png.fdd72e9d2a6eebe3af79950f52eefdb9.png

Based on that information from the dev code I have no idea why a file lock would persist on the main .ark save once it's loaded.  Should definitely not have to close ASV to release the lock as it uses its own in-memory version of the objects once loaded.

Edited by MirageUK
  • Thanks 1
Link to comment
Share on other sites

Thank you for looking into this. All I did was download the app, click on the app to start. Added map with FTP info. I didnt make changes to anything else. I'm no coder nor understand other than it displays cool stuff. :)

 

I have downloaded and installed the new file ver 4.2.0.0

Loaded Amissa and Volcano. Still failed. The FTP part passed though.

 

Link to comment
Share on other sites

12 hours ago, CyberGameZone said:

Thank you for looking into this. All I did was download the app, click on the app to start. Added map with FTP info. I didnt make changes to anything else. I'm no coder nor understand other than it displays cool stuff. :)

 

I have downloaded and installed the new file ver 4.2.0.0

Loaded Amissa and Volcano. Still failed. The FTP part passed though.

 

I don't have a server anymore to test this on myself unfortunately.

Can you please let me know the error report information on the latest release when loading each map?  I can at least see what the code is attempting to do. 

Alternatively upload your save folder somewhere after it has downloaded and I can load it into my dev environment to debug and hopefully provide a fix.

Link to comment
Share on other sites

Hi Mirage.

The Crystal Isle coords seemed to be out a little bit.  I've recalculated the figures for maps.json to be...
{
        "MapName": "Crystal Isles",
        "Filename": "crystalisles.ark.ark",
        "ImageFile": "map_crystalisles.png",
        "LatShift": 48.687,
        "LatDiv": 15882.02,
        "LonShift": 49.9481,
        "LonDiv": 16988.76
    }

Spreadsheet is attached for reference.

 

Ark_GPS_ccc_Coords.xlsx

  • Thanks 1
Link to comment
Share on other sites

Latest error when attempting to load Amissa on ASC ver 4.2.0.0.

Please advise when you have the file. Thank you

cybergamezone.com/ark/Amissa_CGZ.zip

Mode: Mode_Ftp

Save:


Message:
Object reference not set to an instance of an object.

Trace:
   at ARKViewer.frmViewer.<ShowMapViewer>b__116_0(ContentMarker x) in C:\Dev\ASV\ARKViewer\frmViewer.cs:line 3517
   at System.Linq.Enumerable.WhereListIterator`1.MoveNext()
   at System.Collections.Generic.List`1..ctor(IEnumerable`1 collection)
   at System.Linq.Enumerable.ToList[TSource](IEnumerable`1 source)
   at ARKViewer.frmViewer.ShowMapViewer() in C:\Dev\ASV\ARKViewer\frmViewer.cs:line 3517
   at ARKViewer.frmViewer.btnViewMap_Click(Object sender, EventArgs e) in C:\Dev\ASV\ARKViewer\frmViewer.cs:line 2744
   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 by CyberGameZone
Link to comment
Share on other sites

15 hours ago, CyberGameZone said:

Latest error when attempting to load Amissa on ASC ver 4.2.0.0.

Please advise when you have the file. Thank you

cybergamezone.com/ark/Amissa_CGZ.zip

Mode: Mode_Ftp

Save:


Message:
Object reference not set to an instance of an object.

Trace:
   at ARKViewer.frmViewer.<ShowMapViewer>b__116_0(ContentMarker x) in C:\Dev\ASV\ARKViewer\frmViewer.cs:line 3517
   at System.Linq.Enumerable.WhereListIterator`1.MoveNext()
   at System.Collections.Generic.List`1..ctor(IEnumerable`1 collection)
   at System.Linq.Enumerable.ToList[TSource](IEnumerable`1 source)
   at ARKViewer.frmViewer.ShowMapViewer() in C:\Dev\ASV\ARKViewer\frmViewer.cs:line 3517
   at ARKViewer.frmViewer.btnViewMap_Click(Object sender, EventArgs e) in C:\Dev\ASV\ARKViewer\frmViewer.cs:line 2744
   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)

Got it, will investigate after work today.

Cheers

 

..edit..

No need to investigate.  Your filename's are the issue.

ASV supports maps by filename.  So "Amissa_16.01.2022_17.33.12.ark" would not be recognised without you first altering maps.json.  The expected filename is Amissa.ark.

I will add additional checks to give a better error message but the map filename is used to determine other various things  - in this case any custom map markers.  With that filename it is unable to find the appropriate data.

For now, I would recommend a similar approach to what @Larkfields uses.  A batch file or something similar to copy the save directory out to another folder. Rename the Amissa save file as necessary and run against the "copy" folder.

 

..edit 2..

Will investigate pulling the map name from the save content so that any filename can be used in a future build.

Edited by MirageUK
Seen filename format in the backup.
Link to comment
Share on other sites

Version 4.2.1.0 now available.

https://drive.google.com/file/d/1kJsR2NSa_arKwjIjf5J93Xp1IFLksVNE/view?usp=sharing

Features:

  • Now reads original map filename from the .ark save file.  This means that you can name the save anything you want and it will use the internal file information to determine correct map lat/lon calculations to use. @Larkfields any anybody else that has changed the maps.json will want to use my version again - the filenames in there should be the "original" ark save filename.  
  • Updated maps.json with co-ordinate calculation values provided by @Larkfields for Crystal Isles.

Let me know if you continue to have problems with this new version please @CyberGameZone

 

  • Thanks 2
Link to comment
Share on other sites

Thanks for looking again more into this.

 

The filename I selected from FTP was amissa.ark not the zipped filename. The ARK directory from server hosts has mapname.ark and then throughout the day creates all these zip files, but always a amissa.ark remains. All the ARK servers I admin do this. Even LostIsland. So why it worked on one, and not the other I dont understand. And its only on the nonDLC maps. I will download your update and see what happens. Thank you

*the suggested fix will not work for many hosted servers from hosting companies. They block that sort of things to be done. ie: no batch, no exe.

 

K, updated to ver 4.2.1.0, same result.

Mode: Mode_Ftp

Save:


Message:
Object reference not set to an instance of an object.

Trace:
   at ARKViewer.frmViewer.<ShowMapViewer>b__116_0(ContentMarker x) in C:\Dev\ASV\ARKViewer\frmViewer.cs:line 3510
   at System.Linq.Enumerable.WhereListIterator`1.MoveNext()
   at System.Collections.Generic.List`1..ctor(IEnumerable`1 collection)
   at System.Linq.Enumerable.ToList[TSource](IEnumerable`1 source)
   at ARKViewer.frmViewer.ShowMapViewer() in C:\Dev\ASV\ARKViewer\frmViewer.cs:line 3510
   at ARKViewer.frmViewer.btnViewMap_Click(Object sender, EventArgs e) in C:\Dev\ASV\ARKViewer\frmViewer.cs:line 2737
   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)

 

And here is the screenshot showing what I had selected and clicked save.

Untitled.png

Edited by CyberGameZone
Added more info after update.
Link to comment
Share on other sites

47 minutes ago, CyberGameZone said:

Thanks for looking again more into this.

The filename I selected from FTP was amissa.ark not the zipped filename. The ARK directory from server hosts has mapname.ark and then throughout the day creates all these zip files, but always a amissa.ark remains. All the ARK servers I admin do this. Even LostIsland. So why it worked on one, and not the other I dont understand. And its only on the nonDLC maps. I will download your update and see what happens. Thank you

Do you have any mods installed? Re-checking your save file it does error out. Not on the same line you provided but attempting to load the save file it finds some "extra data" it isn't expecting.

Just running through and doing more testing then I'll get another build together.

Link to comment
Share on other sites

Ok. Mis-leading error.  The error you are getting is due to attempting to load the map view when the game save itself has failed to load.  

Version 4.2.1.1 now availale.

https://drive.google.com/file/d/18jdfrz2YRL5j2RYoV3kj0jKVHkdB4yf3/view?usp=sharing

Bug Fixes:

  • Ignores any error and continues to load when attempting to read unexpected "extra data". @CyberGameZone
  • Thanks 1
Link to comment
Share on other sites

Hi Mirage.

v4.2.1.1 (using the command line) doesn't create any output files - not even a .log file.

v4.2.1.0 errors out with...
2022-01-17 21:00:22.5166|INFO|Running in command line mode (v4.2.1.0).
2022-01-17 21:00:22.5625|INFO|ASV Command Line Started with 4 parameters.
2022-01-17 21:00:22.5774|INFO|Reading game save data...
2022-01-17 21:00:25.5551|INFO|Game data loaded in: 00:02.
2022-01-17 21:00:25.5551|INFO|Reading mission leaderboard data...
2022-01-17 21:00:25.5551|INFO|Reading .arkprofile(s)
2022-01-17 21:00:25.5630|INFO|Reading .arktribe(s)
2022-01-17 21:00:25.9215|INFO|Allocating players to tribes
2022-01-17 21:00:25.9215|INFO|Identifying map structures
2022-01-17 21:00:25.9215|ERROR|LoadSaveGame failedSystem.NullReferenceException: Object reference not set to an instance of an object.
   at ASVPack.Models.ContentContainer.<>c__DisplayClass43_0.<LoadSaveGame>b__5(GameObject s) in C:\Dev\ASV\ASVToolkit\ASVPack\Models\ContentContainer.cs:line 390
   at System.Linq.Enumerable.WhereSelectListIterator`2.MoveNext()
   at System.Linq.Enumerable.WhereEnumerableIterator`1.MoveNext()
   at System.Collections.Generic.List`1..ctor(IEnumerable`1 collection)
   at System.Linq.Enumerable.ToList[TSource](IEnumerable`1 source)
   at ASVPack.Models.ContentContainer.LoadSaveGame(String saveFilename, String localProfileFilename) in C:\Dev\ASV\ASVToolkit\ASVPack\Models\ContentContainer.cs:line 367    at ASVPack.Models.ContentContainer.<>c__DisplayClass43_0.<LoadSaveGame>b__5(GameObject s) in C:\Dev\ASV\ASVToolkit\ASVPack\Models\ContentContainer.cs:line 390
   at System.Linq.Enumerable.WhereSelectListIterator`2.MoveNext()
   at System.Linq.Enumerable.WhereEnumerableIterator`1.MoveNext()
   at System.Collections.Generic.List`1..ctor(IEnumerable`1 collection)
   at System.Linq.Enumerable.ToList[TSource](IEnumerable`1 source)
   at ASVPack.Models.ContentContainer.LoadSaveGame(String saveFilename, String localProfileFilename) in C:\Dev\ASV\ASVToolkit\ASVPack\Models\ContentContainer.cs:line 367
2022-01-17 21:00:25.9375|ERROR|ExportWithCommandLineOptions failedSystem.NullReferenceException: Object reference not set to an instance of an object.
   at ASVPack.Models.ContentContainer.<>c__DisplayClass43_0.<LoadSaveGame>b__5(GameObject s) in C:\Dev\ASV\ASVToolkit\ASVPack\Models\ContentContainer.cs:line 390
   at System.Linq.Enumerable.WhereSelectListIterator`2.MoveNext()
   at System.Linq.Enumerable.WhereEnumerableIterator`1.MoveNext()
   at System.Collections.Generic.List`1..ctor(IEnumerable`1 collection)
   at System.Linq.Enumerable.ToList[TSource](IEnumerable`1 source)
   at ASVPack.Models.ContentContainer.LoadSaveGame(String saveFilename, String localProfileFilename) in C:\Dev\ASV\ASVToolkit\ASVPack\Models\ContentContainer.cs:line 1226
   at ARKViewer.Program.ExportWithCommandLineOptions(String[] commandArguments) in C:\Dev\ASV\ARKViewer\Program.cs:line 248    at ASVPack.Models.ContentContainer.<>c__DisplayClass43_0.<LoadSaveGame>b__5(GameObject s) in C:\Dev\ASV\ASVToolkit\ASVPack\Models\ContentContainer.cs:line 390
   at System.Linq.Enumerable.WhereSelectListIterator`2.MoveNext()
   at System.Linq.Enumerable.WhereEnumerableIterator`1.MoveNext()
   at System.Collections.Generic.List`1..ctor(IEnumerable`1 collection)
   at System.Linq.Enumerable.ToList[TSource](IEnumerable`1 source)
   at ASVPack.Models.ContentContainer.LoadSaveGame(String saveFilename, String localProfileFilename) in C:\Dev\ASV\ASVToolkit\ASVPack\Models\ContentContainer.cs:line 1226
   at ARKViewer.Program.ExportWithCommandLineOptions(String[] commandArguments) in C:\Dev\ASV\ARKViewer\Program.cs:line 248


 

Link to comment
Share on other sites

New question:

All players are listed as MALE. Why? When in fact the players are also female. And if the response is that its based on their SteamIDs as registered for those male playing as female- I know some true females as SteamIDs but the app is showing all male. If this is normal, its ok. Just curious.

Link to comment
Share on other sites

2 hours ago, CyberGameZone said:

New question:

All players are listed as MALE. Why? When in fact the players are also female. And if the response is that its based on their SteamIDs as registered for those male playing as female- I know some true females as SteamIDs but the app is showing all male. If this is normal, its ok. Just curious.

No idea.  I'll have a look this evening after work.  I think I still got some of our old backus hanging around to test and we had at least one player as female.

Link to comment
Share on other sites

Greetz Guys. 

Was longer time away. I'm not sure, but i remeber someone has run this tool under a linux system, right? I doesnt mean the GUI version, just this export all:

ARKSaveViewer.exe all "C:\ARK\latest\aberration\Aberration_P.ark" "C:\ARK\output\aberration\"

Any howto? I think about to sell my windows server and put this tool to my ubuntu machine. Thanks in advance

Link to comment
Share on other sites

@pleinx - ASVExport is compiled under .net core and should run on linux.  ArkSaveViewer.exe has windows specific references in for the GUI.

 

@CyberGameZone player listing all as male is a bug.  I do retrieve the correct gender but then somewhere along the load I'm either ignoring or overwriting it.  

I'm going to be spending some time over the weekend investigating a couple of other bits so will try and get it fixed at same time for the next build.

Edited by MirageUK
  • Thanks 1
Link to comment
Share on other sites

10 hours ago, MirageUK said:

@pleinx - ASVExport is compiled under .net core and should run on linux.  ArkSaveViewer.exe has windows specific references in for the GUI.

Tried a bit:

./ASVExport.exe all "/mnt/c/temp/TestLinux/LostIsland.ark" "/mnt/c/temp/TestLinux/"
A fatal error occurred. The required library hostfxr.dll could not be found.
./ASVExport.exe all "/mnt/c/temp/TestLinux/LostIsland.ark" "/mnt/c/temp/TestLinux/"
A fatal error was encountered. The library 'hostpolicy.dll' required to execute the application was not found in 'C:\temp\TestLinux\Tool\'.

I have to add these two dll into root of your tool hostpolicy.dll + hostfxr.dll

./ASVExport.exe all "/mnt/c/temp/TestLinux/LostIsland.ark" "/mnt/c/temp/TestLinux/"
Could not resolve CoreCLR path. For more details, enable tracing by setting COREHOST_TRACE environment variable to 1

Any idea what is meaning?

Link to comment
Share on other sites

Hi, I just downloaded this and was having an issue viewing Crystal Isle information. I found that the maps.json file was looking for "crystalisles.ark.ark", updating this file fixed the issue. I did check the files on github as well and that line appears there as well in the master branch. Just thought you should know.

Link to comment
Share on other sites

Can this tool be used to find the bugged spoiled wyvern eggs? On the map I play there are wyvern eggs randomly dropped on the map that spoil and don't disappear because of the bug. So they need to be picked up to be deleted otherwise the nests will stay empty.

Or is there a command to remove all (spoiled) wyvern eggs?

Link to comment
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...