Home›Java›Mods›♖ServerDefence♖ | Protect account & Block commands & Perms checker & Mod/Client detector &DiscordBot
ModsJava
♖ServerDefence♖ | Protect account & Block commands & Perms checker & Mod/Client detector &DiscordBot
ServerDefence
⚠ProtocolLibrary required for versions below 1.13⚠
Just write this:
/sd setPlayer [name] [public ip]
That's it! This command adds the player to the admin list. Every time this player log in, plugin checks his IP address and kicks him if he has different from saved.
Also, per 10 ticks plugin asynchronously checks permissions of all players currently online
Player (who wasn't added to the admin list) will be kicked if he is the OP or has the permission added to the PermsCheker.permissions list
Permissions that plugin checks can be customized in config.yml
This feature saved my project uncountable amount of times, because if you have a vulnerability, that can be used to get admin permission, hacker won't be able to take a benefit from it
(don't forget to enable CommandBlocker in config.yml)
If you want, you can block specific argument of a command
( '//we calc' will block calc argument of the command /we)
You can even specify the permission, which the player will require to execute the command
To do that, u need to enable TabBlocker in config.yml and add the command to the tab_blocked-cmds.yml
Moreover, you can remove command from commandSuggestion list if a player doesn't have permission you specified
Once, my project was hacked via commandSuggestion vulnerability, that crashes my server.
aaaand I just added command the hacker used to the tab_blocked-cmds.yml
How does it work?
/verify
/unverify
/set_ip
/current_ip
Setup:
- Login to the already online account fix
Get your public IP: http://checkip.amazonaws.com/
Now you can setup plugin however you want
-----------------------------INFO-----------------------------
All Commands:
Permissions:
Preview config file:
Preview lang file:
Preview blocked-cmds and tab_blocked-cmds file:
⚠ProtocolLibrary required for versions below 1.13⚠
------------------------FEATURES-------------------------
- ♖Prevent login to admin accounts
Just write this:
/sd setPlayer [name] [public ip]
That's it! This command adds the player to the admin list. Every time this player log in, plugin checks his IP address and kicks him if he has different from saved.
Spoiler: But wait! My IP address changes pretty often, it's inconvenient!
usually IP address changes after final dot ( 123.123.123.xxxx ),
of course If
you are not connecting every day to the different internet provider.
Knowing that, I have implemented possibility to enter part of an IP address
examples:
/sd setPlayer [name] 123.113.212
/sd setPlayer [name] 123.143
/sd setPlayer [name] 153
Plugin will only check part of an IP address you entered
Attention! The best way to protect account is to enter whole IP address
you are not connecting every day to the different internet provider.
Knowing that, I have implemented possibility to enter part of an IP address
examples:
/sd setPlayer [name] 123.113.212
/sd setPlayer [name] 123.143
/sd setPlayer [name] 153
Plugin will only check part of an IP address you entered
Attention! The best way to protect account is to enter whole IP address
- ♖Permission protection
Also, per 10 ticks plugin asynchronously checks permissions of all players currently online
Player (who wasn't added to the admin list) will be kicked if he is the OP or has the permission added to the PermsCheker.permissions list
Permissions that plugin checks can be customized in config.yml
This feature saved my project uncountable amount of times, because if you have a vulnerability, that can be used to get admin permission, hacker won't be able to take a benefit from it
- ♖Disable dangerous commands
(don't forget to enable CommandBlocker in config.yml)
If you want, you can block specific argument of a command
( '//we calc' will block calc argument of the command /we)
You can even specify the permission, which the player will require to execute the command
- ♖Disable syntax
Spoiler: Want to use specific command with that symbol, but disable others?
Easily!
Add a command to the FixSyntax.whitelist_cmds in config file
FixSyntax:
whitelist_cmds:
- /serverdefence
Add a command to the FixSyntax.whitelist_cmds in config file
FixSyntax:
whitelist_cmds:
- /serverdefence
- ♖Block command suggestions (TAB)
To do that, u need to enable TabBlocker in config.yml and add the command to the tab_blocked-cmds.yml
Moreover, you can remove command from commandSuggestion list if a player doesn't have permission you specified
Once, my project was hacked via commandSuggestion vulnerability, that crashes my server.
aaaand I just added command the hacker used to the tab_blocked-cmds.yml
- ♖Popular Mods/Clients detector
- fabric
- forge
- liteLoader
- rift
- winterWare
- vape
- hyperium
- pixelClient
- lunarClient
- emc
- schematica
- 5zig
- betterSprinting
- worldDownloader
- ♖DiscordBot
How does it work?
- If feature is activated, admin has to complete simple verification by executing DiscordBot command /verify in a guild with that bot.
- Every time admin log in, he has to confirm that it is him via discord by pressing a button which bot will send automatically.
/verify
/unverify
/set_ip
/current_ip
Setup:
- Setup your bot here https://discord.com/developers/applications and add it to your discord guild
- In config DiscordBot.active set to true
- Paste in token of your bot in config (DIscordBot.bot_token)
- Paste in id of the guild where you added your bot (DIscordBot.guildID)
- Paste in id of the guild role which you want to allow to execute commands of the bote (DIscordBot.admin_ds-role)
- Start your server and enjoy ^_^
- ♖Other
- Login to the already online account fix
----------------------INSTALLATION---------------------
- 1) FOR VERSIONS BELOW 1.13 install ProtocolLibrary plugin, if you don't have it
- 2) install .jar file into the /plugins folder, then start/restart server
- 3) add your account to the admin list:
Get your public IP: http://checkip.amazonaws.com/
Now you can setup plugin however you want
-----------------------------INFO-----------------------------
I
'm planning to add:
- ✅ Mods disabler (WorldDownloader, Schematica etc)
- ✅Cheat clients detector
- ✅DiscordBot
- Packets checker
If you have any question/suggestion or found an issue:
Discord guild: https://discord.gg/R2Wk5ZRXxp
Discord guild: https://discord.gg/R2Wk5ZRXxp
Spoiler: Commands
/sd reload - reload plugin files
/sd setPlayer [nickname] [public IP] - adds player to the admin list, or updates IP if a player is already added to the list
/sd removePlayer [nickname] - removes player from admin list
/sd adminList - shows list of admin players
/sd setPlayer [nickname] [public IP] - adds player to the admin list, or updates IP if a player is already added to the list
/sd removePlayer [nickname] - removes player from admin list
/sd adminList - shows list of admin players
Permissions:
Spoiler: permissions
serverDef.admin - allows player to use all commands of this plugin and bypass Client/mod blocker
serverDef.bypass.modBlocker.{CLIENT/MODE_TYPE} - allows player to use client or mode
serverDef.bypass.modBlocker.{CLIENT/MODE_TYPE} - allows player to use client or mode
Preview config file:
Spoiler: Config.yml
metrics : true
#Prevents login to the admin account
CheckIPOnJoin : true
#Kicking of players with unauthorized OP
KickUnauthorizedOp : true
#Blocks commandSuggestion if command is added to the tab_blocked-cmds.yml file
TabBlocker : true
#Blocks command if it is added to the blocked-cmds.yml file
CommandBlocker : true
#Checks whether nickname of a player is linked to a UUID the player has
#If uuid is linked to a different name -> kicks the player
#Useful in cracked servers, in order to fix UUID vulnerabilities
UUIDSpoofFix : true
#Discord bot settings
DiscordBot:
active : false
guildID : your_guild_id
bot_token : your_bot_token
admin_ds-role : id_of_the_role_which_is_allowed_to_use_commands
cmds-on-login :
- deop {player }
cmds-on-verify :
- op {player }
#Permissions which are not allowed for non-admin account
PermsChecker:
active : true
permissions :
- '*'
- server_defence.admin
#Disable all commands containing ':' symbol
FixSyntax:
active : true
whitelist-cmds :
- /serverdefence
modsBlocker:
fabric:
enabled : true
punishment :
- kick {player } &cFabric usage detected
forge:
enabled : true
punishment :
- kick {player } &cForge usage detected
liteLoader:
enabled : true
punishment :
- kick {player } &cLiteLoader usage detected
rift:
enabled : true
punishment :
- kick {player } &cRift usage detected
winterWare:
enabled : true
punishment :
- kick {player } &cWinterWare usage detected
vape:
enabled : true
punishment :
- kick {player } &cVape usage detected
hyperium:
enabled : true
punishment :
- kick {player } &cHyperium usage detected
pixelClient:
enabled : true
punishment :
- kick {player } &cPixelClient usage detected
lunarClient:
enabled : true
punishment :
- kick {player } &cLunarClient usage detected
emc:
enabled : true
punishment :
- kick {player } &cEmc usage detected
schematica:
enabled : true
5zig:
enabled : true
betterSprinting:
enabled : true
worldDownloader:
enabled : true
Code (YAML):
metrics : true
#Prevents login to the admin account
CheckIPOnJoin : true
#Kicking of players with unauthorized OP
KickUnauthorizedOp : true
#Blocks commandSuggestion if command is added to the tab_blocked-cmds.yml file
TabBlocker : true
#Blocks command if it is added to the blocked-cmds.yml file
CommandBlocker : true
#Checks whether nickname of a player is linked to a UUID the player has
#If uuid is linked to a different name -> kicks the player
#Useful in cracked servers, in order to fix UUID vulnerabilities
UUIDSpoofFix : true
#Discord bot settings
DiscordBot:
active : false
guildID : your_guild_id
bot_token : your_bot_token
admin_ds-role : id_of_the_role_which_is_allowed_to_use_commands
cmds-on-login :
- deop {player }
cmds-on-verify :
- op {player }
#Permissions which are not allowed for non-admin account
PermsChecker:
active : true
permissions :
- '*'
- server_defence.admin
#Disable all commands containing ':' symbol
FixSyntax:
active : true
whitelist-cmds :
- /serverdefence
modsBlocker:
fabric:
enabled : true
punishment :
- kick {player } &cFabric usage detected
forge:
enabled : true
punishment :
- kick {player } &cForge usage detected
liteLoader:
enabled : true
punishment :
- kick {player } &cLiteLoader usage detected
rift:
enabled : true
punishment :
- kick {player } &cRift usage detected
winterWare:
enabled : true
punishment :
- kick {player } &cWinterWare usage detected
vape:
enabled : true
punishment :
- kick {player } &cVape usage detected
hyperium:
enabled : true
punishment :
- kick {player } &cHyperium usage detected
pixelClient:
enabled : true
punishment :
- kick {player } &cPixelClient usage detected
lunarClient:
enabled : true
punishment :
- kick {player } &cLunarClient usage detected
emc:
enabled : true
punishment :
- kick {player } &cEmc usage detected
schematica:
enabled : true
5zig:
enabled : true
betterSprinting:
enabled : true
worldDownloader:
enabled : true
Preview lang file:
Spoiler: Lang.yml
Code (YAML):
prefix
: '&7
[&4ServerDefence&7
] '
console_only_cmd : '&cCommand is blocked'
kick_permission : '&cYou are not allowed to have these permissions!'
kick_op : '&cYou are not allowed to have OP!'
kick_already_online : '&cPlayer with your nickname is already connected'
kick_different_ip : '&cThis account is protected'
console_only_cmd : '&cCommand is blocked'
kick_permission : '&cYou are not allowed to have these permissions!'
kick_op : '&cYou are not allowed to have OP!'
kick_already_online : '&cPlayer with your nickname is already connected'
kick_different_ip : '&cThis account is protected'
Preview blocked-cmds and tab_blocked-cmds file:
Spoiler: blocked-cmds.yml/tab-blocked-cmds.yml
cmds :
- /?
- /help
- /about
- /ver
- /pl
- /plugins
- /op
- /deop
- /save- all
permission-only:
admin :
- /kick
Code (YAML):
cmds :
- /?
- /help
- /about
- /ver
- /pl
- /plugins
- /op
- /deop
- /save- all
permission-only:
admin :
- /kick
Quick facts
- Edition: Minecraft Java
- File type: .jar
- Minecraft versions listed: 1.8, 1.9, 1.10
- How to install: Install the matching mod loader (Forge, Fabric or NeoForge) for your Minecraft version. → Download the .jar. → Put it in the .minecraft/mods folder and launch that loader profile.
- Where to get it: Opens on Spigot — not every file is mirrored on our own servers.
Install steps are the general flow for this file type — How to install Minecraft Java mods & modpacks walks through it step by step.
♖ServerDefence♖ | Protect account & Block commands & Perms checker & Mod/Client detector &DiscordBot is a free Minecraft Java mod. Compatible with Minecraft 1.8, 1.9, 1.10, 1.11 and newer. Downloaded 2,089 times (via Spigot). Download it and open it directly in the game.