Compatibility
Minecraft: Java Edition
Platforms
Supported environments
Links
Tags
Creators
Details
Minecraft ServerControl
ServerControl is a paired Minecraft Java Edition 1.21.11 project:
fabric-client: Fabric client mod that obeys server-authoritative restrictions and blocks the tab list locally.paper-plugin: Paper plugin that owns the settings, enforces server-side chat/message rules, verifies the client mod during a short protected join window, and syncs live updates.
Get started
Once you have put the plugin in your Plugins folder and you and your friends have dowloaded the Fabric mod you can give yourself Oprator and use the command /servercontrol gui to open the main control panel where you can use all the confing of the mod. Hovering over a setting shows what it will do if it is Enabled or Disabled.
The Fabric mod will not work on the server, the Paper Plugin is only for the server and the Fabric Mod is only for the client!
The Fabric mod will act as if its not even there if not connected to a server with the plugin.
If you know how to use Luckperms (or another permission plugin), scroll down to the bottom to see permission.
Configuration
The Paper plugin creates plugins/ServerControl/config.yml:
features:
tab-list: true
public-chat: true
death-messages: true
join-messages: true
quit-messages: true
advancement-messages: true
armor-damage: false
death-sound: false
custom-death-sound: false
mechanics:
# Hearts per second, 0 to 5 in 0.5-step increments.
armor-damage-hearts-per-second: 1.0
armor-damage-items:
mob-heads: false
carved-pumpkins: false
elytras: false
death-sound-volume-percent: 100.0
custom-death-sound-file: "sounds/death.mp3"
custom-death-sound-chunk-bytes: 16000
custom-death-sound-chunks-per-tick: 4
client-assets:
server-id: ""
handshake:
timeout-millis: 5000
kick-message: "<red>This server requires the ServerControl Fabric client mod.</red>"
Message/tab feature values use normal on/off semantics. For example, public-chat: false blocks normal player chat, while operator commands and /say still work. Gameplay effects like armor-damage, death-sound, and custom-death-sound are active when set to true. Mob heads, carved pumpkins, and elytras have separate armor-damage toggles in the Death Options GUI; they are forced off while armor-damage is off. Custom death sounds can only be toggled while death-sound is on; when custom death sounds are off, ServerControl plays the default Iron Golem death sound. death-sound-volume-percent controls the custom MP3 only; the Iron Golem fallback always plays at normal volume.
To replace the Iron Golem death sound with a custom sound, put an MP3 file at plugins/ServerControl/sounds/death.mp3 and use the GUI reload button. MP4/AAC files are not decoded by the bundled client player; if one is uploaded, or if the file is larger than the 20 MB client transfer limit, the plugin falls back to the vanilla Iron Golem death sound and tells the GUI user when no valid MP3 is found. The plugin watches the file every few seconds and can send replacements to connected Fabric clients immediately when reloaded. The generated client-assets.server-id keeps the client's cached sound tied to this server even if the IP changes. The custom client sound ignores Minecraft category sliders and only respects Master Volume being set to 0/off. Operators can also use the GUI Settings page for custom MP3 volume and the Naked And Afraid preset.
Commands
/servercontrol gui
/servercontrol status
/servercontrol reload
/servercontrol chat on
/servercontrol chat off
/servercontrol tab on
/servercontrol tab off
/servercontrol death off
/servercontrol join off
/servercontrol quit off
/servercontrol advancement off
Operators have full access by default. Non-operators need servercontrol.gui to open the dialog GUI; inside the GUI they only see buttons for the existing feature permissions they have. If they only have the GUI permission and no feature permissions, the GUI opens with no setting buttons. servercontrol.settings gives access to every option in the Settings GUI page, including custom MP3 volume and Naked And Afraid Mode. Manual commands are intentionally limited to the examples above; the remaining permissions expose GUI controls only:
servercontrol.all
servercontrol.command
servercontrol.gui
servercontrol.settings
servercontrol.command.status
servercontrol.command.reload
servercontrol.command.chat
servercontrol.command.tab
servercontrol.command.death
servercontrol.command.join
servercontrol.command.quit
servercontrol.command.advancement
servercontrol.command.armor-damage
servercontrol.command.armor-damage-amount
servercontrol.command.death-sound
servercontrol.command.custom-death-sound
servercontrol.command.reload-death-sound
The GUI will change to show what perms a player has access to, to open the GUI the player either needs OP, servercontrol.all or servercontrol.gui. Keep in mind that servercontrol.gui will give the player access to the GUI but none of the options inside, you need to give the specific perms for the options in it.


