Jump to content

Admin / Trusted Player Tool - Game Save Visualiser


MirageUK

Recommended Posts

@Anselmo - so.. there's already an app out there that does it?  Not sure how that fits with ASV.  I'm trying not to step on anybody elses toes if work out there already exists.

 

I might still look into it - there are copy commands I have in ASV that might be runnable over RCON I guess.

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

Version 3.7 now available.

http://www.miragesoftware.co.uk/Ark/Apps/ArkViewer2021-3-7.zip

Features

  • FTP server "browser" to check connection and select correct location of .ark save.
  • Command Line export options completely re-worked to use config json files as the file parameter.
  • Changed smoothing mode on image marker drawing for better quality circle markers.

Bug Fixes

  • Various defensive checks around lists returned from queries to ensure they contain items before attempting to access them.


!!IMPORTANT!!
If you currently use the command line export options new config files will need to be created.

You can create multiple configs and just update your command lines to point at each insead of the previous "type outputFile inputFile " option.

Exporting a user content pack from a save game: 

  • ArkViewer.exe pack "C:\arkExports\configs\packFileTribe1.json"
  • ArkViewer.exe pack "C:\arkExports\configs\packFileTribe2.json"
  • ArkViewer.exe pack "C:\arkExports\configs\packFileTribe3.json"
  • ArkViewer.exe pack "C:\arkExports\configs\packFileTribe4.json"

Pack config template:

{
    "mapFilename": "C:\\Temp\\Maps\\TheIsland.ark",
    "exportFilename": "C:\\Temp\\TestPack.asv",
    "tribeId": 0,
    "playerId": 0,
    "filterLat": 50.0,
    "filterLon": 50.0,
    "filterRad": 250.0,
    "packStructureLocations": true,
    "packStructureContent": true,
    "packDroppedItems": true,
    "packTribesPlayers": true,
    "packTamed": true,
    "packWild": true,
    "packPlayerStructures": true
}

Exporting JSON and/or PNG map image data from a save game: 

  • ArkViewer.exe json "C:\arkExports\configs\jsonFileTribe1.json"
  • ArkViewer.exe json "C:\arkExports\configs\jsonFileTribe2.json"
  • ArkViewer.exe json "C:\arkExports\configs\jsonFileTribe3.json"
  • ArkViewer.exe json "C:\arkExports\configs\jsonFileTribe4.json"

JSON export config template:

{
	"mapFilename": "C:\\temp\\maps\\crystalisles.ark",
	"tribeId": 0,
	"playeId": 0,
	"filterLat": 50,
	"filterLon": 50,
	"filterRad": 250,
	"exportTribes": {
		"jsonFilename": "C:\\temp\\tribes.json",
		"imageFilename": "C:\\temp\\tribes.png",
		"addStructures": true,
		"addStructureContent": true,
		"addPlayers": true,
		"addTames": true
	},
	"exportStructures":
	{
		"jsonFilename": "C:\\temp\\structures.json",
		"imageFilename": "C:\\temp\\structures.png",
		"className": ""
	},
	"exportPlayers":
	{
		"jsonFilename": "C:\\temp\\players.json",
		"imageFilename": "C:\\temp\\players.png"
	},	
	"exportWild":
	{
		"jsonFilename": "C:\\temp\\wilds.json",
		"imageFilename": "C:\\temp\\wilds.png",	
		"className": "",
		"minLevel": 0,
		"maxLevel": 999		
	},
	"exportTamed":
	{
		"jsonFilename": "C:\\temp\\tames.json",
		"imageFilename": "C:\\temp\\tames.png",	
		"className": "",
		"includeStored": true		
	}
}

If you don't provide a config file and run the command line with just the export option (pack|json) then ALL various files will be exported into the same folder as ASV using the last saved configured file in visual mode.

If you don't want a particular file / image just blank out the value for the jsonFilename/imageFilename parameters.

 

  • Thanks 1
Link to comment
Share on other sites

Sorry m8, this `ASV.log` makes troubles.

Mode: Mode_SinglePlayer

Save:


Message:
Der Prozess kann nicht auf die Datei "C:\ARK\arkviewer4\ASV.log" zugreifen, da sie von einem anderen Prozess verwendet wird.

Trace:
   bei System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
   bei System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy, Boolean useLongPath, Boolean checkHost)
   bei System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, FileOptions options, String msgPath, Boolean bFromProxy, Boolean useLongPath, Boolean checkHost)
   bei System.IO.StreamWriter.CreateFile(String path, Boolean append, Boolean checkHost)
   bei System.IO.StreamWriter..ctor(String path, Boolean append, Encoding encoding, Int32 bufferSize, Boolean checkHost)
   bei System.IO.StreamWriter..ctor(String path)
   bei ARKViewer.Program.Main() in F:\Projects\VS\ARKViewer-Master\ARKViewer\Program.cs:Zeile 90.

If somebody else already posted this error, just ignore and sorry!

 

The message means the file ASV.log is already in use. I export data every 10mins, one export needs 1-3mins, depens on server. So the application should be closed. Can i temporary disable this log file?

 

For now i try to delete the file before starting export.

Edited by pleinx
Link to comment
Share on other sites

Yes, i have for every server one asv instance. I double-checked already whether i have a typo in my script. but every script using single instance, e.g.:

 

Ragnarok => .ASV_RAGNAROK\ARKSaveViewer.exe all "C:\ARK\output\Ragnarok\" "C:\ARK\\Ragnarok\Ragnarok.ark"
TheIsland => .ASV_THEISLAND\ARKSaveViewer.exe all "C:\ARK\output\TheIsland\" "C:\ARK\\TheIsland\TheIsland.ark"
etc.

Link to comment
Share on other sites

Known Issues

  • Its showing thieving Pegos as tamed again :(
  • FTP timestamp may need looking at - seems not to be translating to my local time and shows 1 hour behind.
  • Command line log file needs to be unique per instance to prevent shared locking issues.
  • Not showing players, their tames, or structures if they haven't joined/created a tribe yet.

... edit

Interstingly I'm in game now and it's showing thieving pegos on the taming tracker too. 

Edited by MirageUK
Link to comment
Share on other sites

11 minutes ago, MirageUK said:
  • Command line log file needs to be unique per instance to prevent shared locking issues.

Just saying: each instance has an ASV.log file in his directory. Doesnt looks like they share something, but idk how is the workflow (filestream) behind the scenes.

image.thumb.png.49a194ef5fd81327ad8f55a0c8b2d426.png

Currently using 8 instances, every instance has single script which is delayed timed (always 2 jobs running parallel)

With the old versions i had no troubles.

Edited by pleinx
  • Confused 1
Link to comment
Share on other sites

2 hours ago, pleinx said:

Yes, i have for every server one asv instance. I double-checked already whether i have a typo in my script. but every script using single instance, e.g.:

 

Ragnarok => .ASV_RAGNAROK\ARKSaveViewer.exe all "C:\ARK\output\Ragnarok\" "C:\ARK\\Ragnarok\Ragnarok.ark"
TheIsland => .ASV_THEISLAND\ARKSaveViewer.exe all "C:\ARK\output\TheIsland\" "C:\ARK\\TheIsland\TheIsland.ark"
etc.

Is that the command lines you're trying to use now or have you updated them to use the new syntax with seperate export.json setting files?

Anyway.. Im heading to bed. Will check and sort the issues identified so far in the morning.

Link to comment
Share on other sites

5 hours ago, MirageUK said:

!!IMPORTANT!!
If you currently use the command line export options new config files will need to be created.

You can create multiple configs and just update your command lines to point at each insead of the previous "type outputFile inputFile " option.

Exporting a user content pack from a save game: 

  • ArkViewer.exe pack "C:\arkExports\configs\packFileTribe1.json"
  • ArkViewer.exe pack "C:\arkExports\configs\packFileTribe2.json"
  • ArkViewer.exe pack "C:\arkExports\configs\packFileTribe3.json"
  • ArkViewer.exe pack "C:\arkExports\configs\packFileTribe4.json"

Pack config template:


{
    "mapFilename": "C:\\Temp\\Maps\\TheIsland.ark",
    "exportFilename": "C:\\Temp\\TestPack.asv",
    "tribeId": 0,
    "playerId": 0,
    "filterLat": 50.0,
    "filterLon": 50.0,
    "filterRad": 250.0,
    "packStructureLocations": true,
    "packStructureContent": true,
    "packDroppedItems": true,
    "packTribesPlayers": true,
    "packTamed": true,
    "packWild": true,
    "packPlayerStructures": true
}

Exporting JSON and/or PNG map image data from a save game: 

  • ArkViewer.exe json "C:\arkExports\configs\jsonFileTribe1.json"
  • ArkViewer.exe json "C:\arkExports\configs\jsonFileTribe2.json"
  • ArkViewer.exe json "C:\arkExports\configs\jsonFileTribe3.json"
  • ArkViewer.exe json "C:\arkExports\configs\jsonFileTribe4.json"

JSON export config template:


{
	"mapFilename": "C:\\temp\\maps\\crystalisles.ark",
	"tribeId": 0,
	"playeId": 0,
	"filterLat": 50,
	"filterLon": 50,
	"filterRad": 250,
	"exportTribes": {
		"jsonFilename": "C:\\temp\\tribes.json",
		"imageFilename": "C:\\temp\\tribes.png",
		"addStructures": true,
		"addStructureContent": true,
		"addPlayers": true,
		"addTames": true
	},
	"exportStructures":
	{
		"jsonFilename": "C:\\temp\\structures.json",
		"imageFilename": "C:\\temp\\structures.png",
		"className": ""
	},
	"exportPlayers":
	{
		"jsonFilename": "C:\\temp\\players.json",
		"imageFilename": "C:\\temp\\players.png"
	},	
	"exportWild":
	{
		"jsonFilename": "C:\\temp\\wilds.json",
		"imageFilename": "C:\\temp\\wilds.png",	
		"className": "",
		"minLevel": 0,
		"maxLevel": 999		
	},
	"exportTamed":
	{
		"jsonFilename": "C:\\temp\\tames.json",
		"imageFilename": "C:\\temp\\tames.png",	
		"className": "",
		"includeStored": true		
	}
}

If you don't provide a config file and run the command line with just the export option (pack|json) then ALL various files will be exported into the same folder as ASV using the last saved configured file in visual mode.

If you don't want a particular file / image just blank out the value for the jsonFilename/imageFilename parameters.

 

 

Link to comment
Share on other sites

Tried your latest version without success.

 

1) with json config

Quote

.\ARKSaveViewer.exe json "C:\temp\__latest__\exportConfigTemplate.json"

 

{
  "mapFilename": "C:\\temp\\ARK\\Viking_P\\Viking_P.ark",
  "tribeId": 0,
  "playeId": 0,
  "filterLat": 50,
  "filterLon": 50,
  "filterRad": 250,
  "exportTribes": {
    "jsonFilename": "C:\\temp\\tribes.json",
    "imageFilename": "C:\\temp\\tribes.png",
    "addStructures": true,
    "addStructureContent": true,
    "addPlayers": true,
    "addTames": true
  },
  "exportStructures":
  {
    "jsonFilename": "C:\\temp\\structures.json",
    "imageFilename": "C:\\temp\\structures.png",
    "className": ""
  },
  "exportPlayers":
  {
    "jsonFilename": "C:\\temp\\players.json",
    "imageFilename": "C:\\temp\\players.png"
  },
  "exportWild":
  {
    "jsonFilename": "C:\\temp\\wilds.json",
    "imageFilename": "C:\\temp\\wilds.png",
    "className": "",
    "minLevel": 0,
    "maxLevel": 999
  },
  "exportTamed":
  {
    "jsonFilename": "C:\\temp\\tames.json",
    "imageFilename": "C:\\temp\\tames.png",
    "className": "",
    "includeStored": true
  }
}

Getting the following error

Mode: Mode_SinglePlayer

Save:


Message:
Der Index war außerhalb des Arraybereichs.

Trace:
   bei ARKViewer.Program.Main() in F:\Projects\VS\ARKViewer-Master\ARKViewer\Program.cs:Zeile 108.

"Der Index war außerhalb des Arraybereichs." means the index was beyond the array range.

 

Then i tried just export, no json config file given:

.\ARKSaveViewer.exe json

Working, but ofc i had to load a savegame file before (not possible in my case, i just used your tool as cmd)

Edited by pleinx
  • Facepalm 1
Link to comment
Share on other sites

Version 3.8 now available.

http://www.miragesoftware.co.uk/ARK/Apps/ArkViewer2021-3-8.zip

Bug Fixes

  • Command line export checking wrong number of arguments. Attempting to read in argument 3 when we're only passing in 2 now.
  • Pego thiefs no longer appear as tamed.
  • Solo players, tames and structures now load in again.

known Issues

  • UI - Single player doesnt' remember you have seleted single player when going back into the settings page.
  • ALL - Investigating another possible missing cryopod tame issue.
  • UI - Sometimes the "Wild" summary dropdown fails to list the available wild types.  Re-loading ASV resolves this and re-populates as expected.
Edited by MirageUK
Known issues
Link to comment
Share on other sites

Out of interest, if you are using my app what percentage of use would you say you had for your own purposes?

For me personally I'd say it's 95% UI, 5% at most command line export - which is why the command line doesn't get much love when I'm going through and reviewing things.

Curious who just uses it to export data and who actually uses the visual interface.

Link to comment
Share on other sites

The reason I use ASV (command line) is because it provides information about wild and tame dinos on my server in a way that is useful for people using the server.

I supply the json files on a web page, and I don't have to provide the save files.

I vaguely remember at one time, the Ark Smart Breeding program used to be able to read json files - but I haven't used that for some time.

I know that some people on my server use the json files (from ASV) to help choose breeding lines.

Edited by Larkfields
Link to comment
Share on other sites

9 minutes ago, MirageUK said:

@Larkfields - you know you can now give them a copy of ASV which they can configure to use an ASV content pack.. then export content pack instead.  That gives users all the visual functionality, without access to raw game save file data.

I confess that I hadn't explored that option yet 😞


 

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