Installation
Downloading the plugin, how ExyliaLib installs itself, the database, the files the first start writes, and how updates arrive.
Downloading
ExyliaGraves is free. Every release is published on Modrinth as ExyliaGraves-<version>.jar.
Before you start
| Plugin | What for |
|---|---|
ExyliaLib | Required. Configuration, menus, database, Redis, holograms, rewards, notices, logs and teleports. |
PlaceholderAPI | Optional. Exposes the grave placeholders to other plugins. |
ExyliaEconomy or Vault | Optional. Only needed when the teleport from /graves has a cost; it is charged in ExyliaLib's default currency. |
plugin.yml names ExyliaLib under softdepend on purpose, so the plugin can still start without it.
When ExyliaLib is missing, ExyliaGraves downloads the latest release from the library's GitHub releases
into plugins/ExyliaLib.jar (falling back to the release it was built against), says so in the console,
and stays disabled until you restart. When an ExyliaLib jar is already in plugins/ but failed to load,
nothing is downloaded: the console asks you to fix the library's own errors first.
ExyliaGraves does not need packetevents itself. ExyliaLib does: install it next to the library as the library's installation page explains.
Installing
Drop in the jar
Copy ExyliaGraves.jar into plugins/.
Start the server
Without ExyliaLib, the first start downloads it and asks for a restart. Restart once.
Check the console
A moment after the server finishes starting, the graves standing on this server are read and the
console says Loaded N grave(s). Until then no grave is drawn.
Die once
See First steps.
Generated files
All of them live in plugins/ExyliaGraves/.
| File | Contents |
|---|---|
config.yml | Language, how long graves last, protection, limits, what goes in, collecting, teleport, hologram and respawn. See Configuration. |
lang/<code>/messages.yml | Every line the plugin sends, the hologram lines and the click hints of the menus. |
lang/<code>/menus/user/graves.yml | The players' /graves screen. Yours to restyle. |
lang/<code>/menus/admin/graves.yml | The staff screen of /gravesadmin list. Rewritten from the jar. |
database.yml | Database engine and Redis, written by ExyliaLib. H2 by default. |
<code> is the language the plugin runs in: en, es, pt, fr, ru or tr, or ExyliaLib's own
language while config.yml says default.
The staff screen is replaced from the jar every time the plugin starts and every time its menus are
reloaded. Copy it under another name if you want to keep a restyle. The players' screen under
menus/user/ keeps your edits; a release that has to change its layout raises its menu-version, and
then the file is replaced with your previous one kept next to it.
Database
By default the plugin uses H2: a file inside the plugin folder, with no server and no maintenance. It is fine for a single server.
Graves live in one table, sc_graves. To see a player's graves from every server, every server points
at the same database:
database:
type: mysql
mysql:
host: 127.0.0.1
port: 3306
database: minecraft
username: root
password: ""
redis:
enabled: true
host: 127.0.0.1
server-id: survival-1Supported engines: h2, mysql, mariadb, postgresql and mongodb. The file is ExyliaLib's; its
full reference is in the library's database page. What a network needs on top
of that — a distinct server-id per server above all — is on Network.
Nothing waits on the database while the plugin enables: the graves are read on the first tick, and every write is asynchronous.
Updating
ExyliaLib keeps ExyliaGraves up to date. The plugin names its GitHub repository in plugin.yml
(exylia-updates: Exylia-Plugins/ExyliaGraves) and the oldest library it runs on (exylia-lib);
ExyliaLib downloads a newer release in the background and applies it on the next restart.
- A new major version is announced and left to you.
- A release that needs a newer ExyliaLib waits until the library has updated.
plugin-updatesinplugins/ExyliaLib/config.ymlturns it off or tunes it;/exylialib updatesshows what is pending.
To update by hand, replace the jar and restart. config.yml, messages.yml and the players' menu keep
your edits; menus/admin/ is refreshed from the jar; the graves live in the database and are untouched.
Something missing on this page? Tell us on Discord