Skip to content

BetaKey - advanced beta access system v4.0-RELEASE Update

Latest

Choose a tag to compare

@Ente3 Ente3 released this 24 Oct 13:28
aad1f32

BetaKey 4.0-RELEASE

What's New

Built-in Website

BetaKey now comes with its own redeem website. It runs directly inside the plugin, so you don't need a webserver, PHP or an extra database anymore.

Web Admin Panel

Manage your keys on <website>/admin:

  • Statistics (total, used, unused keys)
  • See who uses which key
  • Search keys and players
  • Create keys (up to 100 random keys at once, or custom keys)
  • Delete keys

Admins log in with a password, a confirmation ingame or both (AdminPanel.Authentication). Set your password with /betakey website password <password> and confirm logins with /betakey verify <code>. Passwords are stored salted and hashed.

Website Themes and Languages

Change the design of the website with your own themes (templates and CSS). English and German are included, and the language of the visitor's browser is chosen automatically.

SQLite Support

BetaKey now works without a database server. SQLite is the new default and stores the keys in plugins/BetaKey/database/BetaKey.db.

MySQL, MariaDB and PostgreSQL are still supported, for example if several servers need the same keys.

Messages in Every Player's Language

  • All messages moved to the messages folder (en-us.yml, de-de.yml).
  • With Language: auto every player gets the language of their Minecraft client, and the Discord bot answers in the language of the Discord user.
  • Add your own language by copying a file, e.g. to fr-fr.yml. Missing messages are taken from English.

Switch Features On and Off with Commands

Command Effect
/betakey enable / /betakey disable Switches the beta access (players without a key can join while it is disabled)
/betakey website enable / disable Starts and stops the website
/betakey discord enable / disable Starts and stops the Discord bot

The changes are saved in the config.yml and work right away, without a restart.

Clickable Help

/betakey and /betakey website now show all commands with a description. Click a command in the chat to use it.

Automatic Config Update

Your old config.yml is updated to the new format automatically. All settings and your own messages are kept.

Better Support Information

/betakey debug now also shows the website status and its last errors. It contains no passwords, so you can safely send it to the support.

Commented config.yml

The config.yml now explains every setting, including an easy database setup.

Fixes

  • Security: Database queries on BungeeCord and Velocity now use prepared statements.
  • Security: A Discord link can now only be confirmed for the Discord user who started it.
  • A second Discord link request no longer fails after the first one.
  • /unlink on Discord without a linked account no longer fails.
  • /link from the console no longer causes an error.
  • "Already linked" is now detected correctly when linking a Discord account.
  • /betakey reload now really reloads the config.yml on Spigot.
  • The "config outdated" warning no longer shows up on every start on Spigot.
  • Spigot no longer prints /betasystem after every command.
  • Random keys are now always 6 digits long.
  • MariaDB, SQLite and PostgreSQL connections now load their database driver correctly.
  • The Discord bot is now stopped when the plugin is disabled, so no second bot runs after a reload.
  • An invalid Discord bot token no longer prevents the plugin from starting.
  • The update check no longer runs on the main thread on Spigot.
  • The copy button in the key list now copies the key on Minecraft 1.15 and newer.
  • Discord links are now made with the exact player name.

Changes

  • New default database: SQLite (existing MySQL configurations keep working).
  • Messages moved from the config.yml to the messages folder.
  • Config version updated to 3.
  • The config.yml is no longer rewritten by the plugin on Spigot, so your comments are kept.
  • Discord embed colors can now also be written as HEX, e.g. 0x00FF00.
  • Spigot, BungeeCord and Velocity now share the same code, so all platforms get the same features and fixes.
  • Tested with Paper up to 26.3.
  • The PHP website is now called Legacy Website. It still works with MySQL/MariaDB, but gets no new features. Use it only if your host gives you just one port: https://inconnu-plugins.de/wiki/betakey/legacy-website

Requirements

Platform Version Java
Spigot / Paper 1.8.8 or newer 8 or newer
BungeeCord current 8 or newer
Velocity 3.x 21 or newer

Minecraft 1.7 is not supported (as before).

Upgrade Instructions (Important)

  1. Download and replace the old plugin .jar with the new version. Use the jar for your platform:
    • BetaKeySpigot-4.0-RELEASE.jar
    • BetaKeyBungee-4.0-RELEASE.jar
    • BetaKeyVelocity-4.0-RELEASE.jar
  2. Start the server. Your config is updated automatically:
    1. The old config is saved as config.yml.v<old version>.backup.
    2. The new config.yml keeps all your settings.
    3. Your messages are moved to messages/legacy-mig.yml and Language is set to legacy-mig, so your server keeps its own texts.
  3. If you want to use the new translated messages, set Language: auto in the config.yml and run /betakey reload.
  4. If you used SQLite before, your database is copied to database/BetaKey.db automatically. If you use MySQL, nothing changes.
  5. Optional: enable the new website with /betakey website enable and set your admin panel password with /betakey website password <password>.

Upgrade now and enjoy the new website, the admin panel and BetaKey in your players' language! 🎉