
BasisEra
A modern, asynchronous, modular essentials suite for Paper 1.21+ / Java 21 — a clean-room alternative to EssentialsX built around three principles: zero main-thread I/O, truly lazy modules, and modern APIs only (Adventure/MiniMessage, Brigadier, Folia-
Compatibility
Minecraft: Java Edition
Platforms
Tags
Creators
Details
A modern, asynchronous, modular essentials suite for Paper 1.21+ / Java 21 — a clean-room alternative to EssentialsX built around three principles: zero main-thread I/O, truly lazy modules, and modern APIs only (Adventure/MiniMessage, Brigadier, Folia-ready).
Highlights
- Async everything — all persistence runs on a dedicated pool via HikariCP and returns
CompletableFuture. The server thread never touches the database or disk. - Async teleports —
getChunkAtAsync→ safety check →teleportAsync, so teleporting never forces a synchronous chunk load. - Truly lazy modules — a module disabled in
config.ymlis never class-loaded: no listeners, no commands, no cost. - Exact economy — fixed-point money (no floating point), an indexed
/baltop, and a full transaction log. - Per-player i18n — MiniMessage messages, chosen automatically from each player's client locale. Seven languages ship in the box (English, Turkish, Spanish, German, French, Russian, Chinese), with automatic key top-up on upgrade.
- Folia-ready — region/entity scheduler abstractions, no shared mutable state.
- Any storage, zero setup — SQLite by default (nothing to install), or MySQL / MariaDB for networks. All three JDBC drivers are bundled, and on MySQL/MariaDB the database is created automatically.
- Network-aware — persisted state (bans, mutes, jails, vanish, economy, homes…) follows a player across a proxy when the backends share one database, and staff chat can span the whole network — no Redis required.
- Staff tooling — vanish, freeze, staff mode, staff chat, reports, punishment history, chat filter, alt-account detection.
- Optional integrations — registers as a Vault economy provider and ships a PlaceholderAPI expansion when those plugins are present (neither is bundled).
Command reference
Every module can be switched off in config.yml under modules: — a disabled module's commands
disappear entirely. <required> arguments are mandatory, [optional] ones are not. Names, warps,
homes, kits and players all tab-complete.
Installing
- Drop the jar into your server's
plugins/folder. It is built against the 1.21.1 API and runs on any Paper 1.21.x (1.21 – 1.21.11+); older majors aren't supported (the modern command, Adventure and scheduler APIs it relies on don't exist there). - (Optional) Install Vault and/or PlaceholderAPI for the integrations.
- Start the server. Configuration and language files are generated under
plugins/BasisERA/.
Toggling a module in config.yml takes effect on a full restart, not on /basisera reload
(reload refreshes config values and languages, not which modules are loaded). When the plugin
gains new options in an update, your existing config.yml is topped up automatically.
Storage & networks
Storage defaults to SQLite — a single file, nothing to install. For a network (or just a shared database) set it to MySQL or MariaDB:
storage:
type: mariadb # sqlite | mysql | mariadb
pool-size: 8
mysql: # these keys are shared by mysql and mariadb
host: 127.0.0.1
port: 3306
database: basisera
username: basisera
password: secret
params: "?useSSL=false&characterEncoding=utf8"
All three JDBC drivers (SQLite, MySQL, MariaDB) are bundled, so nothing is downloaded at runtime.
If the account has CREATE rights, the database itself is created automatically on first
start — you only need the server and a user.
Point every backend server at the same MySQL/MariaDB and per-player state — bans, mutes,
jails, economy, homes, warps, nicknames and vanish — is shared, so it follows players as they
move between servers. Combined with network staff chat (/sca), this covers the common
proxy-network needs without Redis. (Instant cross-server actions — e.g. vanishing someone who is
on another server right now — would still need a live messaging layer and aren't included.)
License
Released under the MIT License — free to use, modify and distribute, including commercially, as long as the copyright notice is kept.
If you are having any problem with the plugin, get into the github page and go to the issues to explain it. It can be a basic problem. It can be a new feature you want to see in the plugin. If i see no problem with what's your idea i will added to the plugin.

