SimpleTeams
A lightweight, modern teams plugin for Paper and Spigot Minecraft servers. Built with Adventure/MiniMessage for rich text formatting and designed for performance with clean, maintainable code.
Features
- Full Team Management -- Create, join, leave, and disband teams with customizable names and colored prefixes
- Rank System -- Four-tier hierarchy: Member, Moderator, Co-Leader, and Leader with permission-based actions
- Invite System -- Optional invite-only joining with configurable expiration times
- Team Chat -- Private team chat channel toggleable per player with custom formatting
- Global Chat Integration -- Optional team prefix injection into global chat messages
- Moderation Tools -- Kick, ban, unban, promote, and demote team members with rank-aware restrictions
- Admin Override -- Administrators can manage any team, transfer leadership, and bypass closed teams
- Persistent Storage -- All team data saved to YAML with automatic loading and saving
- Update Notifications -- Built-in Modrinth version checker with in-game admin alerts
- Analytics Ready -- Supports both bStats and FastStats for server-wide metrics collection
Commands
| /team create <name> |
simpleteams.player.create |
Create a new team |
| /team join <team> |
simpleteams.player.join |
Join an open team |
| /team leave |
simpleteams.player.leave |
Leave your current team |
| /team info [team] |
simpleteams.player.info |
View team information |
| /team list |
simpleteams.player.list |
List all teams |
| /team top |
simpleteams.player.top |
Top teams by member count |
| /team open |
simpleteams.player.open |
Open team to public joining |
| /team close |
simpleteams.player.close |
Close team from public joining |
| /team kick <player> |
simpleteams.player.kick |
Kick a member from your team |
| /team promote <player> |
simpleteams.player.promote |
Promote a team member |
| /team demote <player> |
simpleteams.player.demote |
Demote a team member |
| /team disband [team] |
simpleteams.player.disband |
Disband your team |
| /team ban <player> |
simpleteams.player.ban |
Ban a player from your team |
| /team unban <player> |
simpleteams.player.unban |
Unban a player from your team |
| /team edit <prefix|name> <value> |
simpleteams.player.edit |
Edit team prefix or name |
| /team invite <player> |
simpleteams.player.invite |
Invite a player to your team |
| /team accept |
simpleteams.player.accept |
Accept a pending team invite |
| /team deny |
simpleteams.player.deny |
Deny a pending team invite |
| /team chat |
simpleteams.player.chat |
Toggle team-only chat mode |
| /team adminkick <player> |
simpleteams.admin.kick |
Admin: kick from any team |
| /team setleader <team> <player> |
simpleteams.admin.setleader |
Admin: transfer leadership |
| /team reload |
simpleteams.admin.reload |
Reload config and messages |
| /team help |
simpleteams.player.help |
Show command help |
Permissions
-
Code (Text):
simpleteams.player.*
-- Grants all player commands (default: true)
-
Code (Text):
simpleteams.admin.*
-- Grants all admin commands (default: op)
-
Code (Text):
simpleteams.admin.bypass
-- Bypass closed team restrictions when joining
Configuration
All settings are managed through
:
- Team limits (max teams, members per team, name length)
- Name validation (allowed characters, blacklisted names)
- Chat formatting (global and team chat formats)
- Invite system (enable/disable, expiry time)
- Update checker and bStats toggles
Messages are fully customizable in
Code (Text):
messages.yml
using MiniMessage format.
Requirements
- Java 21 or higher
- Paper 1.13+ or Spigot 1.13+
Metrics
This plugin collects anonymous usage statistics through:
- bStats -- Plugin usage trends and feature adoption
- FastStats -- Performance and engagement analytics
Both can be disabled in the configuration.
Support
For bug reports, feature requests, or contributions, join my Discord or GitHub repository.