thommcgrath / Beacon

An editor for the beacons in Ark: Survival Evolved
https://usebeacon.app
GNU General Public License v3.0
50 stars 14 forks source link

Improvement suggestion for the CustomCosmetics #314

Open WulfmanGer opened 1 month ago

WulfmanGer commented 1 month ago

With the PowerRanger skin, there was also a change to the CustomCosmetics. If you have your own whitelist, you have to insert it with CosmeticWhitelistOverride=[URL]. Unfortunately, Beacon does not yet support this (directly; yes i can use "custom config"). Furthermore, it is now necessary under [ServerSettings] @GUS DoCustomCosmeticValidation=True to write. Then the new whitelist file is required (which has changed! Old one doesn't work)

Unfortunately WC has chosen a way that is a bit against the modders. Admins who want their own whitelist must now always include the current CRC of the skin in the list. Perhaps Beacon can provide support here and create this whitelist (and upload it to a web server if necessary)? https://survivetheark.com/index.php?/forums/topic/736592-enable-custom-cosmetics-validation-on-unofficial/ Important: this line with the 4 blocks must be comma-separated. Everything in one line.

By the way, you currently have to get the CRC in a complicated way: via Steam CLIENT -> Parameter -log -PrintCosmeticCRC ... in the log screen you can then see the CRCs..

thommcgrath commented 1 month ago

At the moment, the best I could do is allow setting DoCustomCosmeticValidation and CosmeticWhitelistOverride from within Beacon, but there's no way it could compute the values or host the url at this time. Not until we know exactly what PrintCosmeticCRC is doing so its behavior could be replicated. I'm assuming it's a CRC32 checksum, but I haven't yet figured out which file it's computing against. I've tried a handful of possibilities, but none seem to match.

WulfmanGer commented 1 month ago

" I've tried a handful of possibilities, but none seem to match." Then I'm not the only one trying to figure it out ;).

I didn't realise until just now that CRC32 can also be represented as DEC instead of HEX. I found a calculator for it - I already took all values from the library.json - no match :(. The funny thing is: the JSON already contains hashes: sha1, md5 (both hex) and a filefingerprint (dec). Why this fourth hash?!

The funny thing is: since I don't have the PowerRanger skin (never!), I can't respond to player requests to activate the skin..... :(

I can't imagine that they did something complicated here - why? It's all about everyone having the same version - server support for version 1.0 - on the client is 0.9 -> update (if allowed)