Skip to main content

Additional administration plugin

Introduction​

As you may know, we have a community server allowing players to test lasers enigma. This server is administrated by a team of players, and we have developed a plugin to help them in their task. This plugin contains several features.

Please note that this plugin is also free and open source so you can use it on your server.

Requirements​

Besides Lasers-Enigma itself, the plugin refuses to start without LuckPerms and WorldGuard. They are not optional integrations: build rights are granted through a LuckPerms group and confined by a WorldGuard region, so starting without either would leave those rights ungranted or unconfined.

Public commands​

Puzzle creator commands​

Administration commands​

Level design​

Permissions management​

Use the rights commands rather than editing LuckPerms by hand:

  • /. rights giveCreator <player> to let somebody build levels;
  • /. rights promoteAdmin <player> to make somebody an administrator — this grants the LuckPerms group and operator status in one action.

The plugin keeps no list of its own: LuckPerms holds who may build, so /lp still works and gives the same result. The commands exist so that a single intent is carried out in full, rather than remembered as two separate steps.

The rights model​

Three LuckPerms groups, and only three.

  • default — every player. Solves puzzles; may earn the builder role by completing solo chapters 1-4 or duo chapters 1-2 (the promotion is automatic and never revoked by the metric — only a sanction removes it).
  • creator — the open builder tier. Its editing permission, /gamemode and its WorldEdit subset are scoped to the LuckPerms context lepsu:in-own-plot=true, which the plugin publishes while the player stands in a level they author under the Community area — a level moved into a campaign stops matching, so the rights end there without any permission change.
  • admin — the administration team. Not subject to the plot rules.

One WorldGuard region per level, derived — never hand-edited. The plugin creates, resizes and deletes a lepsu-room-<id> region alongside each level; its owners are the level's authors while the level is in the Community area, and nobody once it joins a campaign. The region is what confines WorldEdit — FastAsyncWorldEdit builds its edit mask from the regions the player owns at their current position, so a builder must stand inside their own level for WorldEdit to work at all, and their edits stop at its walls. The region deliberately does not protect interaction: puzzles are played with buttons, levers and pressure plates, so only block place/break is denied to non-authors. There is no manual resync command; regions follow every change on their own.

What an untrusted player can reach. Nothing that writes the world: ordinary players are in adventure mode, and the plot rules only ever add rights inside a level the player authors. The commands open to everyone are the /puzzle set (teleport menu, hints, reviews, solution requests, downloads) — all rate-limited where they cost the server anything.