Skip to main content

Installation

This guide covers the installation and initial configuration of zEssentials.

Requirements​

Before installing, ensure your server meets these requirements:

RequirementVersionStatus
Java21 or higherRequired
Minecraft1.20.4 or higherRequired
zMenuLatest versionRequired
PlaceholderAPILatest versionRequired
VaultLatest versionOptional
ProtocolLibLatest versionOptional
SuperiorSkyblock2Latest versionOptional
BentoBoxLatest versionOptional

Supported Platforms​

PlatformSupport
PaperRecommended
SpigotSupported
PurpurSupported
PufferfishSupported
FoliaSupported (async threading)
Recommended

Paper is the recommended server platform. It offers the best performance and compatibility with zEssentials.

Installation Steps​

1. Download the Plugin​

Download zEssentials from one of these sources:

2. Install Dependencies​

Install the required dependencies on your server:

  1. zMenu - Download from Modrinth and place the .jar in your plugins/ folder. zEssentials uses zMenu for all of its GUI interfaces.
  2. PlaceholderAPI - Download from SpigotMC and place the .jar in your plugins/ folder. Required for placeholder support across all modules.

Install any optional dependencies you need:

  • Vault - Economy backend integration for the Economy module
  • ProtocolLib - Packet-level features such as holograms and tab list manipulation
  • SuperiorSkyblock2 - Island-based permission checks for skyblock servers
  • BentoBox - Island-based permission checks for BentoBox-powered skyblock servers

3. Install the Plugin​

  1. Stop your server
  2. Place zEssentials.jar in your plugins/ folder
  3. Start your server
  4. The plugin will generate all default configuration files and module configs

4. Verify Installation​

Run /essentials in-game or from the console. If the plugin is loaded correctly, it will display version information and the list of enabled modules. You can also check the server console for:

[zEssentials] Loading zEssentials v1.x.x
[zEssentials] Main class: fr.maxlego08.essentials.ZEssentialsPlugin
[zEssentials] Successfully enabled!

File Structure​

After first startup, zEssentials creates the following structure:

plugins/zEssentials/
├── config.yml # Main configuration
├── storage.db # SQLite database (if using SQLite)
├── commands/
│ └── ... # Custom command definitions
├── modules/
│ ├── afk.yml # AFK detection settings
│ ├── announcements.yml # Automatic announcements
│ ├── chat.yml # Chat formatting and channels
│ ├── compact.yml # Item compacting settings
│ ├── cooldown.yml # Global cooldown settings
│ ├── discord.yml # Discord webhook integration
│ ├── economy.yml # Economy and multi-currency
│ ├── fly.yml # Fly management
│ ├── freeze.yml # Player freeze settings
│ ├── home.yml # Player homes configuration
│ ├── hologram.yml # Hologram settings
│ ├── join-quit.yml # Join/quit messages
│ ├── kits.yml # Kit definitions and cooldowns
│ ├── mailbox.yml # Offline item delivery
│ ├── pay.yml # Player pay settings
│ ├── rules.yml # Server rules
│ ├── sanction.yml # Ban, mute, kick settings
│ ├── scoreboard.yml # Dynamic scoreboard
│ ├── teleportation.yml # TPA, warps, spawn, RTP
│ ├── vault.yml # Player storage vaults
│ ├── vote.yml # Vote tracking and rewards
│ └── worldedit.yml # Built-in WorldEdit tools
├── inventories/
│ └── ... # zMenu inventory files
├── messages/
│ └── ... # Localized message files
└── kits/
└── ... # Kit definition files
info

Each module file in modules/ can be individually configured. Modules can be enabled or disabled without affecting other modules.

Database Configuration​

zEssentials supports three storage backends. Configure the storage section in config.yml.

SQLite (Default)​

SQLite is the default storage method and requires no additional configuration. Best for single-server setups and testing:

storage-type: SQLITE

The database file is stored at plugins/zEssentials/storage.db.

MySQL / MariaDB​

Recommended for production environments and multi-server setups:

storage-type: MYSQL

database-configuration:
host: 192.168.10.10
port: 3306
user: homestead
password: secret
database: zessentials
table-prefix: zessentials_
useSSL: false

HikariCP​

For high-performance environments with connection pooling:

storage-type: HIKARICP

database-configuration:
host: 192.168.10.10
port: 3306
user: homestead
password: secret
database: zessentials
table-prefix: zessentials_
useSSL: false

HikariCP provides optimized connection pooling out of the box, reducing connection overhead on high-traffic servers.

Default Database Configuration Values​

PropertyDefault Value
host192.168.10.10
port3306
userhomestead
passwordsecret
databasezessentials
table-prefixzessentials_
warning

Make sure to change the default database credentials before deploying to production. The default values are placeholders and should not be used in a live environment.

Redis Configuration​

zEssentials supports Redis for real-time data synchronization across multiple servers. This is required if you want cross-server private messages, synchronized sanctions, shared economy data, and more.

Configure the Redis section in config.yml:

redis-configuration:
host: 127.0.0.1
port: 6379
password: ""
PropertyDescriptionDefault
hostRedis server address127.0.0.1
portRedis server port6379
passwordRedis password (leave empty if none)""

Server Type Configuration​

zEssentials supports two server type modes that determine how the plugin handles cross-server communication:

server-type: PAPER

PAPER​

The default mode for standalone servers or networks not using Redis:

server-type: PAPER
  • All data is stored and read locally
  • No cross-server communication
  • Best for single-server setups

REDIS​

Enable this mode for multi-server networks using Redis:

server-type: REDIS
  • Enables real-time data synchronization via Redis pub/sub
  • Synchronized player data, sanctions, economy, and messages across all servers
  • Requires a valid Redis configuration (see Redis Configuration)
  • Requires MySQL or HikariCP as the storage type (SQLite is not supported in multi-server mode)
tip

When using REDIS server type, make sure all servers in your network share the same MySQL database and the same Redis instance for full synchronization.

First Configuration​

After installation, here are the recommended first steps:

  1. Storage - Choose your storage backend (SQLITE, MYSQL, or HIKARICP) in config.yml
  2. Modules - Review and enable/disable modules in the modules/ directory based on your needs
  3. Economy - If using the Economy module, configure it in modules/economy.yml and ensure Vault is installed
  4. Homes - Set home limits per permission group in modules/home.yml
  5. Kits - Create your server kits in modules/kits.yml and the kits/ directory
  6. Messages - Customize plugin messages in the messages/ directory

See the Configuration section for detailed options.

Troubleshooting​

Plugin does not start​

  • Check that Java 21+ is installed: java -version
  • Verify that zMenu is installed and loads without errors
  • Verify that PlaceholderAPI is installed and loads without errors
  • Check the server console for error messages referencing fr.maxlego08.essentials.ZEssentialsPlugin
  • Ensure the .jar file is not corrupted by re-downloading it

Modules not loading​

  • Verify the module file exists in plugins/zEssentials/modules/
  • Check that the module is set to enabled: true in its configuration file
  • Look for errors in the console that reference the specific module name
  • Ensure all required dependencies for that module are installed (e.g., ProtocolLib for holograms)

Database connection failed​

  • Verify your database credentials in config.yml are correct
  • Ensure the MySQL/MariaDB server is running and accessible from the Minecraft server
  • Check firewall settings if using a remote database
  • Confirm the database specified in the configuration exists and the user has proper permissions
  • For HikariCP issues, check that the JDBC driver is compatible with your database version

Redis connection failed​

  • Verify the Redis server is running: redis-cli ping should return PONG
  • Check the host, port, and password in your redis-configuration section
  • Ensure no firewall is blocking the Redis port
  • Confirm server-type is set to REDIS in config.yml

Economy not working​

  • Ensure Vault is installed and loaded before zEssentials
  • Verify an economy provider plugin (EssentialsX, CMI, etc.) is registered with Vault
  • Check the Economy module is enabled in modules/economy.yml
  • Run /vault-info to verify Vault detects your economy provider

PlaceholderAPI placeholders not working​

  • Ensure PlaceholderAPI is installed and loaded
  • Run /papi list to check if the zEssentials expansion is registered
  • Verify the placeholder syntax is correct (e.g., %zessentials_player_balance%)
  • Reload PlaceholderAPI with /papi reload

Interfaces not appearing​

  • Verify zMenu is installed and working properly
  • Check that inventory files exist in plugins/zEssentials/inventories/
  • Look for errors in the console when attempting to open a menu
  • Ensure zMenu is up to date with the latest version

Next Steps​

Copyright © 2026 GroupeZ|Build #loading...|-