FairPlayMinecraft (Client-side anticheat)

 FairPlayMinecraft (Client-side anticheat) 5.9.2

FairPlayMinecraft (Client-side anticheat)
Warning
This plugin seems not working right now.
The updates are only for testing.
This is what i get :)
Code:
10.08 00:10:55 [Server] INFO [FairPlayMinecraft] Enabling FairPlayMinecraft v5.9.2
10.08 00:10:55 [Server] INFO [FairPlayMinecraft] Connecting to the main server...
10.08 00:10:55 [Server] INFO [FairPlayMinecraft] Plugin has been modified!
10.08 00:10:55 [Server] INFO [FairPlayMinecraft] Successfully connected to the main server!
10.08 00:10:55 [Server] INFO [FairPlayMinecraft] FairPlayMinecraft is enabled! (5.9.2)

qnuhOHx.png

Do cheaters on your server ruin the gameplay for players that are playing legit, and therefore legit players are going away from your server? You don't have enough time to monitor all the players on your server nor the will to do it? Well, congratulations, you just found a great plugin to put all your worries away!

qfEmhfe.png


FairPlayMinecraft is a client-side anticheat system which eliminates cheaters on a Minecraft server with ease. Players are being checked client side, which means the checks are not done on the server which results zero lag to the server.

ulnfKMd.png


The server is always running the latest plugin version.
IP: 89.34.96.15:25589 (running on version 1.10.2 with online mode set to true)
Server provided by:


PeIsP01.png

  • fast and lightweight - players are being checked client side, which means the checks are not done on the server which results zero lag to the server
  • you can choose which versions (clients) and mods your players will be able to join with
  • your players can be asked to go through the check on every join OR they can be asked to go through the check only if you run /fpmc check <nick> command on them
  • active development - this project is being actively developed. I am open for new feature requests and of course for bug reports
  • You can see using which clients players joined with using command /fpmc p <nick> <page number>(http://i.imgur.com/NBlJ1ax.png)
4xmUVfs.png


Here is a video preview for the system in an early beta version I made a while ago (I am planning to make a new, updated one) so you can see how it works:


The system consists of three parts:

1. Spigot/CraftBukkit plugin
This part checks if player has ran the application which is used to scan if player has hacked client installed. Before running the application, player has restricted access to the server (eg. he is not allowed to move, to execute commands... - all that can be configured). When player runs the application which scans its Minecraft installation, the data is sent to the main server and then to the Spigot plugin. So the plugin receives the results and let the player play if it doesn't have any cheats installed, or run a command from configuration file if player has a cheat.

2. The application
The application scans player's Minecraft to see if he/she is running a cheat/hacked client. After that, it sends the results to the server which then does the rest.

3. Main server
The main server is used for the updating system and as a communication between the application and the plugin. It also sends the cheats filter to the application which allows it to determine if player is playing with cheats.

Some of you may think that this is a funny and unusual way of eliminating cheaters but, trust me, it is a good and precise way. I have been running a server with an average of 150 online players with this system. Although many of my players were young, they didn't have difficulties understanding what they have to do in order to play on the server. I must say that my players were very happy about that system because they could (finally) play normally, without cheaters. Also, my staff team had less to do - they did not have to monitor all the players one by one.

YPNVblI.png


1.
Download the plugin. It will be in a .zip format. After you upack it, you will see two files - FPMC_plugin.jar and FPMC.exe.
2. Put FPMC_plugin.jar in your "plugins" folder and restart your server. A config file and a welcome.txt will be generated at the following location: plugins/FairPlayMinecraft/.
3. Modify the configuration and welcome file as you wish and restart the server. Welcome file defines the message that will be sent to player that joins the server asking him to run the application.
4. FPMC.exe is the application which has to be ran in order to play on the server. You can upload it somewhere and provide a link to your players or you can just give them this link:
http://fairplayminecraft.com/download.php

AnyDVLW.png




I totally recommend Nitrous Networks, not just because they are sponsoring this project but because I used their services when I had a server running and I can really say they are the best of all that I tried (tried like 5-6 hosting companies). Fast answering and polite support team, excellent performance and great network!
Go with this guys, you won't go wrong :)

zNKZbkW.png


Q: Will FPMC.exe make harm to my computer? My antivirus software detects it as malicious!
A: FPMC.exe will not make harm to your computer in any way. If your antivirus software flags it as a crap, please contact me so I can report the false-positive to the antivirus software company.
Here is VirusTotal report for the application - https://www.virustotal.com/hr/file/...56fea78eb840315d9dd1781c/analysis/1478883512/

Q: I have multiple BungeeCord instances and the plugin does not work properly for me, did I do something wrong?
A: You did not configure the plugin correctly. If you have multiple BungeeCord instances running, you have to list all the instance's IPs in plugin's configuration file under "multiple_ips" in format IP: PORT (without the space between : and P, I have added that space because if I didn't, a smiley would have appeared)

IhMPTsa.png


Many servers are practicing asking players which they suspect are using a cheat to give them a screen share (via Skype, Screenleap or something else). In other words, they are asking players to show them the screen of their computer so they can see if they are really using a cheat. The problem in that is that admins then have to wait for the players to give them a screen share and they can hardly check more then one player at the time.

If you set "check_command_enabled" to true in the configuration file, players will not have to go through the check (run the application) on every join, but only when an admin asks them to do so. For example, an admin suspects that player "abcd" is using cheats. He will then execute command /fpmc check abcd so the player abcd would have to go through the check - he will be asked to run the application and he will have restricted access (he won't be able to move, to execute commands and so on) until he does.

MDMtN4B.png

Code:
##################################################################################################################################
#                                              FairPlayMinecraft configuration file                                              #
#                                                                                                                                #
# If you need any help regarding the plugin feel free to contact me here: https://www.spigotmc.org/conversations/add?to=Lubenica #
##################################################################################################################################

# Do you want your players to be asked for the check on join?
check_on_join: true
# Do you want to be able to use /fpmc check <nick> command instead of forcing players to go through the check on join?
# This could be a better and simplier alternative to screensharing many servers are nowadays using to check their players for cheats
check_command_enabled: false
# Remove player from checking queue (if he was added to it using /fpmc check <nick> command) when he leaves the server
remove_from_queue_on_leave: false
# Set to true if you want the checking process to be optional.
checking_optional: false
# Do you want a command to be executed if player doesn't finish the checking within a specified time
command_if_not_done:
    # Set to true to enable
    enabled: false
    # Which commands will be executed (%player% replaces player's name)
    commands:
     - ''
     - ''
    # If the player doesn't finish the check within a time, the specified command will be executed (in seconds!)
    time: 60
# Set to true for things that you would like to be forbidden while waiting for player to run the application
restrictions:
    # Players won't be able to move when set to true
    movement: true
    # Players won't be able to send messages when set to true
    chat: false
    # Players won't be able to execute commands when set to true
    commands: true
    # Players won't be able to throw items from inventory when set to true
    protect_inventory: true
    # Players won't be able to interact with signs, buttons etc. when set to true
    interactions: true
    # Players won't be attacked by monsters when set to true
    protect_from_monsters: true
    # Players won't be able to open the inventory when set to true
    inventory_open: true
# Message that will be sent to the player after he goes through the check and doesn't have a cheat
messages:
    success: '&aThank you! You can play now and have fun =)'
# Command(s) that will be executed if player tries to join the server using cheats
punishment:
    command:
     - 'kick %player% Cheats are not allowed on this server!'
     - ''
     - ''
# Command(s) that will be executed if player does not have a cheat
no_cheat_command:
   - ''
   - ''
# Set to true if you want your admins who have fpmc.notify permission to be notified if someone tries to join using a cheat
notify_admins:
    enabled: false
    # Message which will be sent to the admins (%player% will be replaced with player's name, %clientname% will be replaced with the client name)
    message: '&c%player% &fhas tried to join with a hacked client! (%clientname%)'
# Set true if you want all attempts of joining using a cheat to be logged to log.txt file
logging_enabled: true
# Should instructions for running the application be autobroadcasted to player every x ticks? (20 ticks = 1 second)
autobroadcast:
    enabled: false
    interval: '0'
# If you are running this server under BungeeCord, you HAVE TO enable BungeeCord support!
# First put this plugin (FPMC_plugin.jar) in "plugins" folder in your BungeeCord. Then start BungeeCord and stop it.
# A config file will be generated located in /plugins/FairPlayMinecraft/config.yml.
# Open the config.yml file and set "port" to some unused port or just leave it like it is
bungeecord_support:
    # Set to true to enable
    enabled: false
    # Put in the IP address and port of your BungeeCord instance which you are using to connect to in game in format IP:PORT.
    # For example if you are connecting in the game to 172.16.254.1:25565, put this in
    address: ''
    # Set this to the IP address of your BungeeCord instance. For example if you are hosting both the server and BungeeCord
    # on the same machine, put in "localhost"
    ip: 'localhost'
    # Set to port you defined in config.yml in your BungeeCord
    port: 11414
    # If you have the plugin on more than one server and want players to have to go through check only once per session, set this to true
    one_check_per_session: true
# If you have multiple IP addresses using which you can join your server, list them here in format IP:PORT
multiple_ips:
   - ''
   - ''
# Enable if you made your custom versions filter (http://fairplayminecraft.com/filter/versions.php)
use_custom_versions_filter: false
# Enable if you want Forge to be enabled on your server (you have to create a mods filter first - http://fairplayminecraft.com/filter/forge.php)
use_filter_for_forge: false
# Enable if you want LiteLoader to be allowed on your server (you have to create a mods filter first - http://fairplayminecraft.com/filter/liteloader.php)
use_filter_for_liteloader: false
# List commands which will be executed on the Spigot server when player who is in a queue for the check (when using /fpmc check command)
# leaves the server during the check
left_during_check_punishment_command_spigot:
   - ''
   - ''
# List commands which will be executed on the BungeeCord instance when player who is in a queue for the check (when using /fpmc check command)
# leaves the server during the check
left_during_check_punishment_command_bungeecord:
   - ''
   - ''
# List commands which will be executed right when player is asked to go through the check
command_before_check:
   - ''
   - ''
# If you want your players not to be checked on every join, but every x join, set a number here
check_every_x_join: 0
# If you want your players not to be checked on every join, but be checked in case of x%, set a number here (1-100)
x_chance_to_be_checked: 0
# If you want titles to be showed when a player is asked to go through the check, set "enabled" to true
titles:
    enabled: false
    title: ''
    subtitle: ''
    # Duration how long the title will be visible (in seconds)
    duration: 10
# If you want to limit number of times a player can be checked in one session using /fpmc check command, set a number here
max_checks_per_session: 0
# Set 'enabled' to true if you want a sound to be played to a player who goes through the check without using a cheat
sound_nocheat:
    enabled: true
    # Put in value of a sound which you can find here: https://hub.spigotmc.org/javadocs/bukkit/org/bukkit/Sound.html
    sound: 'ENTITY_PLAYER_LEVELUP'

The "restrictions" section is easy to understand. If you want to disable movement for players who did not run the application yet, you will have to set "movement" to true. If you, for example, want to forbid executing commands you will set "commands" to true.

87SMZmG.png


Benefits of using BungeeCord support:
  • players won't have to go through the check when they are switching between servers
  • players won't be able to execute BungeeCord commands when being asked to go through the check (for example they won't be able to avoid the check by going to another server with command /server)
This is how you can enable BungeeCord support:
  1. Put the plugin in "plugins" folder in your BungeeCord server
  2. Start the BungeeCord server, then stop it.
  3. A configuration file config.yml will be generated in /plugins/FairPlayMinecraft. There you can change the port the plugin and BuneeCord will be using to communicate. Default is 11414. You don't have to change this. Change it only if there's something else running on that port. Don't set that the same as your server's port!
  4. Start the BungeeCord server.
  5. Put the "FPMC_plugin.jar" in "plugins" folder in your Spigot server and start it.
  6. A config.yml in /plugins/FairPlayMinecraft will be generated. Under "bungeecord_support", set "enabled" to true, set "address" to the address your BungeeCord instance is listening to (in format IP:pORT, for example 172.16.254.1:25565), set "ip" to the IP address of the BungeeCord and set "port" to the port you set in the config.yml of the BungeeCord.
  7. Start the server!

Example part of the config.yml for BungeeCord support on Spigot server:
Code:
bungeecord_support:
    enabled: true
    address: '172.16.254.1:25565'
    ip: '172.16.254.1'
    port: 11414

(if for example the BungeeCord instance is running on 172.16.254.1:25565)

P8QY8sn.png


fpmc.bypass.all - player with this permission cannot be checked on join or when somebody executes /fpmc check command on him
fpmc.bypass.join - player with this permission cannot be checked on join
fpmc.bypass.command - player with this permission cannot be checked when somebody executes /fpmc check command on him
fpmc.check - player with this permission is able to use command /fpmc check <nick>
fpmc.notify - players (admins) with this permission will be notified in game with a message if a player tries to join the server using a cheat (if enabled in config!)

Note: Players who are OP automatically have the fpmc.bypass permission and therefore they don't need to run the application.

Khi2m7X.png


As of version 5.0.0 you can create your own filter - choose with which versions (clients) your player will be able to join. To do that, go to http://fairplayminecraft.com/filter/versions.php and follow the instructions there. You can add the default filter there which allows players to join using all vanilla and all Optifine versions and along with it you can add your own versions (clients) by clicking the "Add versions (cliens)" button. After you have created your list, click "Download filter" and put the file version_filter you will download in /plugins/FairPlayMinecraft/. Then set "use_custom_versions_filter" in config to true and restart your server!

ef2p8eW.png


The plugin does not just simply allow players to join with Forge, but it checks the mods player has installed because there are cheats you can install using mods in Forge. That's why you can of course make your own list of mods which will be allowed on your server here: http://fairplayminecraft.com/filter/forge.php
Just drag the .jar of the mod in the area and do that for all your mods. Then click "Download filter" and put the file forge_filter you will download in /plugins/FairPlayMinecraft/. After that just set "use_filter_for_forge" to true and restart your server!

LiteLoader support
It's the same as for the Forge support. You have to make a filter here: http://fairplayminecraft.com/filter/liteloader.php and put it in your plugins/FairPlayMinecraft/ folder and then set use_filter_for_liteloader to true in config.yml.

D4iu96d.png


FPMCAPI.sendCheckRequest(player, boolean) - sends the check request to the specific player

player = player you want to check
boolean = true if you want to send the player the message from welcome.txt or false if you don't want to send him a message

HasCheatEvent event - is triggered every time when a player goes through the check (runs the application)

event.getPlayer() - returns the player who went through the check
event.hasCheat() - returns 1 if player joined using cheats or 0 if the player does not have a cheat

Bungee.checkPlayer(String) - sends the check request to the specific player without having to know on which server the player is.

String = player's nickname

N6bMB1U.png


FairPlayMinecraft works on the principle of whitelisting. All legit (original) versions of Minecraft and all Optifine versions are whitelisted and only with them you can join the server. Forge is currently not supported.

OR9XNbU.png


The plugin should work on any Spigot version. It has been tested on the latest 1.7, 1.8 and 1.9 builds. The application currently works on Windows and Linux OS. Mac OS version is planned.

uZuN8Xq.png


stats.php

q4oIiCZ.png


If you need help, found a bug, found a cheat that this system doesn't block or something is not working for you, please use the "Discussion" to contact me. You can also send me private message.
If something is not working well for you, please don't go straight forward to the reviews section and give the plugin a bad rating. Please report the problem first so I can fix it.
Thank you!

Latest updates

  1. Maybe now?

    Feedback in discussion please.
  2. Does it work now?

    Changed the piracy check shit. Please give me Feedback if it works now.
  3. Read Update Message!

    Please give me a short feedback in the discussion area if it works a not. When it doesent i need...

Latest reviews

Error
[15:15:32] [Server thread/INFO]: [FairPlayMinecraft] Enabling FairPlayMinecraft v5.9.2
[15:15:32] [Server thread/INFO]: [FairPlayMinecraft] AuthMe support enabled
[15:15:32] [Server thread/INFO]: [FairPlayMinecraft] Connecting to the main server...
[15:15:33] [Server thread/INFO]: [FairPlayMinecraft] [0;31;1mCannot connect to the main server, please check your internet connection![m
[15:15:33] [Server thread/INFO]: [FairPlayMinecraft] Successfully connected to the main server!
[15:15:33] [Server thread/INFO]: [FairPlayMinecraft] FairPlayMinecraft is enabled! (5.9.2)
die leaks :(
Please update to 6.0.2
Update please :(((( i need
The plugin activates correctly but when the client program activates on a players computer it detects that the plugin is cracked and disables it.
laPyaP
laPyaP
Yeah I know that, I'm working on it right now.
This server doesn't have the license to run FPMC AC system, and therefore its functions have been disabled!


Paper version git-Paper-1168 (MC: 1.12
laPyaP
laPyaP
Going to fix this today in the evening
thanks ,it's working for me now!
OMG, IT WORKS! :3 Thanks, but please help me if u want five stars, how can i run Application in LINUX? I downloaded it from http://fairplayminecraft.com/download.php but idk how to run it.. :/ please help if possible? (Plugin devs cant help because i dont have purchased plugin in my account :/)
it did not work for me , the plugin just getting disabeled

Similar resources

1.7 Spectre Ghost Client [Paid $50] S
0.00 star(s) 0 ratings
Downloads
208
Updated
1.7.10 Zonix Client Unobfuscated C
Old 1.7.10 Zonix Client Unobfuscated
0.00 star(s) 0 ratings
Downloads
487
Updated
BlackSpigot General Chat
Rules Help Users
    K @ kamikazeLTU: I have liteccoin, do owners accept it for spigotvip?
    Top