▶️ ЗАБЕРИ СВОИ 8 ПОДАРКОВ 🎁 ПРИ СОЗДАНИИ СВОЕГО МАЙНКРАФТ СЕРВЕРА
Inviteme

Inviteme

InviteMe turns your server's whitelist into a social invitation system. Each player has a configurable number of invitation slots to bring friends to the server.

Оцените первым
53
3

Advanced invitation management plugin for Paper/Spigot 1.21+ servers


🎮 What is InviteMe?

InviteMe turns your server's whitelist into a social invitation system. Each player has a configurable number of invitation slots to bring friends to the server. The plugin manages access, keeps an action log, provides an inventory GUI, and rewards proximity between mutually-invited players with an XP multiplier.


✨ Features

  • 🎟️ Invitation system — each player has a configurable slot limit; different limits per rank via LuckPerms
  • Temporary invitations — invitations with automatic expiry date support
  • 🖥️ Inventory GUI — graphical interface with player heads, pagination and uninvite confirmation
  • Mutual XP boost — XP multiplier for mutually-invited players who are near each other
  • 🗄️ Multiple backends — JSON, SQLite, MySQL and PostgreSQL with live migration
  • 🔌 LuckPerms integration — automatic group assignment and per-rank invitation limits
  • 📊 PlaceholderAPI — over 15 placeholders for scoreboards, tablist and HUDs
  • 🌍 Multilingual — English, Spanish and German included; editable files in plugins/InviteMe/locales/
  • 📋 Action log — full history of invites and uninvites, exportable to CSV
  • 🔄 Auto-sync — keeps the native whitelist in sync with plugin data automatically
  • 🔒 Plugin mode — alternative to the native whitelist; access control managed entirely by InviteMe

📋 Requirements

RequirementMinimum versionNotes
Paper / Spigot1.21Paper recommended
Java21
LuckPermsanyOptional — group assignment and per-rank limits
PlaceholderAPIanyOptional — placeholders in other plugins

🚀 Installation

  1. Download InviteMe-<version>.jar.
  2. Place it in your server's plugins/ folder.
  3. Start or restart the server.
  4. The plugin automatically generates plugins/InviteMe/config.yml.
  5. Edit the configuration and run /im reload.

🖥️ Inventory GUI

The /invite menu command opens a graphical interface with player heads, pagination, favourite filtering and uninvite confirmation. Admins see all invited players server-wide; regular players see only their own invitations.

👑 Admin view


⚡ Mutual XP Boost

When two players who mutually invited each other enter the configured radius, both receive an XP multiplier. The effect stacks with multiple partners and is configurable per world.

⚙️ Boost configuration
mutual-invite-boost:
  enabled: true
  xp-multiplier: 1.5       # +50% XP
  check-interval: 5        # seconds between checks
  show-actionbar: true
  particle-effects: true
  max-boost-partners: 3
  max-multiplier: 2.5
  radius:
    overworld: 50
    nether: 75
    end: 100

Add custom worlds under mutual-invite-boost.radius.custom-worlds:

radius:
  custom-worlds:
    mining_world: 60

💬 Commands

👤 Player commands — /invite

Require the invite.use permission (granted to all players by default).

CommandDescription
/invite add <player>Invite a player to the server
/invite add <player> <days>Temporary invitation with expiry (requires invite.temp)
/invite listShow your invitations and remaining slots
/invite list <player>Show another player's invitation list
/invite list allGlobal inviter ranking
/invite tree [player]Invitation chain (up to 20 levels up)
/invite menuOpen the inventory GUI
🛡️ Admin commands — /im

Require the invite.admin permission (OPs only by default).

CommandDescription
/invite remove <player> [reason]Remove a player from the server
/im stats [N]Global statistics and top N inviters
/im log list [player] [N]Action log, filterable by player
/im log export [global|player]Export the log to a CSV file
/im syncForce an immediate whitelist sync
/im debugPlugin diagnostic information
/im reloadReload configuration without restarting
/im migrate [sqlite|mysql|postgresql]Migrate data between backends
/im boost [status|on|off|check]Diagnose and control the mutual boost

🔑 Permissions

View permissions table
PermissionDefaultDescription
invite.useEveryoneInvite players and view own invitation list
invite.adminOPFull administrative access; bypasses limits and cooldown
invite.tempfalseCreate temporary invitations with expiry
invite.statsOPView global statistics with /im stats
invite.logOPView and export the action log with /im log
invite.number.XCustom limit of X invitations (e.g. invite.number.10)
invite.*OPWildcard — grants all permissions

Limit priority: invite.number.X > group-limits in config > max-invites in config.

To give a rank unlimited invitations:

/lp group <rank> permission set invite.admin true

Or a specific number:

/lp group <rank> permission set invite.number.20 true

📊 PlaceholderAPI

View all placeholders

Requires PlaceholderAPI installed.

👤 Per player

PlaceholderDescription
%inviteme_max_invites%Maximum invitation limit ( if unlimited)
%inviteme_used_invites%Invitations already used
%inviteme_remaining_invites%Remaining invitations
%inviteme_invited_players%Number of players invited
%inviteme_is_invited%true if the player was invited by someone
%inviteme_invited_by%Name of the player who invited them
%inviteme_rank%Position in the inviter ranking
%inviteme_invites_bar%Visual progress bar (e.g. ██████░░░░)
%inviteme_invites_percentage%Percentage of invitations used
%inviteme_status%Status: Unlimited, Limited or Full

⚡ Boost system

PlaceholderDescription
%inviteme_boost_active%true if mutual boost is active
%inviteme_boost_partners%Number of active boost partners
%inviteme_boost_multiplier%Current XP multiplier (e.g. 1.5)
%inviteme_boost_percentage%XP increase percentage (e.g. 50%)

🌍 Global stats

PlaceholderDescription
%inviteme_total_invites%Total invitations on the server
%inviteme_total_players%Total invited players
%inviteme_top_inviter%Player with the most invitations
%inviteme_top_inviter_count%Top inviter's invitation count

🗄️ Storage

View storage backends and configuration
BackendDescription
jsonLocal file invites.json, no additional setup
sqliteLocal database invites.db, recommended (default)
mysqlRemote MySQL or MariaDB database
postgresqlRemote PostgreSQL database

To migrate between backends: run /im migrate <type>, wait for confirmation, then update storage.type in config.yml and run /im reload.

storage:
  type: sqlite  # json | sqlite | mysql | postgresql
  remote:
    host: localhost
    port: 3306        # 5432 for PostgreSQL
    database: inviteme
    username: root
    password: password
    pool-size: 10

🔒 Access Control

Native whitelist vs plugin mode
access-control-mode: native  # native | plugin
  • native — Minecraft's native whitelist controls access (default).
  • plugin — InviteMe manages access directly; set white-list=false in server.properties. OPs and players with invite.admin can always join.

❓ FAQ

Why can't a player invite even with the invite.use permission?

They may have reached the max-invites limit or be on cooldown. Players with invite.admin have no such restrictions.

A player appears on the whitelist but not in /invite list.

They were added directly via /whitelist add. With whitelist-sync.auto-register-console: true the plugin will register them on the next sync, or force it with /im sync.

Does the boost work in custom worlds?

Yes, add the world under mutual-invite-boost.radius.custom-worlds:

radius:
  custom-worlds:
    mining_world: 60

📄 License

InviteMe is source-available, not open-source.

  • Permitted: Use the plugin on your servers, create addons via the Dev Kit
  • Not permitted: Sell InviteMe, modify the source code, create forks
  • 🔗 Extension: Addons created with the official Dev Kit can have their own licenses

See LICENSE for full terms.

Часто задаваемые вопросы

Совместимость

Minecraft: Java Edition

1.21.x

Платформы

Поддерживаемые окружения

Сервер

Ссылки


Создатели

Детали

Лицензия:
Опубликован:2 месяца назад
Обновлён:3 недели назад
Главная