EML version 2.5.0 announcement: Hidden profiles and bypass maintenance
EML Lib and EML AdminTool have been in stable versions for several months now, and new features are regularly deployed. Recently, the highly anticipated Profiles were reintroduced in EML Lib 2.1.0 and EML AdminTool 2.3.0.
To maximize the power of Profiles, EML now allows you to hide certain profiles. This new feature also allows you to override maintenance mode.
Hide Profiles from your players
As a server administrator, you likely have a test Minecraft server where you might want to restrict access to certain people, such as your staff members. Now you can!
From the EML AdminTool, create a new Profile, set its visibility to “hidden,” and add a list of usernames authorized to access the Profile.
Modify your Launcher code to retrieve the list of Profiles as follows:
const profiles = await EMLLib.Profile(ADMINTOOL_URL, account).getProfiles() This way, any player who is already authenticated and whose username is in the list will have access to the hidden profile.
Note
Hiding a profile is not a security measure. It only prevents it from being displayed in the launcher for players without permission, but they can still access it if they know the slug, the direct URL, or an allowed username. Allowed usernames are only used to display the profile in the launcher to players with permission. You should always use proper server-side authentication and authorization to protect your game files and server access. You can use hidden profiles to create private test servers or to restrict access to certain game modes for specific players.
Allow certain players to bypass maintenance mode
Maintenance mode displays a blocking screen for players on the launcher. This is useful for letting them know the server is unavailable. However, sometimes it’s best to allow certain people to bypass maintenance mode to verify the successful deployment of your Minecraft server update. As with Profiles, you can now define a list of usernames authorized to bypass maintenance mode and launch the game.
From the EML AdminTool, go to the Maintenance section and edit the maintenance information to add the desired usernames.
Then modify your launcher code:
const maintenance = await EMLLib.Maintenance(ADMINTOOL_URL, account).getMaintenance() Any authenticated player whose username is on the authorized list will see that the maintenance object contains a canBypass property set to true, instructing the launcher to hide the maintenance screen.
Note
Maintenance mode is not a security measure. It only displays a maintenance screen, but players can still bypass it easily. Allowed nicknames are only used as an indication to the launcher that these players should be allowed to launch the game. You should always use proper server-side authentication and authorization to protect your game files and server access. You can add allowed pseudos to let certain players bypass maintenance mode, for example to let your moderators or testers access the server while it is down for everyone else.
Ready to update?
Upgrading to v2.5.0 is simple:
Update the EML AdminTool via the settings page.
Update your launcher project by running
npm i eml-lib@latest.
Read the docs for more information on how to use the new features.