- Tested Minecraft Versions:
- 1.8
- 1.9
- 1.10
- 1.11
- 1.12
- Source Code:
- https://github.com/Mas281/ForgeModBlocker
- Contributors:
- Mas (developer + author), Okx (code contributions)
ForgeModBlockerWhat is it?
Take control over the mods used on your server
ForgeModBlocker is a configurable plugin allowing you to allow or disallow the use of certain Forge mods on your Spigot server. This is the first fully customisable and completely free plugin of its kind.
Dependencies
ForgeModBlocker no longer requires any plugin dependencies in order to run!
ForgeModBlocker does however require at least Java 8 to run. If you are still on Java 7, now is the time to update (or ask your host to)!
Config
Here is the current config file for the plugin:
If there is an update which makes additions to the config, you will need to delete your config file upon installing the update. It will be regenerated with the new options.
Blocking Mods
To add a mod to the mods list in the config, you must find its mod ID. You can do this by opening Forge with the mod installed, clicking "Mods" on the title screen, finding the mod and looking at the "Mod ID" field:
Mod IDs are case sensitive
There are also some hacked clients which work through acting as Forge mods. If you add any these mods to the config, you can reliably ban for them.
Features
- Configurable:
Choose as many mods as you like to whitelist or blacklist and deicde what happens when a player uses disallowed mods.
- Lightweight:
ForgeModBlocker won't have any impact on your server performance.
- Cross-Version Compatible:
ForgeModBlocker will work on all Spigot versions 1.8.8 and above, and will most likely automatically support any future versions.
Versions lower than 1.8.8 are not supported and there are no plans to ever support them.
- Free:
Unlike any other Forge mod detector out there (at the time of release), this is the only fully configurable and customisable Forge mod blocker where all functions are available for free!
Commands and Permissions
/fmb
Main command, shows the mod version and lists subcommands.
Permission: fmb.main_command
/fmb reload
Reloads the plugin
Permission: fmb.reload_command
/mods <player>
Lists a player's loaded mods
Permission: fmb.mods_command
Other Permissions
fmb.*
Gives all plugin permissions
This permission is not given to opped players by default
fmb.update_notification
Players with this permission will receive notifications for available plugin updates
fmb.bypass
Users with this permission will be exempt from the mod whitelist/blacklist
This permission is not given to opped players by default
Additional Notes
ForgeModBlocker uses an auto-update system to keep you up-to-date on the latest plugin version without having to do anything! Players with the "fmb.update_notification" permission will be alerted when a new update is available and the plugin will attempt to download it.
If a plugin update cannot be downloaded, the plugin will re-attempt the download twice before giving up. Players with permission will be given an alert informing them that a new version is available.
The plugin also uses bStats to record metrics about servers the plugin is run on. Information such as your server IP is not recorded.
If you really don't want to contribute metrics from your server, you can disable them by opening the /plugins/bStats/config.yml file and setting "enabled" to false.
After a player joins, there will be a small delay before their mods are detected and the commands are executed upon them (if needed). Unfortunately, it just isn't possible to completely remove this delay and still detect the player's mods.
Finally, although ForgeModBlocker will detect a user's mods with 100% accuracy in the common scenario - it is possible to bypass the system in multiple ways which cannot be prevented.
PlaceholderAPI
As well as all the above, ForgeModBlocker can hook into PlaceholderAPI if it is installed on your server.
Placeholders are registered under the "forgemodblocker" id.
Usable placeholders:
- forge: Whether a player is using forge - Returns "true" or "false"
- mods: All the mods a player is using - Eg: FML, mcp, Forge
Future Features
- Developer API
If you have any ideas for any new features for ForgeModBlocker, please suggest them either in the "Discussion" tab or in a review.
Source Code & License
The source code for this project can be found on my GitHub:
https://github.com/Mas281/ForgeModBlocker
Any code issues/suggestions should be made with Issues or Pull Requests.
ForgeModBlocker project is licensed under Mozilla Public License 2.0
Simple terms:
- If you wish to use code from my plugin, you can, provided that you leave credit and a link to the original project.
- If you use my code and make any changes, that's okay, as long as you again leave credit, and also open source the changes you make.
Reviews
Reviews are not the place to complain about errors, they are for constructive feedback. All constructive and helpful reviews are encouraged
Errors can be fixed much more quickly if you either PM them to me or send them in the Discussion tab.
-
We are planning scheduled maintenance on this website on Friday 5 March at 4:00 am UTC. It is estimated that this maintenance will last 15 minutes. You can view this time in your local timezone here. Thanks.Dismiss Notice

ForgeModBlocker 1.3.1
Control which mods your players can use
-
wolfiediamond, Luisomar0369, Secil and 5 others like this.
Recent Updates
- Change jar host (requires manual download from spigotmc.org) Jan 12, 2018
- Reload Command Oct 8, 2017
- Command Formatting Fix Oct 7, 2017
Recent Reviews
-
Gynzel
- 1/5,
[17:46:27] [Server thread/ERROR]: Error occurred while enabling ForgeModBlocker v1.3.1 (Is it up to date?)
java.lang.NoClassDefFoundError: me/clip/placeholderapi/external/EZPlaceholderHook
at java.lang.ClassLoader.defineClass1(Native Method) ~[?:?]
at java.lang.ClassLoader.defineClass(ClassLoader.java:1016) ~[?:?]
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:151) ~[?:?]
at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:163) ~[spigot.jar:git-Spigot-5bde311-b5eb2f5]
at org.bukkit.plugin.java.JavaPluginLoader.getClassByName(JavaPluginLoader.java:202) ~[spigot.jar:git-Spigot-5bde311-b5eb2f5]
at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:107) ~[spigot.jar:git-Spigot-5bde311-b5eb2f5]
at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:96) ~[spigot.jar:git-Spigot-5bde311-b5eb2f5]
at java.lang.ClassLoader.loadClass(ClassLoader.java:589) ~[?:?]
at java.lang.ClassLoader.loadClass(ClassLoader.java:522) ~[?:?]
at me.itsmas.forgemodblocker.ForgeModBlocker.onEnable(ForgeModBlocker.java:36) ~[?:?]
at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:263) ~[spigot.jar:git-Spigot-5bde311-b5eb2f5]
at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:351) ~[spigot.jar:git-Spigot-5bde311-b5eb2f5]
at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:480) ~[spigot.jar:git-Spigot-5bde311-b5eb2f5]
at org.bukkit.craftbukkit.v1_16_R3.CraftServer.enablePlugin(CraftServer.java:494) ~[spigot.jar:git-Spigot-5bde311-b5eb2f5]
at org.bukkit.craftbukkit.v1_16_R3.CraftServer.enablePlugins(CraftServer.java:408) ~[spigot.jar:git-Spigot-5bde311-b5eb2f5]
at net.minecraft.server.v1_16_R3.MinecraftServer.loadWorld(MinecraftServer.java:435) ~[spigot.jar:git-Spigot-5bde311-b5eb2f5]
at net.minecraft.server.v1_16_R3.DedicatedServer.init(DedicatedServer.java:218) ~[spigot.jar:git-Spigot-5bde311-b5eb2f5]
at net.minecraft.server.v1_16_R3.MinecraftServer.w(MinecraftServer.java:809) ~[spigot.jar:git-Spigot-5bde311-b5eb2f5]
at net.minecraft.server.v1_16_R3.MinecraftServer.lambda$0(MinecraftServer.java:164) ~[spigot.jar:git-Spigot-5bde311-b5eb2f5]
at java.lang.Thread.run(Thread.java:832) [?:?]
Caused by: java.lang.ClassNotFoundException: me.clip.placeholderapi.external.EZPlaceholderHook
at java.net.URLClassLoader.findClass(URLClassLoader.java:435) ~[?:?]
at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:167) ~[spigot.jar:git-Spigot-5bde311-b5eb2f5]
at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:96) ~[spigot.jar:git-Spigot-5bde311-b5eb2f5]
at java.lang.ClassLoader.loadClass(ClassLoader.java:589) ~[?:?]
at java.lang.ClassLoader.loadClass(ClassLoader.java:522) ~[?:?]
... 20 more -
jeesh1230
- 3/5,
please update for 1.15.2
.......................................................... -
Nacho4785
- 2/5,
Doesn't work in bungeecord.
.
.
.
.
.
.
................................................. -
extral1f3
- 5/5,
PLEASE UPDATE FOR USE WITH BUNGEECORD!!!!!! This is a WONDERFUL plugin! Give us the rest of it :)
-
xibo1212
- 5/5,
The plugin is excellent! But Xray is not in the mod list. How to find his name? I tried several names, but none of them worked.
-
IAlekseyI
- 1/5,
The plugin is excellent! But does not work with Bungee. As soon as the problem is eliminated, I will put a score of 5.
-
LovesAsuna
- 3/5,
This plugin work well on spigot server.But it seem that it can't work with bungeecord server.When I use <mods (player)>server answer I don't use forge,but I am actually using Forge
-
Burnszh
- 5/5,
Add My Server On Server Using ForgeModBlocker
mc.claracraft.net
I Like This Plugin Dude, Thank you! -
talyakuza
- 5/5,
nice plugin but not work on 1.7.10 my friend can't use this plugin
but for me is GOOD WORK GUY-
Author's Response
Hi, thanks for your review! There are currently no plans to support versions lower than 1.8.
-
BSHeep87
- 5/5,
This plugin would be alright if it would work it always says is not using forge This server is running Paper version of git-paper-1301 (MC: 1.12.2) (Implementing API version 1.12.2-R0.1-SNAPSHOT)
and running in a network with bungeecord online and paper as offline i reset my rate if the plugin works for me thanks ps: my server is a german server mc.FamilySky.me with 30-40 votes/player per day
edit:
its dont work with Bungecord :(