Skip to content
RitomasssCommunity
Product documentation

NexaTeams Documentation

NexaTeams is a team management plugin with creation, invites, homes, vault, bank, team chat, friendly fire, privacy and admin inspection.

17Java target
Paper/Folia 1.21Server target
Config/dataStorage mode
Vault + PAPIHook posture

Overview#

Product purpose, target audience, main systems, dependencies and quick links.

Quick links: Installation, First Setup, Commands, Permissions, Configuration, GUI, Placeholders, Storage, Integrations, Common Setups, Troubleshooting, Changelog and Support.

What is NexaTeams?#

A team/clan layer for SMP and Lifesteal servers with social, teleport, vault and bank workflows.

Who is it for?#

Server owners who want a lightweight team system that can integrate with economy and placeholder plugins.

Supported server types#

SMP, Lifesteal, Survival, Factions-like and small network servers.

Main features#

  • Team creation
  • Invites and membership
  • Team home
  • Team vault
  • Team bank
  • Team chat
  • Friendly fire toggle
  • Privacy and MOTD

Dependencies#

  • Java 17
  • Paper-compatible 1.21 server
  • Vault optional
  • PlaceholderAPI optional
  • GriefPrevention optional

Installation#

Installation gets the plugin to boot. First Setup prepares it for production use.

Do not replace plugin jars while the server is running. Always make a backup before updating.
Download the latest NexaTeams jar from the official buyer/download source.
Stop the server before replacing the jar.
Upload the jar to /plugins.
Start the server once and confirm the plugin folder was generated.
Configure license, storage and core files listed in the Configuration section.
Restart the server and run the main status/admin command.

First Setup#

Recommended first configuration pass after the plugin has generated its files.

Make one change at a time, reload or restart, then test the player workflow with a real account.

Setup checklist#

  1. Choose storage behavior
  2. Configure team limits
  3. Configure vault rules
  4. Set home and ally behavior
  5. Give permissions
  6. Test team creation

Production notes#

  • Give permissions through LuckPerms or your permission manager.
  • Keep backups of YAML files and database tables.
  • Use a staging server before large updates.
  • Do not claim Folia or network support unless the full setup has been tested.

Commands#

Commands, permissions, and usage examples.

Command entries are read from this product's plugin.yml.
/teamCommand
Description

Main command for NexaTeams

Permission

Not declared in plugin.yml

Example

/team

/nexateamsCommand
Description

Admin command for NexaTeams

Permission

Not declared in plugin.yml

Example

/nexateams

Permissions#

Permission nodes are based on plugin.yml. Assign admin and bypass permissions carefully.

/lp group admin permission set nexateams.create true
/lp group default permission set nexateams.create true
nexateams.create

Allows creating a team

Default: truePlayers
nexateams.manager

Allows managing a team

Default: truePlayers
nexateams.help

Allows viewing the help menu

Default: truePlayers
nexateams.invite

Allows inviting players to a team

Default: truePlayers
nexateams.accept

Allows accepting team invites

Default: truePlayers
nexateams.deny

Allows denying team invites

Default: truePlayers
nexateams.disband

Allows disbanding a team

Default: truePlayers
nexateams.leave

Allows leaving a team

Default: truePlayers
nexateams.info

Allows viewing team information

Default: truePlayers
nexateams.kick

Allows kicking members from a team

Default: truePlayers
nexateams.transfer

Allows transferring team ownership

Default: truePlayers
nexateams.friendlyfire

Allows toggling friendly fire

Default: truePlayers
nexateams.sethome

Allows setting the team home

Default: truePlayers
nexateams.delhome

Allows deleting the team home

Default: truePlayers
nexateams.home

Allows teleporting to the team home

Default: truePlayers
nexateams.tp

Allows teleporting to team members

Default: truePlayers
nexateams.tptoggle

Allows toggling teleport access

Default: truePlayers
nexateams.gift

Allows gifting items to the team (not implemented)

Default: truePlayers

Configuration#

Configuration YAML files below contain short bundled default excerpts, not full files. Message YAML is documented only in Messages & Language.

Validate YAML indentation before restarting the server.
config.yml short excerpt, not full file

Main runtime settings, license, modules, limits, storage and feature behavior.

Short YAML preview only. This block shows selected lines from config.yml. The generated file contains more options than this docs excerpt.
# ...
# Short documentation excerpt from config.yml.
# This is not the complete YAML file.
# Lines before and after this preview are omitted from the docs.
# ...
license-key: "LICENSE"
color-format: "legacy" # Options: "legacy" or "minimessage"
database:
  method: "SQLite" # Options: SQLite, MySQL
  data:
    host: "localhost"
    port: 3306
    database: "nexateams"
    username: "root"
    password: ""
    ssl: false

team-settings:
  max-members: 10
  initial-bank-balance: 0

bank-settings:
  max-logs: 10

vault:
  enabled: true
  rows: 6
  update-cooldown-ms: 100
  batch-save: false

command-costs:
  create: 1000.0
  invite: 50.0
  sethome: 500.0
  home: 10.0
  tag: 500.0
  accept: 0.0
  deny: 0.0
  disband: 0.0
# ...
# More options continue in the generated plugin YAML file.
# Open plugins/<plugin-folder>/config.yml to review every setting.
# ...
Top-level keys

license-key, color-format, database, team-settings, bank-settings, vault

Production handling

Back up this file, edit the generated copy under the plugin folder, then run the product reload command or restart for startup-level settings.

Messages & Language#

Translation and formatting guidance based on the product's bundled resources.

Message reload follows the product's reload command. Restart after jar, storage or license changes.

How to edit messages#

This product ships messages.yml. Edit the generated copy in the plugin folder, keep placeholders intact, then reload the plugin command or restart for startup-level changes.

Formatting#

<red>Error message</red>
&cLegacy color message
{player} {amount} {reason}
messages.yml short excerpt, not full file
Short YAML preview only. This block shows selected lines from messages.yml. The generated file contains more message keys than this docs excerpt.
# ...
# Short documentation excerpt from messages.yml.
# This is not the complete YAML file.
# Lines before and after this preview are omitted from the docs.
# ...
# ==========================================
# NexaTeams Message Configuration
# ==========================================

# General & System Messages
prefix: "&8[&eNexaTeams&8] &7"
menu-opened: "Opening main menu..."
help-header: "&8&m--------------------------------"
help-title: " &b&lTEAMS HELP &7(Page <page>/<total>)"
help-format: "&e/team <command> &8- &7<description>"
help-footer: "&8&m--------------------------------"
help-next: "&7Type &b/team help <next> &7for more."
help-commands:
  - "help:Display this help menu"
  - "create:Create your own team"
  - "invite:Invite a player to your team"
  - "accept:Accept a pending invitation"
  - "deny:Reject a pending invitation"
  - "disband:Delete your current team"
  - "leave:Leave your current team"
  - "info:Display team details"
  - "kick:Remove a member from the team"
  - "transfer:Transfer ownership to a member"
  - "friendlyfire:Toggle team PvP damage"
  - "sethome:Set the team home location"
  - "delhome:Remove the team home location"
  - "home:Teleport to the team home"
  - "tp:Teleport to a team member"
  - "tptoggle:Enable/disable teleporting to you"
  - "vault:Access the shared team storage"
  - "moderator:Add or remove team moderators"
  - "chat:Switch between team and global chat"
  - "motd:Set the team message of the day"
  - "mute:Mute or unmute the team chat"
# ...
# More options continue in the generated plugin YAML file.
# Open plugins/<plugin-folder>/messages.yml to review every setting.
# ...

GUI / Menus#

GUI cards describe the actual menus available in this product build.

Each card shows the configured menu title, inventory size, item count and detected actions when those values exist.

Anvil Guis#

Text-input GUI definitions for values such as bank deposit amounts or team-related typed input.

  • Configured title: Deposit Amount

Team Bank#

Team economy menu for shared balance display, deposits, withdrawals and bank navigation.

  • Configured title: ᴛᴇᴀᴍ ʙᴀɴᴋ
  • Size: 27 slots
  • Configured items: 5
  • Actions: deposit, back

Team Create#

Team creation flow used before a player becomes the owner of a new team.

  • Configured title: ᴄʀᴇᴀᴛᴇ ᴛᴇᴀᴍ
  • Size: 27 slots
  • Configured items: 2

Team Flag#

Team flag menu for toggling team behavior options exposed as flags.

  • Configured title: ᴛᴇᴀᴍ ꜰʟᴀɢ
  • Configured items: 5
  • Actions: back

Team Home#

Team home menu for setting, teleporting to and managing the shared team home location.

  • Configured title: ᴛᴇᴀᴍ ʜᴏᴍᴇ
  • Configured items: 4
  • Actions: sethome back: slot: 0, back

Team List#

Team list browser for viewing existing teams and navigating team information pages.

  • Configured title: ᴛᴇᴀᴍ ʟɪsᴛ
  • Size: 54 slots
  • Configured items: 4

Team Main#

Main team dashboard linking bank, home, members, settings, vault and live team information.

  • Configured title: ᴛᴇᴀᴍ ᴍᴇɴᴜ
  • Size: 27 slots
  • Configured items: 7
  • Actions: home, vault

Team Members#

Member management menu for viewing team players and handling membership actions.

  • Configured title: ᴛᴇᴀᴍ ᴍᴇᴍʙᴇʀs
  • Size: 54 slots
  • Configured items: 5
  • Actions: back

Team Settings#

Team settings menu for privacy, glow, flags and other configurable team behavior.

  • Configured title: ᴛᴇᴀᴍ sᴇᴛᴛɪɴɢs
  • Size: 27 slots
  • Configured items: 7
  • Actions: glow, flag tag: slot: 15, tag back: slot: 18, back

Team Teleport#

Team teleport menu used for team travel flows and shared destination navigation.

  • Configured title: Team Teleport
  • Size: 54 slots
  • Configured items: 5
  • Actions: back

Team Vault#

Team vault menu for controlled shared storage access through the team system.

  • Configured title: ᴛᴇᴀᴍ ᴠᴀᴜʟᴛ
  • Size: 54 slots
  • Configured items: 2
  • Actions: back

Placeholders#

PlaceholderAPI examples available for this product.

Use the exact identifier shown here in scoreboards, chat formats and external display plugins.

Placeholder surface#

Identifier: nexateams. The expansion covers team membership, name, tag, bank balance, owner and member count.

Usage notes#

  • Install PlaceholderAPI before using these values in scoreboards or chat formats.
  • Reload PlaceholderAPI expansions after plugin updates.
  • Keep placeholder identifiers lowercase exactly as shown unless the product uses a legacy mixed-case identifier.
PlaceholderAPI examples documented
PlaceholderExample outputDescription
%nexateams_has_team%trueReturns whether the player belongs to a team.
%nexateams_name%RitomaReturns the player's team name.
%nexateams_tag%RTXReturns the team tag.
%nexateams_bank%15000.0Returns the team bank balance.
%nexateams_members_count%7Returns team member count.

Storage#

Storage docs explain YAML, SQLite, MySQL, MariaDB and backup expectations when supported.

Always back up before changing storage type or updating a production server.

Storage recommendation#

NexaTeams config exposes SQLite and MySQL under database.method; SQLite fits one server and MySQL fits production shared storage.

Backup checklist#

  • Stop the server before copying live flat files.
  • Export SQL databases before updates.
  • Keep plugin version and server version in backup notes.
  • Test migration on a copy first.

Integrations#

Each integration explains purpose, required/optional status, setup steps and troubleshooting.

Soft hooks load after the dependency is available through Bukkit's plugin manager.
Vault Optional hook

Purpose: Provides economy withdrawals, deposits, prices, banks or metadata through Vault.

Troubleshooting: If balances, rewards or banks do not work, confirm Vault has an active economy provider and that no economy plugin loads after this product.

  1. Install Vault and one compatible economy or permission provider.
  2. Restart the server and confirm Vault reports a provider in console.
  3. Enable prices, banks, rewards or currency features that depend on Vault.
  4. Test one deposit and one withdrawal with a non-op account.
PlaceholderAPI Optional hook

Purpose: Registers or consumes PlaceholderAPI values for scoreboards, formats and external displays.

Troubleshooting: If values stay blank, reload expansions and verify the identifier exactly matches the placeholder shown in this docs page.

  1. Install PlaceholderAPI or the listed placeholder provider.
  2. Install required expansions when the provider uses external expansions.
  3. Use the exact placeholder identifiers documented in this page.
  4. Reload the display plugin after changing scoreboard, tablist, menu or chat format files.
GriefPrevention Optional hook

Purpose: Connects gameplay behavior to claims, regions or group ownership rules.

Troubleshooting: If region or claim rules do not apply, check region priority, claim ownership, world names and whether the hook is enabled.

  1. Install the claim or region plugin before this product starts.
  2. Create the region, claim, town or faction area you want the plugin to read.
  3. Enable the matching hook in the integration/config file when a toggle exists.
  4. Test the protected workflow inside and outside the region with a normal player.
NexaCombat Optional hook

Purpose: Connects this product to another Nexa plugin so team, chat, combat, shop or vault state can be reused.

Troubleshooting: If the Nexa bridge does not react, confirm both plugin versions are compatible and that the shared module/hook is enabled on the same server.

  1. Install both Nexa plugins on the same server or network target.
  2. Confirm both products load successfully before testing the bridge.
  3. Enable the related hook or module in config when available.
  4. Test the shared workflow, such as team checks, chat metadata, combat restrictions, shop transactions or vault access.
NexaChat Optional hook

Purpose: Connects this product to another Nexa plugin so team, chat, combat, shop or vault state can be reused.

Troubleshooting: If the Nexa bridge does not react, confirm both plugin versions are compatible and that the shared module/hook is enabled on the same server.

  1. Install both Nexa plugins on the same server or network target.
  2. Confirm both products load successfully before testing the bridge.
  3. Enable the related hook or module in config when available.
  4. Test the shared workflow, such as team checks, chat metadata, combat restrictions, shop transactions or vault access.

Platform & Module Enablement#

Prepare the Folia/Paper runtime, database, license and optional hooks before players create teams.

NexaTeams advertises Folia support; still test every region-sensitive hook on the exact Folia build used in production.

Bootstrap checklist#

  1. Install the api-version: 1.21 plugin on Paper or Folia with the required Java/server baseline.
  2. Copy plugins/NexaTeams/ before editing configuration.
  3. Set license-key and verify LicenseGate during startup.
  4. Choose SQLite for a small server or MySQL for a network.
  5. Install Vault and PlaceholderAPI when bank/economy or scoreboard features are required.
  6. Use /nexateams reload only for runtime configuration changes.

Runtime baseline#

database.method: "SQLite"
team-settings.max-members: 10
vault.enabled: true
vault.rows: 6
integrations.placeholderapi: true
integrations.worldguard: true
integrations.combatlogx: true
integrations.pvpmanager: true

Keep license, schema and storage changes inside a maintenance window. Confirm /nexateams reports the expected version after startup.

Team Lifecycle & Membership#

Create, invite, accept, deny, leave, kick, transfer and disband teams with costs and member limits.

Test owner, moderator, member, invited player and outsider accounts before adding shared assets.

Player lifecycle#

  1. Create a team through /team create or the team-create GUI.
  2. Invite an online player with /team invite <player>.
  3. Let the target use /team accept or /team deny.
  4. Inspect membership with /team info and /team online.
  5. Use /team leave for members; the owner must transfer or disband instead.

Staff/owner lifecycle#

  1. Remove a member with /team kick <player> after checking role permissions.
  2. Transfer ownership with /team transfer <player> and verify old/new rank state.
  3. Use /team disband only after withdrawing or documenting bank/vault assets.
  4. Test max-members and invite cost before public launch.
  5. Do not advertise /team gift; its permission is declared but the feature is marked not implemented.
team-settings.max-members: 10
command-costs.create: 1000.0
command-costs.invite: 50.0
command-costs.accept: 0.0
command-costs.disband: 0.0

Ranks, Roles & Member Permissions#

Build a predictable OWNER/MODERATOR/MEMBER permission matrix for invitations, moderation, bank and team settings.

GUI visibility does not grant an action; every mutation must pass the team permission state.

Built-in rank model#

  • MEMBER can use actions granted by team policy.
  • MODERATOR is the default minimum for invite, kick, bank withdrawal, tag, flag, home, friendly fire, privacy, glow, MOTD, mute and bank access management.
  • OWNER is required for promote, demote, permission management and viewing team logs.
  • Use /team moderator add|remove <player> for role changes.
  • Use the member options and member permissions menus to review custom permissions.

Permission QA#

  1. Test invite, kick and bank withdrawal as member, moderator and owner.
  2. Promote/demote a disposable account and reopen the member list.
  3. Toggle a custom permission, reconnect and verify it persists.
  4. Transfer ownership and confirm the previous owner no longer has owner-only actions.
  5. Review /team logs after each governance change.

Team Identity, Privacy & Profile#

Configure team tags, flags, MOTD, privacy, online members, coordinates and activity visibility.

Keep privacy rules consistent with the server’s social and staff moderation policy.

Identity commands#

/team tag <tag>
/team tag remove
/team flag
/team motd <message>
/team privacy
/team info

The flag GUI uses the held item as the team icon. Tag and MOTD changes are role-gated and can carry the configured command cost.

Visibility tools#

  1. Toggle privacy and confirm the team is hidden from the public team list while staff bypass remains available.
  2. Open /team online and verify online member output.
  3. Use /team coordinate only when members have knowingly enabled coordinate visibility.
  4. Use /team logs to audit identity and visibility changes.
  5. Reconnect and verify tag/MOTD/flag state remains after reload.
command-costs.tag: 500.0
command-costs.motd: 0.0
command-costs.privacy: 0.0
nexateams.admin.bypass: staff privacy bypass

Team Chat, Mute & MOTD#

Give teams a private chat channel with toggle, mute and join-message behavior.

Test chat with an active team-chat player, a muted member, a moderator and an outsider.

Chat flow#

  1. Use /team chat to toggle team-only chat mode.
  2. Send a message and confirm only active team members receive it.
  3. Use /team mute as an authorized moderator to suppress member chat.
  4. Confirm moderators retain the configured moderation visibility.
  5. Toggle chat off and verify normal server chat resumes.

Operational checks#

  • Team chat state must survive the listener’s player lifecycle rules correctly.
  • MOTD is edited with /team motd <message> and displayed on join according to message config.
  • Muted state is team-scoped, not a global server mute.
  • Use nexateams.chat, nexateams.mute and nexateams.motd independently.

Friendly Fire, Glow & Damage Control#

Protect teammates from direct and projectile damage and make team members visible during PvP.

Start with friendly fire disabled and test both direct and indirect damage sources.

Friendly fire#

Use /team friendlyfire to toggle team damage. The damage listener covers melee and projectile-style sources such as arrows and snowballs.

Team glow#

Use /team glow to toggle the team visibility effect. Packet/Glow adapters can reapply visibility after world changes.

QA matrix#

  • Owner versus member melee
  • Projectile from a teammate
  • Damage after toggle/reload
  • World change with glow enabled
  • Combat plugin state and reconnect
nexateams.friendlyfire: team toggle permission
nexateams.glow: team glow permission
integrations.combatlogx: true
integrations.pvpmanager: true

Team Bank & Economy Costs#

Connect Vault for a shared team balance, transparent deposits/withdrawals and per-command costs.

Use a real Vault economy provider and test insufficient balance before adding teams to production.

Bank workflow#

  1. Install Vault and an economy plugin, then confirm vault.enabled: true.
  2. Open /team bank or the team bank menu.
  3. Deposit a small amount and verify the actor/amount/timestamp log.
  4. Attempt withdrawal as member and moderator, then compare the bank permission policy.
  5. Use /team bank log and inspect the configured max log count.

Economy controls#

team-settings.initial-bank-balance: 0
bank-settings.max-logs: 10
command-costs.create: 1000.0
command-costs.sethome: 500.0
command-costs.tp: 0.0
command-costs.bank: 0.0

Every configured command cost is checked before the operation. A failed withdrawal/cost check must not mutate team state.

Team Vault & WAL Recovery#

Operate the shared item vault with asynchronous persistence, write-ahead logging, versioned slots and crash recovery.

Treat the vault as shared value: test concurrent viewers, disconnects and forced shutdown before launch.

Vault player flow#

  1. Use /team vault to open the configured vault GUI.
  2. Place and remove a test item from two team members.
  3. Verify outsider access is denied and member permissions match the team policy.
  4. Close/reopen the menu and compare slot contents.
  5. Restart after a change and confirm the item remains exactly once.

Persistence controls#

vault.enabled: true
vault.rows: 6
vault.update-cooldown-ms: 100
vault.batch-save: false
  • Up to 54 GUI slots can be configured, with the content/control layout defined in menus/team-vault.yml.
  • Vault slot updates use locks, versions and WAL transaction ids.
  • Uncommitted WAL records are replayed during startup recovery.
Crash QA no-dupe/no-loss test
  1. Put an item into a vault and stop the server during the save window.
  2. Start again and watch WAL recovery logs.
  3. Compare the database slot version and visible item count.
  4. Repeat with two viewers editing different slots.

Team Homes, Teleport & Claim Protection#

Configure team home placement, member teleport, personal teleport toggle, countdown and GriefPrevention claim checks.

Teleport must cancel on movement or damage and must not place homes inside claims the team cannot access.

Home flow#

  1. Use /team sethome inside an allowed claim/region.
  2. Use /team home and verify countdown, cost and cancellation.
  3. Remove it with /team delhome and confirm the stored location is cleared.
  4. Move or take damage during countdown and verify teleport cancellation.
  5. Reconnect and confirm the home location persists.

Member teleport flow#

  1. Use /team tp <player> to request/teleport to a teammate.
  2. Use /team tptoggle as the target to deny or allow incoming teleport.
  3. Test offline, outsider and self-target cases.
  4. Verify GriefPrevention trust/accessor requirements for home placement.
teleport-settings.home-countdown: 3
teleport-settings.tp-countdown: 3
teleport-settings.message-type: "ACTIONBAR"
integrations.worldguard: true

GUI, Menus & Anvil Inputs#

Configure the TriumphGUI/AnvilGUI menus for team creation, members, permissions, bank, vault, home, settings, logs and teleport.

Keep menu action names stable when changing layout; validate every click path with the matching permission.

Core menus#

team-create.yml, team-list.yml, team-main.yml, team-members.yml, member-options.yml and member-perms.yml cover creation and governance.

Asset menus#

team-bank.yml, team-vault.yml, team-home.yml, team-teleport.yml, team-logs.yml and team-settings.yml cover shared operations.

Input menus#

team-flag.yml and anvil-guis.yml provide flag selection and text input. Materials, slots, fill items, titles and actions are YAML-driven.

GUI QA permission-aware clicks
  1. Open the main menu as owner, moderator, member and outsider.
  2. Try bank withdrawal, member permissions and settings with each role.
  3. Open Anvil input, cancel it and submit invalid text.
  4. Reopen after reload and verify menu/session state.

Integrations & Hook Verification#

Connect Vault, PlaceholderAPI, GriefPrevention, PacketEvents and optional combat/permissions hooks without making missing plugins fatal.

Run the admin hook/status path after every dependency change and test the feature that depends on the hook.

Economy#

Vault supplies command costs and team bank economy. Without a valid provider, economy-required actions must fail clearly.

Claims & combat#

GriefPrevention controls home placement/access. CombatLogX and PvPManager participate in teleport/auto protection rules. Test missing-hook fallback.

Display & glow#

PlaceholderAPI exposes team values. PacketEvents and glow adapters support efficient team visibility; verify world-change refresh.

integrations.placeholderapi: true
integrations.worldguard: true
integrations.skript: true
integrations.vault: true
integrations.luckperms: true
integrations.skinsrestorer: true

SQLite/MySQL Storage & Maintenance#

Persist teams, members, bank logs, team logs and vault slots with a single-threaded database executor and schema migration.

Back up before switching database method or applying a version update; test restore with disposable teams first.

Database setup#

  • SQLite writes nexateams.db in the plugin data folder with synchronous commit settings.
  • MySQL uses host, port, database, username, password and SSL from database.data.
  • Tables include teams, team_members, bank_logs, team_logs and team_vault_items.
  • Existing bank logs can be migrated into team logs during schema setup.
  • Folia/Spigot schedulers keep database work away from unsafe player threads.

Maintenance commands#

  1. Run /nexateams and record the active version.
  2. Use /nexateams reload after messages/menu/config changes.
  3. Use /nexateams backup for the supported YAML backup workflow.
  4. Use /nexateams restore <backup> only during a maintenance window.
  5. After storage changes, verify members, roles, home, balance, logs and vault slots.

Placeholders & Integration Surface#

Expose team identity, membership and bank values to scoreboards, tablists, holograms and server automation.

Use PlaceholderAPI values as the stable display integration; do not assume a separate public Java API when integrating external plugins.

PlaceholderAPI setup#

  1. Install PlaceholderAPI and keep integrations.placeholderapi: true.
  2. Use team presence, name, tag, owner, bank and member count in displays.
  3. Test a player without a team and a player after leave/disband.
  4. Verify formatted balance output matches the server economy format.
%nexateams_has_team%
%nexateams_name%
%nexateams_tag%
%nexateams_owner%
%nexateams_bank%
%nexateams_members_count%

Integration boundaries#

  • TeamPlaceholderExpansion is the display hook.
  • VaultHook and GriefPreventionHook provide optional provider boundaries.
  • Team listeners expose behavior through Bukkit events/listeners rather than a documented public API package.
  • Use /nexateams inspect and placeholders for diagnostics.

Admin Inspection, Logs & Recovery#

Give staff visibility into teams while keeping reload, privacy bypass and database operations restricted.

Admin inspection should be read-first; use team-owner workflows for normal changes.

Admin commands#

/nexateams help
/nexateams reload
/nexateams inspect
/nexateams inspect <player|team>
  • /nexateams inspect opens the team list for staff.
  • Inspecting a target opens the team main menu with admin view enabled.
  • nexateams.admin.bypass bypasses privacy checks; keep it separate from normal admin access.

Recovery checklist#

  1. Record team name/UUID and affected player before changing data.
  2. Review /team logs and bank/vault histories.
  3. Back up before restore or manual database intervention.
  4. Replay/recover WAL records before diagnosing missing vault items.
  5. Reopen the affected GUI and verify role, balance, home and vault state.

Production Rollout & Verification#

Move from one disposable team to a live community system with tested roles, assets, teleport and recovery.

Go live only after owner, moderator, member, invited player and outsider scenarios pass.

Stage 1 — sandbox#

  • Use SQLite and a disposable team.
  • Test create/invite/accept/deny/leave/disband.
  • Test role permissions, chat, friendly fire and privacy.

Stage 2 — asset pilot#

  • Enable Vault bank and 54-slot vault.
  • Test WAL recovery, concurrent viewers and full menus.
  • Test home/teleport, claim checks and combat cancellation.

Stage 3 — live/Folia#

  • Use MySQL for network-scale persistence.
  • Test Folia region scheduling and world changes.
  • Restrict admin bypass and restore permissions.
Go-live acceptance checklist sign off each item
  1. Restart with active teams, roles, bank, home and vault data.
  2. Test bank deposit/withdraw and inspect logs.
  3. Force a vault save-window interruption and verify WAL recovery.
  4. Test friendly-fire projectiles, glow refresh and team chat mute.
  5. Test GriefPrevention home denial and teleport cancellation on movement/damage.
  6. Verify placeholders, admin inspect and database backup/restore.

Operational Reference#

Build a team in this order: create → invite → role policy → bank/vault/home → relations.

Test owner, member, invited player and outsider accounts. Team GUI visibility must not be confused with action permission.

Team lifecycle#

  1. Use /team to create the team and confirm the configured creation cost.
  2. Invite a player, accept the invite and open the member/settings menus.
  3. Set friendly fire and role permissions before adding valuable assets.
  4. Deposit a small amount into the team bank and inspect the bank log.
  5. Open the team vault, test access as owner/member, then test a denied outsider.
  6. Set the team home and verify teleport cost, cooldown and relation rules.

Shared asset baseline#

team-settings:
  max-members: 10
bank-settings:
  max-logs: 10
vault:
  enabled: true
  rows: 6
command-costs:
  create: 1000.0
  sethome: 500.0
  home: 10.0

Friendly-fire rollout#

Start with friendly fire disabled, verify team relations and external claim/region hooks, then enable only the combat behavior your server expects. Test team glow and team chat after a reconnect.

Disband safety#

Before disbanding, export/withdraw bank and vault contents, remove team home and review audit history. Do not use admin reset commands as a normal leave workflow.

Common Setups#

Ready-to-follow scenarios reduce support tickets and make the product easier to configure.

Tune durations, limits, prices and permissions with the YAML files above.

Lifesteal Teams Setup#

Use stricter cooldowns, staff visibility, abuse protection and clear player feedback for high-conflict gameplay.

SMP Clans Setup#

Use conservative defaults, SQLite or simple file storage, readable messages and relaxed limits for community servers.

Faction-like Setup#

Set team limits, invite rules, home behavior, bank or vault permissions and relation rules before opening the server.

Small Server Setup#

Use conservative defaults, SQLite or simple file storage, readable messages and relaxed limits for community servers.

Network Setup#

Use production SQL, unique server IDs, shared sync secrets and a controlled Redis or proxy transport.

Troubleshooting#

Start with console logs, config diffs, plugin version and reproduction steps.

The first error in console is usually more useful than repeated follow-up errors.
Team cannot be created issue

Check team name rules, disabled worlds, creation cost, max team limits and whether the player already belongs to a team.

Invites do not work issue

Verify target player is online, invite expiry is not too short, privacy settings allow invites and both players have the required permissions.

Team home is unsafe issue

Check safe teleport rules, world blacklist, claim/region restrictions and whether the saved home block is still valid.

Vault does not open issue

Confirm the player has vault permission, the team/player vault exists and the menu/storage layer did not fail during startup.

Bank does not use Vault issue

Confirm Vault has an economy provider, bank features are enabled and the configured currency path matches your economy setup.

Placeholder values are blank issue

Install PlaceholderAPI, reload expansions and test the placeholder with /papi parse before using it in scoreboards or chat.

FAQ#

Short answers for common buyer and staff questions.

Does NexaTeams support Folia?#

Yes. The product descriptor or docs metadata marks this product as Folia-oriented; keep third-party hook thread-safety in mind during production testing.

Does it support old Minecraft versions?#

This page targets Paper/Folia 1.21 with Java 17. Legacy 1.8 support is not part of this docs page.

Does it require MySQL?#

NexaTeams config exposes SQLite and MySQL under database.method; SQLite fits one server and MySQL fits production shared storage.

Can I disable modules?#

This product has a small runtime surface; use the listed YAML files and commands rather than a module system.

Can I edit all messages?#

Yes. Edit messages.yml and reload or restart according to the setting changed.

Does it support PlaceholderAPI?#

Yes. The documented identifier and examples are listed in the Placeholders section.

Changelog#

Product release notes grouped by version. Major public changes are written for buyers and server owners, not as raw commit logs.

v1.0.1#

Folia and message stability update.

Added
  • Added Folia support for the team system runtime.
Changed
  • Updated main plugin lifecycle and command registration for Folia-aware behavior.
  • Updated team command and tab-completion handling.
Fixed
  • Fixed message bugs reported after the first release.

v1.0.0#

Initial premium release.

Added
  • Added team creation, deletion, invites and membership management.
  • Added team homes, vault, bank, chat, friendly-fire and privacy systems.
  • Added admin commands, player commands and tab completion.
  • Added team data models, menu flow and configurable YAML resources.
Changed
  • Prepared project dependencies and build structure for the release.
Fixed
  • Fixed multiple release-blocking bugs before v1.0.0.

Support#

Send enough information to reproduce the issue.

Join Discorddiscord.gg/fANhQcyA7XInclude logs, config snippets and exact steps. Screenshots alone are not enough for config or database issues.

Before asking for support#

  • Test on the latest available plugin version.
  • Check server version and Java version.
  • Temporarily remove unrelated plugins when debugging conflicts.
  • Attach changed YAML files when config is involved.
Plugin: NexaTeams
Plugin version:
Server version:
Java version:
Server software:
Database type:
Installed hooks:
Error log:
Steps to reproduce:
Expected behavior:
Screenshots/video: