The core mechanics are based on Player & Tribe Viewer made by [xU] .$pIrit we wanted to make the mechanics more easily implementable into other components.
ArkData is very easy to use:
var container = ArkData.ArkDataContainer.Create("Saved data directory");
txtName.text = container.Players[0].CharacterName;
txtLevel.text = container.Players[0].Level;
If you want to use the extended information such as the steam profile data you'll have to load the steam information for the players. To use the Steam functionalities you need to have an access key to use with the Steam API. You can create one here. Steam data can be loaded like this:
container.LoadSteam("API Key");
txtSteamName.text = container.Players[0].SteamName;
txtProfileURL.text = container.Players[0].ProfileUrl;
Last but not least we have the functionality to check who of the players is online. To use this function you need to have loaded the users Steam data. This is necessary to bind the online users to their server profiles.
container.LoadOnlinePlayers("127.0.0.1", 27015);
txtOnline.text = container.Players[0].Online;
All the mechanics work precisely the same but have been added into an async pattern.
var container = await ArkData.ArkDataContainer.CreateAsync("Saved data directory");
txtName.text = container.Players[0].CharacterName;
txtLevel.text = container.Players[0].Level;
await container.LoadSteamAsync("API Key");
txtSteamName.text = container.Players[0].SteamName;
txtProfileURL.text = container.Players[0].ProfileUrl;
await container.LoadOnlinePlayersAsync("127.0.0.1", 27015);
txtOnline.text = container.Players[0].Online;
The sources of all the dependencies are available and no unsupported features are used in the development of ArkData it can be compiled with Mono. You might have to change a line or two to compensate for environmental differences. The core mechanics should work under Linux and Mac OS X, although this is untested.