Jump to content

Admin / Trusted Player Tool - Game Save Visualiser


MirageUK

Recommended Posts

The only reason I wasn't going to go open source was due to the "server export/import" feature that I had planned on encrypting for server admins to allow users to only have selected access to features but I'm just not playing ARK at the moment so not spending a lot of time on this tool either unfortunately.

It's all in C#, both my UI and the underlying toolkit.  I will look into adding it all to a public GitHub at some point instead of my private Azure repository.

  • Thanks 1
Link to comment
Share on other sites

Preview 39 now available.

http://www.miragesoftware.co.uk/ARK/Apps/ARKViewer_Preview39.zip

  •  Added command line export options.

Use:

  • Specified input save file
    • ARKViewer.exe option "C:\Test\output.json" "C:\server\saves\TheIsland.ark"
  • Configured save file but specified output file:
    • ARKViewer.exe option "C:\Test\output.json"
  • Configured save file exported to your documents folder
    • ARKViewer.exe option

When using saved config the output filename is optional and if not provided it will default to using your Documents\ARKViewer_Option.json

Options:

  • wild - exports all wild data in json format using the columns, and any background Id's, used by the viewer grid on the "Wild Creatures" tab.
  • tamed - exports all tamed data in json format using the columns, and any background Id's, used by the viewer grid on "Tamed Creatures" tab.
  • structures - exports all player structure data in json format using the columns, and any background Id's, used by the viewer grid on "Player Structures" tab.
  • tribes - exports all tribe summary data in json format using the columns, and any background Id's, used by the viewer grid on "Tribes" tab.
  • players - exports all player data in json format using the columns, and any background Id's, used by the viewer grid on "Players" tab.

 

Edited by MirageUK
Better use-case command line examples.
  • Thanks 5
Link to comment
Share on other sites

5 minutes ago, pleinx said:

Awesome! :) Many thanks for the fast implementation.
Will little bit play with it the next days.

jfyi for the others: currently he takes the savegame (*.ark) which was recently defined via the GUI

Re-uploaded with the additional "input" command line parameter. Please re-download.

Also - providing an input filename is used only for the export.  It will not overwrite your settings in the UI.

Edited by MirageUK
Link to comment
Share on other sites

Hi Mirage.
Many thanks for adding the command line options, they're really good for the people on my server.

Can I request an addition please?
It would be helpful to have the Unreal (x,y,z) Coordinates as well as GPS coords so admins can TP to a dino.  Expecially useful when dinos get stuck under the map, or up in the air.

Also: it takes quite some time to generate the lists.  I'd like to offer either some payment for your time to do this, or I can offer to look at the code to see if I can spot the bottle-neck.

I'm going to edit my scripts now, to replace ark-tools with your program.
Much appreciated.

Link to comment
Share on other sites

Preview 39 says...
 

Mode: Mode_SinglePlayer

Save:
TheIsland.ark

Message:
Token PropertyName in state Property would result in an invalid JSON object. Path '[0]'.

Trace:
   at Newtonsoft.Json.JsonWriter.AutoComplete(JsonToken tokenBeingWritten)
   at Newtonsoft.Json.JsonTextWriter.WritePropertyName(String name)
   at ARKViewer.Program.Main() in D:\Apps\ArkSavegameToolkitNet-master\ValgueroViewer\Program.cs:line 625

 

This map doesn't have any mods installed.

Link to comment
Share on other sites

Sorry to bombard you with messages.  I've just noticed that the error dialog always says "TheIsland.ark" - even when a different file is being processed...
 

Save:

TheIsland.ark

Message:
Token PropertyName in state Property would result in an invalid JSON object. Path '[1]'.

Trace:
   at Newtonsoft.Json.JsonWriter.AutoComplete(JsonToken tokenBeingWritten)
   at Newtonsoft.Json.JsonTextWriter.WritePropertyName(String name)
   at ARKViewer.Program.Main() in D:\Apps\ArkSavegameToolkitNet-master\ValgueroViewer\Program.cs:line 625

Link to comment
Share on other sites

Should I be deleting the json files before running your program?

Mode: Mode_SinglePlayer

Save:
TheIsland.ark

Message:
The file exists.


Trace:
   at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
   at System.IO.Path.InternalGetTempFileName(Boolean checkHost)
   at ArkSavegameToolkitNet.ArkSavegame.LoadCryopodEntries() in D:\Apps\ArkSavegameToolkitNet-master\ArkSavegameToolkitNet\ArkSaveGame.cs:line 165
   at ArkSavegameToolkitNet.ArkSavegame.LoadEverything() in D:\Apps\ArkSavegameToolkitNet-master\ArkSavegameToolkitNet\ArkSaveGame.cs:line 140
   at ArkSavegameToolkitNet.Domain.ArkGameData.Update(CancellationToken ct, ArkPlayerExternal[] externalPlayerData, Boolean deferApplyNewData, ArkAnonymizeData anonymize) in D:\Apps\ArkSavegameToolkitNet-master\ArkSavegameToolkitNet.Domain\ArkGameData.cs:line 74
   at ARKViewer.Program.Main() in D:\Apps\ArkSavegameToolkitNet-master\ValgueroViewer\Program.cs:line 87

Link to comment
Share on other sites

broken

Mode: Mode_Offline

Save:
C:\ARK\DataDirectory\Servers\Test\ShooterGame\Saved\SavedArks\TheIsland.ark

Message:
Dosya var.


Trace:
   konum: System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
   konum: System.IO.Path.InternalGetTempFileName(Boolean checkHost)
   konum: ArkSavegameToolkitNet.ArkSavegame.LoadCryopodEntries() D:\Apps\ArkSavegameToolkitNet-master\ArkSavegameToolkitNet\ArkSaveGame.cs içinde: satır 165
   konum: ArkSavegameToolkitNet.ArkSavegame.LoadEverything() D:\Apps\ArkSavegameToolkitNet-master\ArkSavegameToolkitNet\ArkSaveGame.cs içinde: satır 140
   konum: ArkSavegameToolkitNet.Domain.ArkGameData.Update(CancellationToken ct, ArkPlayerExternal[] externalPlayerData, Boolean deferApplyNewData, ArkAnonymizeData anonymize) D:\Apps\ArkSavegameToolkitNet-master\ArkSavegameToolkitNet.Domain\ArkGameData.cs içinde: satır 74
   konum: ARKViewer.frmViewer.LoadData() D:\Apps\ArkSavegameToolkitNet-master\ValgueroViewer\frmViewer.cs içinde: satır 222
   konum: ARKViewer.frmViewer.btnSettings_Click(Object sender, EventArgs e) D:\Apps\ArkSavegameToolkitNet-master\ValgueroViewer\frmViewer.cs içinde: satır 3186
   konum: System.Windows.Forms.Control.OnClick(EventArgs e)
   konum: System.Windows.Forms.Button.OnClick(EventArgs e)
   konum: System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
   konum: System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
   konum: System.Windows.Forms.Control.WndProc(Message& m)
   konum: System.Windows.Forms.ButtonBase.WndProc(Message& m)
   konum: System.Windows.Forms.Button.WndProc(Message& m)
   konum: System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

Link to comment
Share on other sites

Woah.. hangon, let me catch up and see if I can work out the problem... ok caught up.  Problem is when no player tribe can be found for a player on export.  I will fix this and add better error handling - I'll be honest I just copy/pasted the code from my UI which is why it'll be throwing message boxes.

CC co ords - I'll add to next build.

Edited by MirageUK
Caught up, response updated.
Link to comment
Share on other sites

Preview 40 now available to download.

http://www.miragesoftware.co.uk/ARK/Apps/ARKViewer_Preview40.zip

 

  • Fixed errors caused by players with no tribe or anything with no location data on export. @Larkfields @Wolfamid
  • Better command line error handling.
  • Added program exit codes when running command-line. 0 for success, -1 for failure.  Any failures are logged to Documents\ARKViewer.log
  • Added cryo property for tame export.
  • Added CCC co ords (x/y/z)
  • Thanks 1
Link to comment
Share on other sites

Bad news Mirage.

I'm not getting any output from the command-line...

C:\ArkTools\ARKViewer_Preview40\ARKSaveViewer.exe wild Z:\wild.json C:\ArkServer\ShooterGame\ShooterGame\Saved\SavedIsland\TheIsland.ark
I think it's related to the problem (below), when I launch the program normally and open an ark file.

Can you do anything to find what file is causing the problem?


 

Mode: Mode_Offline

Save:
C:\ArkServer\ShooterGame\Saved\SavedTempIsland\TheIsland.ark

Message:
The file exists.


Trace:
   at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
   at System.IO.Path.InternalGetTempFileName(Boolean checkHost)
   at ArkSavegameToolkitNet.ArkSavegame.LoadCryopodEntries() in D:\Apps\ArkSavegameToolkitNet-master\ArkSavegameToolkitNet\ArkSaveGame.cs:line 165
   at ArkSavegameToolkitNet.ArkSavegame.LoadEverything() in D:\Apps\ArkSavegameToolkitNet-master\ArkSavegameToolkitNet\ArkSaveGame.cs:line 140
   at ArkSavegameToolkitNet.Domain.ArkGameData.Update(CancellationToken ct, ArkPlayerExternal[] externalPlayerData, Boolean deferApplyNewData, ArkAnonymizeData anonymize) in D:\Apps\ArkSavegameToolkitNet-master\ArkSavegameToolkitNet.Domain\ArkGameData.cs:line 74
   at ARKViewer.frmViewer.LoadData() in D:\Apps\ArkSavegameToolkitNet-master\ValgueroViewer\frmViewer.cs:line 222
   at ARKViewer.frmViewer.btnSettings_Click(Object sender, EventArgs e) in D:\Apps\ArkSavegameToolkitNet-master\ValgueroViewer\frmViewer.cs:line 3186
   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)

Link to comment
Share on other sites

Preview 41

http://www.miragesoftware.co.uk/ARK/Apps/ARKViewer_Preview41.zip

  • Performance.  Completely removed temporary file use and now load all cryopod data directly from memory. Thanks for @Larkfields for pointing this out as a problem and bottle neck.

Also - for those that are interested I have made the source code available on Github.

https://github.com/miragedmuk/ARKViewer-Master

Edited by MirageUK
Updated github to correct repository
  • Like 1
  • Thanks 2
Link to comment
Share on other sites

20 hours ago, Manda said:

@MirageUK I keep getting this error when refreshing the SFTP.

image.thumb.png.b74786dab1604c7dbc5f173146ea9a29.png

 

When I go into the folder and remove the profiles there it will refresh, but then I still get the error and it requires me to delete those files again to get a more updated look.

Any ideas?

Possibly that I need to code a delete first.. Ill sort it  later today.

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...