Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support game rebranding #13662

Open
kneekoo opened this issue Jul 13, 2023 · 3 comments · May be fixed by #14543
Open

Support game rebranding #13662

kneekoo opened this issue Jul 13, 2023 · 3 comments · May be fixed by #14543
Labels
@ Content / PkgMgr Feature request Issues that request the addition or enhancement of a feature

Comments

@kneekoo
Copy link
Contributor

kneekoo commented Jul 13, 2023

Problem

Games should be able to rebrand without side-effects like users not getting updates, or forcing them to manually updates files world.mt to the new gameid.

For instance, sharing links to the ContentDB entry should reflect the game's name. So instead of https://content.minetest.net/packages/Wuzzy/mineclone2/, the link should look like https://content.minetest.net/packages/Wuzzy/coolnewname/. This is not for pedantic reasons, but to avoid suspiciously looking links - like a game that pretends to be named a certain thing, but with a link that says otherwise. Phishing is based on misleading URLs, so the last thing you want, other than confusing branding, is dubious URLs.

Solutions

  • Games could have an old_gameid in ContentDB, so when a project goes through this process, the previous gameid remains in the database as such.
  • The history can be viewed on the old id, with the project marked as rebranded (with link to the new one).
  • On ContentDB, rebranded games can show at least the version history of the old gameid (without links to each release)
  • Games checking for updates for gameid (the old one) would be forwarded to the new gameid, and the users will be informed that the game has been rebranded, so they know and not be surprised by any change in naming, visuals, etc.
  • Allowing maintainers to add a short message to their users in the rebranding notification dialog would be a bonus, allowing for a smoother transition.
  • If a small customization of the rebranded games gets considered, it could be standardized by supporting a before-vs-after screen showing the new-vs-old name, logo, banner.

Reasons to rebrand

  • Legal claims (hopefully never the case, but it would be nice to be able to deal with this swiftly)
  • Names generating confusion
  • Ditching uninspired names

Limitations

  • A rebrand cooldown of at least 12-24 months (so that maintainers take this seriously)
  • ???

What I hope to achieve here is a safe way to rebrand games as smoothly as possible for the players, without keeping old stuff in URLs or under the hood, other than old_gameid.

@kneekoo kneekoo added the Feature request Issues that request the addition or enhancement of a feature label Jul 13, 2023
@rubenwardy rubenwardy changed the title Support game rebranding Support game renaming Jul 13, 2023
@kneekoo
Copy link
Contributor Author

kneekoo commented Jul 13, 2023

Rebranding is not limited to name, but also visual identity and others - hence me not using "renaming".

@rubenwardy
Copy link
Member

rubenwardy commented Jul 13, 2023

ContentDB supports changing the author of a package using a package alias. An alias is the old id of the package, when the mainmenu encounters the old id it converts it to the new id. This system is designed to allow renaming in the future (although, that does open a whole can of worms when it comes to migrating worlds and config, I hadn't decided whether I wanted to support it or not).

Here's an example of what the aliases looks like. GreenDimond renamed himself to GreenXenith:

{
    "author": "GreenXenith",
    "name": "waffles",
    "aliases": [
      "GreenDimond/waffles"
    ],
    "release": 16795,
    "short_description": "Waffles. That's it.",
    "thumbnail": "https://content.minetest.net/thumbnails/1/df7cfbfaae.png",
    "title": "Waffles",
    "type": "mod"
}

Another thing I've wanted is the ability to migrate users with a message - allowing them to see a modal dialog before migrating the package to the new author (and perhaps name in the future). This would have been useful in a few cases where users would have benefited from moving to a more maintained fork, but we didn't want to force the migration. This could be used for your rebranding message

@rubenwardy rubenwardy changed the title Support game renaming Support game rebranding Jul 13, 2023
@teknomunk
Copy link

teknomunk commented Apr 6, 2024

I got pointed this direction, so I'll leave my suggestion here:

I think a way basic support for migrating from one gameid to another is to add a superseded_by option in game.conf that lists another game id to use. Then check that option in findSubgame() in src/content/subgames.cpp and try to findSubgame on the new id, with a recursion depth limit to keep malicious cycles from freezing clients.

@nauta-turbidus nauta-turbidus linked a pull request Apr 14, 2024 that will close this issue
1 task
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
@ Content / PkgMgr Feature request Issues that request the addition or enhancement of a feature
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants