ServerSystem
An Essentials Alternative
Quick challenge
How far can you run before the mobs catch you?
Minecraft check
Confirm your run
Complete the quick check to get your code.
ServerSystem
ServerSystem
A comprehensive Minecraft server management plugin for Paper servers, providing essential administrative, moderation, and utility commands.
In short, this is an alternative to plugins like Essentials.
Why?
While Essentials is a fine plugin, more options and competition is always a good thing.
This plugin also aims to be much more customizable and (mostly) be a drop-in solution.
Features
- Multi-language Support: Gamemode management, teleportation, time/weather control - Multi-language Support: Balance management, payments, economy administration (requires Vault) - Multi-language Support: Ban/mute system, command spy, vanish, clear chat - Multi-language Support: Repair tools, trash can, heal, feed - Multi-language Support: Homes, warps, kits, mobile workbench access - Multi-language Support: TPA requests, back command, spawn management - Multi-language Support: Private messaging, team chat, broadcast system - Multi-language Support: Interactive signs for various functions - Multi-language Support: Per-User language support, defaulting to player's locale (English, German and Slovene only)
Requirements
- Optional Dependencies: 1.21+ - Optional Dependencies: Paper (or Paper-based forks) - Optional Dependencies: 21+ - Optional Dependencies: - Vault (Provides a universal Economy API for other plugins to use) - NBTAPI (For loading/saving offline player data)
Installation
1. Download the latest ServerSystem JAR file 2. Place it in your server's `plugins` folder 3. Restart your server 4. Configure the plugin using the generated configuration files 5. Reload or restart the server to apply changes
Configuration
The plugin generates several configuration files:
- `config.yml` - Contains configuration for sections that are either too small or too generic - `commands.yml` - Command settings and aliases - `permissions.yml` - Permission definitions - `economy.yml` - Economy related settings - `moderation.yml` Moderation (Ban/Mute) related settings - `messages/` - Language files for different locales
Commands
(xy) = optional argument
[xy] = required argument
Administrative Commands
Administrative Commands
| Command | Aliases | Description | Permission | |--------------------------------|-------------------|-----------------------------------|-------------------------------------------------| | `/gamemode [mode] (player)` | `/gm` | Change gamemode | `serversystem.admin.command.gamemode.use` | | `/gms (player)` | - | Set survival mode | `serversystem.admin.command.gamemode.survival` | | `/gmc (player)` | - | Set creative mode | `serversystem.admin.command.gamemode.creative` | | `/gma (player)` | - | Set adventure mode | `serversystem.admin.command.gamemode.adventure` | | `/gmsp (player)` | - | Set spectator mode | `serversystem.admin.command.gamemode.spectator` | | `/time [time] (world)` | - | Set world time | `serversystem.admin.command.time.use` | | `/day (world)` | - | Set time to day | `serversystem.admin.command.time.use` | | `/night (world)` | - | Set time to night | `serversystem.admin.command.time.use` | | `/noon (world)` | - | Set time to noon | `serversystem.admin.command.time.use` | | `/midnight (world)` | - | Set time to midnight | `serversystem.admin.command.time.use` | | `/weather [type] (world)` | - | Change weather | `serversystem.admin.command.weather.use` | | `/sun (world)` | - | Set sunny weather | `serversystem.admin.command.weather.use` | | `/rain (world)` | - | Set rainy weather | `serversystem.admin.command.weather.use` | | `/storm (world)` | - | Set stormy weather | `serversystem.admin.command.weather.use` | | `/sudo [player] [command]` | - | Execute command as another player | `serversystem.admin.command.sudo.use` | | `/unlimited (player)` | - | Toggle unlimited items | `serversystem.admin.command.unlimited.use` | | `/speed [1-10] (player)` | - | Set player speed | `serversystem.admin.command.speed.use` | | `/flyspeed [1-10] (player)` | `/speedfly` | Set fly speed | `serversystem.admin.command.speed.use` | | `/walkspeed [1-10] (player)` | `/speedwalk` | Set walk speed | `serversystem.admin.command.speed.use` | | `/lightning (player) (visual)` | `/thor`, `/smite` | Strike lightning at target | `serversystem.admin.command.lightning.use` |
Teleportation Commands
Teleportation Commands
| Command | Aliases | Description | Permission | |---------------------------------------|------------|---------------------------------------|-----------------------------------------------------------| | `/teleport [player] (target)` | `/tp` | Teleport to player or location | `serversystem.support.command.teleport.use` | | `/tppos [x] [y] [z] (world) (player)` | - | Teleport to coordinates | `serversystem.support.command.teleportposition.use` | | `/tphere [player]` | - | Teleport player to you | `serversystem.support.command.teleporthere.use` | | `/tpall (world)` | - | Teleport all players to you | `serversystem.admin.command.teleportall.use` | | `/tpa [player]` | - | Request teleport to player | `serversystem.command.teleportask.use` | | `/tpahere [player]` | - | Request player teleport to you | `serversystem.command.teleporthereask.use` | | `/tpaccept` | - | Accept teleport request | `serversystem.command.teleportaccept.use` | | `/tpdeny` | - | Deny teleport request | `serversystem.command.teleportdeny.use` | | `/tptoggle (player)` | - | Toggle teleport requests | `serversystem.command.teleporttoggle.use` | | `/back` | - | Return to previous location | `serversystem.command.back.use` | | `/offlinetp [player]` | `/otp` | Teleport to offline player's location | `serversystem.moderation.command.offlineteleport.use` | | `/offlinetphere [player]` | `/otphere` | Teleport offline player to you | `serversystem.moderation.command.offlineteleporthere.use` |
Economy Commands
Economy Commands
| Command | Aliases | Description | Permission | |----------------------------------------------|-----------|-----------------------|------------------------------------------| | `/balance (player)` | `/money` | Check balance | `serversystem.command.balance.use` | | `/balancetop` | `/baltop` | View top balances | `serversystem.command.baltop.use` | | `/pay [player] [amount]` | - | Send money to player | `serversystem.command.pay.use` | | `/economy [set/give/take] [player] [amount]` | `/eco` | Manage player economy | `serversystem.admin.command.economy.use` |
Moderation Commands
Moderation Commands
| Command | Aliases | Description | Permission | |----------------------------------|-----------------|-----------------------------|------------------------------------------------------| | `/ban [player] (reason)` | - | Ban a player | `serversystem.moderation.ban.use` | | `/unban [player]` | `/pardon` | Unban a player | `serversystem.moderation.ban.remove` | | `/mute [player] (time) (reason)` | - | Mute a player | `serversystem.moderation.mute.use` | | `/unmute [player]` | - | Unmute a player | `serversystem.moderation.mute.remove` | | `/shadowmute [player]` | - | Shadow mute a player | `serversystem.moderation.mute.shadow` | | `/vanish (player)` | `/v` | Toggle vanish mode | `serversystem.moderation.command.vanish.use` | | `/commandspy (player)` | - | Toggle command spy | `serversystem.moderation.command.commandspy.use` | | `/clearchat` | `/cc` | Clear chat for all players | `serversystem.moderation.command.clearchat.use` | | `/broadcast [message]` | `/bc` | Broadcast message to server | `serversystem.moderation.command.broadcast.use` | | `/clearinventory (player)` | `/clear`, `/ci` | Clear player inventory | `serversystem.moderation.command.clearinventory.use` | | `/ip [player]` | - | View player's IP address | `serversystem.moderation.command.ip.use` | | `/socialspy (player)` | - | Toggle social spy mode | `serversystem.moderation.command.socialspy.use` |
Utility Commands
Utility Commands
| Command | Aliases | Description | Permission | |-------------------------------|------------------------|-----------------------------------|------------------------------------------------------| | `/workbench` | `/craft`, `/wb` | Open crafting table | `serversystem.command.workbench.use` | | `/anvil` | - | Open anvil interface | `serversystem.command.anvil.use` | | `/smithing` | - | Open smithing table | `serversystem.command.smithing.use` | | `/loom` | - | Open loom interface | `serversystem.command.loom.use` | | `/grindstone` | - | Open grindstone interface | `serversystem.command.grindstone.use` | | `/cartography` | - | Open cartography table | `serversystem.command.cartography.use` | | `/stonecutter` | - | Open stonecutter interface | `serversystem.command.stonecutter.use` | | `/disposal` | `/trash`, `/trashcan` | Open disposal interface | `serversystem.command.disposal.use` | | `/enderchest (player)` | `/ec` | Open ender chest | `serversystem.command.enderchest.use` | | `/offlineenderchest [player]` | `/oenderchest`, `/oec` | Open offline player's ender chest | `serversystem.admin.command.offlineenderchest.use` | | `/invsee [player]` | - | View player's inventory | `serversystem.command.inventorysee.use` | | `/offlineinvsee [player]` | `/oinvsee` | View offline player's inventory | `serversystem.admin.command.offlineinventorysee.use` | | `/smelt` | - | Smelt items in inventory | `serversystem.command.smelt.use` | | `/stack` | - | Stack items in inventory | `serversystem.admin.command.stack.use` | | `/repair (all)` | - | Repair items in hand or all | `serversystem.admin.command.repair.use` | | `/skull (player)` | - | Get player skull | `serversystem.admin.command.skull.use` | | `/ping (player)` | - | Check ping | `serversystem.command.ping.use` | | `/seen [player]` | - | Check when player was last online | `serversystem.support.command.seen.use` | | `/god (player)` | - | Toggle god mode | `serversystem.support.command.god.use` | | `/fly (player)` | - | Toggle flight | `serversystem.support.command.fly.use` | | `/heal (player)` | - | Heal player | `serversystem.support.command.heal.use` | | `/feed (player)` | - | Feed player | `serversystem.support.command.feed.use` | | `/hat` | - | Wear item in hand as hat | `serversystem.command.hat.use` | | `/rename [name]` | - | Rename item in hand | `serversystem.command.rename.use` | | `/sign [message]` | - | Sign item in hand with message | `serversystem.command.sign.use` | | `/unsign` | - | Remove signature from item | `serversystem.command.unsign.use` |
Home & Warp Commands
Home & Warp Commands
| Command | Aliases | Description | Permission | |---------------------------------|---------|---------------------------|-----------------------------------------------| | `/spawn (player)` | - | Teleport to spawn | `serversystem.command.spawn.use` | | `/setspawn` | - | Set server spawn | `serversystem.admin.command.spawn.set` | | `/home [name]` | - | Teleport to home | `serversystem.command.home.use` | | `/sethome [name]` | - | Set home location | `serversystem.command.home.set` | | `/delhome [name]` | - | Delete home | `serversystem.command.home.delete` | | `/adminhome [player] [name]` | - | Teleport to player's home | `serversystem.moderation.command.home.use` | | `/adminsethome [player] [name]` | - | Set home for player | `serversystem.moderation.command.home.set` | | `/admindelhome [player] [name]` | - | Delete player's home | `serversystem.moderation.command.home.delete` | | `/warp [name]` | - | Teleport to warp | `serversystem.command.warp.use` | | `/setwarp [name]` | - | Create warp | `serversystem.admin.command.warp.set` | | `/delwarp [name]` | - | Delete warp | `serversystem.admin.command.warp.delete` |
Communication Commands
Communication Commands
| Command | Aliases | Description | Permission | |---------------------------|---------------------|--------------------------|---------------------------------------------| | `/msg [player] [message]` | `/tell`, `/whisper` | Send private message | `serversystem.command.privatemessage.use` | | `/reply [message]` | `/r` | Reply to last message | `serversystem.command.privatemessage.use` | | `/msgtoggle (player)` | - | Toggle private messages | `serversystem.command.messagetoggle.use` | | `/teamchat [message]` | `/tc` | Send team chat message | `serversystem.support.command.teamchat.use` | | `/ignore [player]` | - | Ignore player messages | `serversystem.command.ignore.use` | | `/unignore [player]` | - | Unignore player messages | `serversystem.command.unignore.use` |
Kit Commands
Kit Commands
| Command | Aliases | Description | Permission | |------------------------|---------|---------------------------|-----------------------------------------| | `/kit [name] (player)` | - | Give kit to player | `serversystem.command.kit.use` | | `/createkit [name]` | - | Create kit from inventory | `serversystem.admin.command.kit.create` | | `/deletekit [name]` | - | Delete kit | `serversystem.admin.command.kit.delete` |
Miscellaneous Commands
Miscellaneous Commands
| Command | Aliases | Description | Permission | |----------------------|---------|------------------------------------|----------------------------------------------| | `/language [lang]` | - | Change language | `serversystem.command.language.use` | | `/signcost` | - | Manage sign costs | `serversystem.admin.command.signcost.use` | | `/drop (player)` | - | Toggle item dropping in vanish | `serversystem.moderation.command.vanish.use` | | `/pickup (player)` | - | Toggle item pickup in vanish | `serversystem.moderation.command.vanish.use` | | `/interact (player)` | - | Toggle block interaction in vanish | `serversystem.moderation.command.vanish.use` | | `/message (player)` | - | Toggle messaging ability in vanish | `serversystem.moderation.command.vanish.use` |
Permissions
ServerSystem groups permissions into the following main categories:
- `serversystem.admin.*` - Full administrative access - `serversystem.moderation.*` - Moderation tools - `serversystem.support.*` - Support/helper permissions - `serversystem.command.*` - Basic command permissions
Most permissions suitable for everyday player usage are already given by default.
This means that players can use these commands out of the box (e.g. `/home`)
You can set any permission to (not) be required inside the `permissions.yml` file.
Permission Levels
- Player: Full server control (gamemode, time, weather, economy, etc.) - Player: Player management (ban, mute, vanish, etc.) - Player: Helper tools (teleport, heal, god mode, etc.) - Player: Basic commands (homes, warps, messaging, etc.)
Special Permissions
- `serversystem.homes.unlimited` - Unlimited homes - `serversystem.homes.<number>` - Specific home limit - `serversystem.chat.colored` - Use color codes in chat - `serversystem.command.teleportask.instant` - Instant teleport without delay
Clickable Signs
The plugin supports interactive signs for various functions:
- Warp Signs: Give items to players - Warp Signs: Provide kits to players - Warp Signs: Change server time - Warp Signs: Change server weather - Warp Signs: Teleport to warps
Each sign type has create/destroy permissions for administrators.
Data Migration
While Pre-Rewrite (2.x.x) ServerSystem supported migrating from or to Essentials, 3.x.x, as of 18. July 2025, does not.
The reason for this is simple. I just didn't get to it before I deemed the plugin Release-Ready.
PlaceholderAPI
This plugin has support for PlaceholderAPI. You can use it's placeholders in ServerSystem's messages or use the ones ServerSystem adds:
- `%serversystem_onlineplayers%` -> Shows the online player count, excluding vanished players, if the target cannot see vanished players - `%serversystem_balance%` (`%serversystem_balance_<playername>%`) -> Shows the formatted balance for a player - `%serversystem_unformattedbalance%` (`%serversystem_unformattedbalance_<playername>%`) -> Shows the *unformatted* balance for a player - `%serversystem_baltop_name_<number>%` -> Shows the name of place <number> in baltop (1 - 10 only!) - `%serversystem_baltop_balance_<number>%` -> Shows the formatted balance of place <number> in baltop (1 - 10 only!) - `%serversystem_baltop_unformattedsbalance_<number>%` -> Shows the *unformatted* balance of place <number> in baltop (1 - 10 only!)
Auto Updates
As a user, you can disable Auto-Updates via the `config.yml`.
If you are a server hoster or just want to use JVM Flags, you can do the same like this: `java -Dserversystem.disable-auto-download=true -jar server.jar`