Okay, I've got the utility pretty much finished up. Its output looks like this:
http://cit.cohtitan.com/sentinel/Example.xmlI won't be releasing it to the public just yet, since we don't know how NCsoft will want to approach the situation going forward. But in a worst case scenario, in the event the servers are going down for good, everyone will have plenty of opportunity to produce one of those for each of their characters.
But as you can see, various information pertaining to characters was pulled right out of the game, so there's no risk of losing all your work. In some form or another, regardless of what happens, we can rescue our characters from the end of days. If it comes to that, people will produce these XML files and keep them handy, to be used in a future CoH system for importing characters after the end of the world occurs.
__________
But what's to keep someone from, say, typing in a bunch of purples in all of their Enhancement slots, you ask?
Take note of the very last line of the file:
<!-- VKEY 7DADDF5E -->
This "VKEY" here is the validation key, a cryptographic checksum that will be used to detect whether the file has been edited at all. Every file will have a different validation key, and this can be checked to guarantee whether the rest of the file is the same data that was produced alongside the key in question.
Consider the following line:
<salvage quantity="2">S_Fortune</salvage>
After producing this XML file, I deleted one of my Fortunes and ran it again, meaning the only difference in the entire file is that quantity="2" there became quantity="1". In doing so, the validation key became 0212E2BB. That's nothing like the previous one (7DADDF5E), despite only one byte of the entire file changing its value by only one unit. That's the beauty of cryptography. This particular scenario is known the
avalanche effect.
The algorithm being used to produce these validation keys is a custom one not in use by anyone else in the universe, in this time period or at any point in the past or future. It is unique to this one application. If someone makes any changes to their files, it won't work because the validation key won't match, and because they won't know how to make a new validation key.
Each file has exactly one possible matching validation key, and there's a total of 4,294,967,296 different possible validation keys. So that's one in almost 4.3 billion that can work for each file. And trust me, if someone attempts to upload 4.3 billion different XML files in an attempt to cheat the system, they're not going to get very far. (-: