Skip to content

Feature Request: Add an activation key feature. #53

Open

Description

@zhaoxue5

Purpose:

Many games have a redemption code feature: enter a string of characters to receive some rewards; the code becomes invalid after one use.

Use it as an activation mechanism, for example, requiring a key to be entered before a player can access a certain game mode; the key becomes invalid after one use.

Additional notes:

It would be desirable to let users freely create multiple redemption code tables and customize the purpose of the redemption codes in different tables (each table is used for a different business use case).

It would be desirable to add a public key feature. Such a key can be an arbitrary-length UTF-8 string and may contain non-English characters. Any player can claim it once.

Activity

  1. changed the title [-]Feature request: Add an activation key feature[/-] [+]Feature Request: Add an activation key feature.[/+] on Oct 19, 2026
  2. zhaoxue5 commented on Oct 19, 2026

    @zhaoxue5
    Author

    Alright, this does look quite difficult to implement. If it feels like too much trouble, please feel free to close this issue.

  3. Ughuuu commented on Oct 19, 2026

    @Ughuuu
    Contributor

    This can be implemented as a separate feature using elixir and reusing gamend as a lib. Similar to how gamend_starter does. But it's quite hard to do and probably not in the scope of this.

  4. zhaoxue5 commented on Oct 26, 2026

    @zhaoxue5
    Author

    Could you please tell me what the difficulties are in implementing this? I’d like to try implementing it myself.

  5. Ughuuu commented on Oct 26, 2026

    @Ughuuu
    Contributor

    It's not incredibly difficult. It just can be implemented using core features. Eg. you can hold data about users in KV (keyvalue) and track per user if / when they activated if the key is correct or not.
    I would just not see this as a core feature I guess. Though idk. Or rather I wouldn't have a use case for it, but I don't know if other people might have use case for it or not.
    Like, what are you trying to achieve with the activation keys? Why wouldn't people buy certain features? Or if they would or wouldn't, that logic would just like on the hooks, and that data in KV also. So this being in core and having codes redeemable seems like a good marketing technique if anything, but it won't integrate as nicely (as people have to enter a code manually). That's why I'm quite on the edge if it would fit in core or not.

  6. zhaoxue5 commented on Oct 26, 2026

    @zhaoxue5
    Author

    @Ughuuu Here are the reasons:

    In China, redemption codes are very mainstream and extremely common in almost all games.

    Their uses: For example, if I launch an event on a video platform, players can receive some rewards if they complete the event, and in that case redemption codes become the simplest way to claim them. For example, many games have a “test server” for testing new versions and need to select some people to participate. In the case of an “invitation-only” system, a redemption code can be used to activate access.

    Manually entering redemption codes does not affect the experience. In my case, everyone just copies and pastes them, and no one specifically complains that entering redemption codes is very troublesome.

  7. reopened this on Oct 27, 2026
  8. Ughuuu commented on Oct 27, 2026

    @Ughuuu
    Contributor

    Ok, you convinced me. But it will require some planning. It will need:

    • activation page.
    • admin page for generation of codes, including multiple keys generation, key invalidation, adding metadata to keys, etc.
      Basically what you wrote in the begining. Will investigate a bit and check. Also, it would need support to work in both API and browser version, and need possibly also support for websocket side (Realtime events)
  9. Ughuuu commented on Nov 2, 2026

    @Ughuuu
    Contributor

    Hey, this will take a bit more until I get started on it, as I am in the process of implementing now another big feature on gamend. This will most likely come after.

  10. zhaoxue5 commented on Nov 2, 2026

    @zhaoxue5
    Author

    Oh, oh, may I ask what that new feature is?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions