♖ServerDefence♖ | Protect account & Block commands & Perms checker & Mod/Client detector &DiscordBot
SpigotMCProtect your server and admin accounts from hacking
2.1k завантажень 4.3 рейтинг
остання v3.4 SpigotMC
ServerDefence
⚠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.
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
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
/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:
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:
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:
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:
Code (YAML):
cmds :
- /?
- /help
- /about
- /ver
- /pl
- /plugins
- /op
- /deop
- /save- all
permission-only:
admin :
- /kick
Коментарі 0
Поки немає коментарів. Будь першим, хто поділиться думкою.