↪ EasyFFA: Ultimate Free-For-All PvP Plugin for Minecraft Server Networks ↩ icon

↪ EasyFFA: Ultimate Free-For-All PvP Plugin for Minecraft Server Networks ↩ -----

Fast, polished, and fully configurable Free-For-All plugin for every Minecraft server network!



[​IMG]


EasyFFA - Fast, polished, fully configurable FFA for modern servers ⚔️
Bring high-energy PvP to your server with clean admin tools, smart automation, and a player-friendly flow.

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

What is FFA in Minecraft?
In a Free-For-All (FFA), every player fights for themselves - no teams, no alliances, just pure PvP. Players instantly respawn, jump back into action, and compete for kills, points, rank-ups, and bragging rights. A great FFA feels smooth, fair, and snappy. That's exactly what EasyFFA is built for.

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Why EasyFFA?
EasyFFA focuses on admin productivity and player flow:
  • Zero-friction admin tools: one-command safe-zone editor, per-world spawn control, map rotation with countdowns, and map-specific kits.
  • Deep progression loop: points, experience, configurable ranks, killstreak broadcasts, and an optional multi-level bounty system that fuels rivalries.
  • Modern & lightweight: no NMS, up-to-date Spigot API support, optimized performance, simple config.

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Feature Highlights
  • Safe Zones — Protect spawn/areas with a simple two-point selection flow.
  • Map Rotation — Automated rotation with messages, countdowns, and teleports.
  • Kits & Map Kits — Create kits from inventory and assign per-world.
  • Stats & Ranks — Track kills, deaths, points, exp; configurable rank ladder.
  • Killstreaks — Broadcast milestones (3, 5, 7, 10, 15, 20, 25 by default).
  • Bounties — Players spend points to place bounties; killers earn rewards.
  • Combat Logging — Tag timer + optional punishments/commands.
  • Scoreboard & Tablist — Show player stats/rank; configurable formatting.
  • Join Flow & Spawn — Spawn countdown, world-specific spawns, optional force-adventure-mode, and QoL rules (prevent drops/breaking/durability).
  • Build Mode — Admins can toggle build mode for editing during FFA.
  • Chat Control — Quick clear your own chat or global chat via admin commands.
  • Game Rule Loader — Automatically (re)applies sensible world gamerules on startup.
  • Config-First — Everything is configurable in config.yml.

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Requirements & Compatibility
  • Spigot/Paper 1.21+
  • Java 21 recommended (built for modern runtimes)
  • Optional: MySQL/MariaDB if you enable database storage (driver included)

Note: EasyFFA is designed for network setups. The scoreboard, join/leave handling, and related messages/mechanics are always active by design. ℹ️

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Installation
  1. Place the EasyFFA jar into your server's plugins folder.
  2. Start the server once to generate config files.
  3. Open plugins/EasyFFA/config.yml and adjust settings (messages, points/exp, ranks, killstreaks, chat format, combat tag, etc.).
  4. (Optional) Enable MySQL in the config and set credentials (details below).
  5. Create kits, set map spawns, and (optional) define safe zones.

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Quick Start ⚡
  • Set spawn for your current world: /ffa setspawn
  • Create a kit from your inventory: /ffa kit create <name>
  • Assign that kit to the current world: /ffa kit setmap <name>
  • (Optional) Define a safe zone: /ffa zone set (twice to complete the two corners)
  • (Optional) Choose default active world (when map rotation is off): /ffa activemap <world>
  • (Optional) Start map rotation: /ffa mapchange start

Spawn Setup (GIF): https://ibb.co/6cgwrTs9

Kit Setup:
[​IMG]


━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Maps & Safe Zones
  • Spawn Per World
    /ffa setspawn sets the FFA spawn point for the current world. Players can use /spawn; a configurable countdown prevents abuse.
  • Safe Zone Setup
    • Stand at corner 1 and run: /ffa zone set
    • Stand at the opposite corner and run: /ffa zone set again
    • Done — the region is protected, with clear titles on enter/leave
    If you make a mistake: /ffa zone del cancels the setup.
    Zones are saved per-world and automatically loaded on server start.
  • Active Map (Join Behavior, No Rotation)
    If automatic map rotation is not used, the world configured under ActiveWorldName in config.yml is treated as the active FFA world. All players are teleported to this world on join. For the best FFA experience, make sure this world has a properly defined safe zone and spawn.

    Use /ffa activemap <world> to update the default active world. This command immediately updates the config value and teleports all online players to the newly set world.

    If you do not enable map rotation and also leave ActiveWorldName unset/unused, players will join in a random/default world as defined by the server. This behavior is not controlled by EasyFFA.
  • Map Rotation
    Use /ffa mapchange start to begin rotation across your configured worlds, with broadcasted countdowns and automatic teleports. Stop anytime with /ffa mapchange stop. If enabled in config and at least two maps are available, rotation can auto-start on server boot.
    When map rotation is enabled, ActiveWorldName is ignored and players will always join the current rotating map.

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Kits
  • Create from Inventory: Equip items/armor, then run /ffa kit create <name>.
  • List Kits: /ffa kit list
  • Delete Kit: /ffa kit delete <name>
  • Assign Kit to World: /ffa kit setmap <name> (applies to your current world)
  • Players can use assigned map kits automatically on join.

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Stats, Points, EXP, Ranks & Killstreaks
  • Stats GUI: /stats to view personal stats (kills, deaths, points, K/D, rank, exp).
  • Points: Gain on kills, lose on death — fully configurable.
  • Experience: Award EXP per kill; define rank thresholds in config.
  • Ranks: Displayed in tablist/scoreboard; define names and thresholds in FFA.Ranks.
  • Killstreaks: Broadcast messages at configured thresholds.

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Bounties (Optional PvP Economy Twist)
Players can spend points to place bounties on others; rewards are paid out to the killer.
  • /bounty — Help and subcommands
  • /bounty add <player> <level> — Place a bounty (costs points, configurable per level)
  • /bounty level — View bounty tiers and their costs/rewards
  • /bounty list — List all active bounties on the server
  • Important: Adding a bounty to a player who already has one will overwrite the previous bounty level. The levels do not stack - the new bounty completely replaces the old one.

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Combat Logging Control
Tag players in combat for a set duration. Optionally execute server commands, deduct points, or reset stats if they log out.
Configure under FFA.CombatLogging in config.yml.
Common options:
TagDurationSeconds: how long a player stays in combat after the last hit.
Punishments.CommandsEnabled + Punishments.Commands: run console commands (e.g., warn/kick).
Punishments.ResetAllStatsEnabled: reset the offender's stats.
Punishments.DeductPointsEnable + DeductPointsValue: remove points on combat logout.

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Scoreboard and Tablist
  • Scoreboard: Toggle and customize titles/lines in FFA.Scoreboard.
  • Tablist: Show rank and format names (e.g., Format: '&f[%RANK%&r&f] %NAME%').

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Storage Options
  • Flatfile (Default) — Simple YAML storage; no setup required. Files: kits.yml, stats.yml, bounties.yml.
  • MySQL/MariaDB (Optional) — Enable in config.yml under FFA.MySQL. The MariaDB JDBC driver is bundled so you don’t need to install it. Stats support MySQL; other data may remain YAML depending on your setup.
Code (Text):
FFA:
  MySQL:
    Enabled: true
    Host: 'localhost'
    Port: 3306
    Username: 'minecraft'
    Password: 'password'
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Optional Chat Styling
You can optionally enable EasyFFA's chat formatting and styling in config.yml:

• Path: FFA.Chat
• Enabled: true/false
• Format: e.g. "%PREFIX% %RANK% >> %PLAYER%&7: %MESSAGE%"
• DefaultPrefix: e.g. "&7"

When enabled, EasyFFA will format player chat according to your Format. You can include rank/prefix placeholders.

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Commands & Usage
  • /stats — View your FFA stats
  • /spawn — Teleport to the map spawn (with optional countdown/cooldown)
  • /points
    • /points — Help
    • /points add <player> <amount>
    • /points set <player> <amount>
    • /points remove <player> <amount>
  • /bounty
    • /bounty — Help
    • /bounty level — View bounty levels
    • /bounty add <player> <level> — Place a bounty
    • /bounty list — List all active bounties
    • /bounty remove <player> — Remove a bounty (if enabled/authorized)
  • /ffa
    • /ffa — Info & help
    • /ffa tp <world> — Teleport to a world
    • /ffa activemap <world> — Set the default active world (updates ActiveWorldName) and teleport all players there
    • /ffa zone set — Start/complete a safe-zone selection
    • /ffa zone del — Cancel a safe-zone selection
    • /ffa spawn — Teleport to current world’s map spawn
    • /ffa setspawn — Set/update spawn for current world (admin)
    • /ffa build — Toggle build mode (admin)
    • /ffa mapchange <start|stop|state> — Control map rotation
    • /ffa kit list — List kits and map assignments
    • /ffa kit create <name> — Create a kit from your inventory (admin)
    • /ffa kit delete <name> — Delete a kit (admin)
    • /ffa kit setmap <name> — Assign kit to current world (admin)
    • /ffa resetstats <stats|points|exp|ranks|killstreaks|bounties|all> — Reset stats (admin)
    • /ffa cc — Clear your own chat (admin)
    • /ffa ccg — Clear global chat (admin)
Note: /ffa resetstats lets you target a specific category (e.g., points only) or all.

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

API Documentation
You can find detailed API documentation in the documentation, including event subscription examples and integration tips.

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Permissions Overview
  • easyffa.* — Full access
  • easyffa.ffa — Use /ffa (default: true)
  • easyffa.world.tp — World teleport (default: op)
  • easyffa.kit — Use kits (default: true)
  • easyffa.admin.kit — Manage kits (default: op)
  • easyffa.admin.setspawn — Set spawn (default: op)
  • easyffa.admin.cc — Clear chat (default: op)
  • easyffa.admin.zone — Manage safe zones (default: op)
  • easyffa.admin.resetstats — Reset player statistics (default: op)

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Configuration Tips
  • Tweak points/exp gain under FFA.Points and FFA.Exp.
  • Define rank thresholds and names under FFA.Ranks.
  • Adjust killstreak broadcasts under FFA.Killstreaks.
  • Customize scoreboard and tablist in their respective sections.
  • Use the action bar kill messages to keep feedback snappy and non-intrusive.

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Performance & Quality
  • Optimized for modern Spigot APIs; no NMS.
  • Asynchronous operations where appropriate.
  • Lightweight runtime footprint and clean config defaults.

Ready to host a smooth, modern FFA?
Install EasyFFA and let your players jump straight into the action. ✅​
Resource Information
Author:
----------
Total Downloads: 1
First Release: Sep 26, 2025
Last Update: Sep 26, 2025
Category: ---------------
All-Time Rating:
0 ratings
Find more info at github-production-user-asset-6210df.s3.amazonaws.com...
Version -----
Released: --------------------
Downloads: ------
Version Rating:
----------------------
-- ratings