Simple. When the player connects, do a TNManager.LoadFile("Players/" + playersNickNameOrID, callback);
If the callback receives no data, then it's a new player. Otherwise, load the player data. In Windward once the player's data is loaded this way I then parse it (it's a saved DataNode), and set TNManager.playerData = parsedDataNode; -- which then automatically sends this to every other player.
Whenever you change the player's data (TNManager.playerDataNode), be sure to sync it via TNManager.SyncPlayerData(). Save it periodically and/or when about to disconnect by calling TNManager.SaveFile.