Bastian / bStats

bStats collects data for plugin authors. It's free and easy to use!
https://bstats.org/
MIT License
147 stars 33 forks source link

Plugin name goes by ID instead of name #70

Open PeachesMLG opened 6 years ago

PeachesMLG commented 6 years ago

I have a plugin called CustomEnchants and I wanted to link it to bStats, but there is already a plugin called this, so could you make it go by id's instead of Plugin names like spigot API?

TheE commented 6 years ago

Same problem here.

In my case, I tried to add support for MyWarp (which has been around under this name since 2011). Sadly on bStats this name is already taken another plugin (a lightweight warp plugin created in 2017).

Of course, everybody can name his plugin whatever he wants. However, I am not going to rename MyWarp just to use bStats. There should be some way to handle cases like this.

MiniDigger commented 6 years ago

What you guys should do is modify the name you send to bstats. So modify the metrics class and send a hardcoded string instead of your plugin name or add a prefix to your plugin name. That what you keep your plugin name and still can use bstats (but under a different name) But this is only a workaround, the solution isn't as easy as using the plugin id as bstats supports multiple platforms with different id systems and you would disallow plugins that don't come from spigots resource page or smth. The proper fix would be a randomly generated key/uuid you generate on the bstats website and then send plugin metrics via that key. Bstats then could have a mapping from key to non unique display name to still provide nice urls if possible, maybe something like https://bstats.org/plugin/bukkit/MyWarp/2 or /MyWarp.2 or even /MyWarp.uuid like spigot does. This could also allow for easy backwards compat since you could just redirect urls without a key to the first plugin of that name, same for stats sending

PikaMug commented 4 years ago

I'm in the same boat as TheE. It was disappointing to find that I couldn't register Quests (~105k downloads) because the name had already been taken by another plugin of the same name (~15k downloads). While I understand that MiniDigger's workaround would suffice, I had hoped to use Maven which does not easily afford the same luxury. It also feels disingenuous to consider listing my project under a different name, just because someone whom created an identically-named project years after mine had happened to discover bStats first.

Bastian has labeled this ticket as "High Priority" under the #todo channel in Discord. Since I'm clearly only educated enough about this project to complain, what's a good way to provide incentive? It seems the website would be a great place to host a few ads, but if that's not possible, what about donations? It's unsurprising that the author has more pressing issues to deal with, but considering bStats is the de-facto standard for our statistics, I'm personally willing to contribute in hopes of seeing this ticket resolved sooner than later.

Thanks and Happy New Year, all.

Bastian commented 4 years ago

Hey, I'm currently working on this change. The plugin urls have already been changed to use plugin ids instead of names.

The /submitData endpoint (to which all plugins report their data) should in theory also already be able to accept plugin ids instead of names, however I did not test this yet.

There's still a lot of work to do though.

I'll keep you updated.

TheE commented 3 years ago

I have seen that the Metrics class has been updated to use plugin IDs. Any update on when bStats will officially support plugin's with a name that already exists on the service? Or is this already working?

PikaMug commented 3 years ago

@TheE See https://github.com/Bastian/bStats/pull/122