FLockClient - Server
FLockClient
ATTENTION: At this time I'm not able to maintain this project. If any experienced developer wants to maintain this project while I can't, contact-me.
FLockClient is a small and simple tool to force players to use the server defined .jar, It might be useful to modded server and also can work to prevent hacked clients, forcing all the players to use a clean .jar. A client-side modification is required.
Pages: Instructions || Permissions || Key Numbers || Jenkins
Features
- Highly Configurable
- Random security keys
- Multiples clients
- Force player to use a defined client
- Permissions to each client
- Download files from the server
- Permanent ban by MAC address
- more
Permissions
| Permission | Effect |
|---|---|
| FLockClient.Debug | Receive in-game debug messages |
| FLockClient.F3 | Access access to the "F3" menu |
| FLockClient.Texture | Ability to bypass the texture pack lock |
| FLockClient.hash.<client> | Access to the <client> defined |
| FLockClient.Gui.Debug | Show debug information on download |
| FLockClient.ByEmpty | Join the server without the client |
Commands
- /lc ban - Ban the player MAC address
- /lc unban - unBan the player MAC address
- /lc info - Show information about a client
- /lc list - List players using any authorized client
- /lc reload - Reload the configuration
- /lc unex - Re-enable the anti-cheat protection
Attention
This plugin is made to work with a client mode that is available here, if you don't use the mod, the server will not recognise you!
Know Bugs
- Sometimes the kick message will not be properly shown, this is not related to FLockClient.
- Let me know if you find any!
-
View User Profile
-
Send Message
Posted May 29, 2013Furmiga, I found a bug with transparents texturepacks... When i try to login with a transparent pack, the FLock blocks it, but if i'm using Optifine, i can change my texturepack while the game is running, so i can change the default pack to transparent pack... If we find a way to block this Optifine function, the issue is solved ^^
EDIT:
When i run /lc reload, the clients who using xray get kicked... So, to solve the issue, i think its necessary an option to /lc ban the alternative client.
-
View User Profile
-
Send Message
Posted May 27, 2013FurmigaHumana,
Você poderia adicionar a opção de armazenar as informações do Cliente em um flatfile ou em MySQL "
De resto, o plugin é MUITO bom.
-
View User Profile
-
Send Message
Posted May 27, 2013@FurmigaHumana
Yes, i'd be honored!
-
View User Profile
-
Send Message
Posted May 27, 2013@Muzixs
Try to read this commen this. If you can confirm that you already have any kind of file inside the /jars folder, You might just need to use the /lc reload command or reload/restart the server.
---hey @saki2fifty, it's ok if I quote your comment in the instructions page?
-
View User Profile
-
Send Message
Posted May 27, 2013Hey i was wondering if i could get some help on setting this up on a server. Everything seem to be working fine. I understand a little about which files go where, server mods into mods folder but thats pretty much it. When i set the settings to make users use the client to join the server i get disconnected saying there arent any clients to use. I have the client side mod of flock installed and working fine but still doesnt let me join. Im stuck.
-
View User Profile
-
Send Message
Posted May 24, 2013@saki2fifty
I'll figure how it works and see what I can do.
-
View User Profile
-
Send Message
Posted May 24, 2013@FurmigaHumana
Well, I guess here's my problem. Basically, the send function can only ever be used to send client based mods. This is because Forge (client side) will end up sending you a message saying that it doesn't detect the mod. It never reaches the point where FLockClient can do its check.
If you can disable the Forge "mod detection" or whatever its called and just let FLockClient manage it instead (toggleable or permissions based), then im sure the send will work perfectly.
Forge message: http://files.enjin.com/228976/Images/ttt.png
Or, if it can send the mods before Forge can do its check...
-
View User Profile
-
Send Message
Posted May 24, 2013@saki2fifty
You just have to set the "SendFiles" to true and join the server, the download will start if you dont have the required files or is using an invalid client.
-
View User Profile
-
Send Message
Posted May 23, 2013What triggers the external download? I wasn't able to get it to download. I made the change in the .txt file and added a direct link, but nothing happens. No errors, no download, etc.
Is there something in the settings file that says to use the external link?
-
View User Profile
-
Send Message
Posted May 23, 2013@FurmigaHumana
Sweet! Checking it out now!
I was just saying you could always add the feature of gathering "metrics" to the mod so that you'll know whose using it and how.
-
View User Profile
-
Send Message
Posted May 23, 2013Alright, v2.6/v2.1 uploaded with url download and .zip extraction, update is optional since there is no changes in the main features.
@saki2fifty
I dont get it '-'
-
View User Profile
-
Send Message
Posted May 23, 2013"I think most of the people only use it to prevent hacked clients, only the basic feature, I dont have metrics on this one so I couldn't actually tell what is going on."You could always add it to your longgggg to-do list to make the call home. :D
-
View User Profile
-
Send Message
Posted May 23, 2013@saki2fifty
you could remove/add some characters, it is randomized already before generating the key.
-
View User Profile
-
Send Message
Posted May 23, 2013@FurmigaHumana
In the case of what you just said, couldn't I just change the randomness of the "dictionary", server-side? Or is that not supposed to be touched?
-
View User Profile
-
Send Message
Posted May 23, 2013@saki2fifty
for the edit:
I think most of the people only use it to prevent hacked clients, only the basic feature, I dont have metrics on this one so I couldn't actually tell what is going on.
The hash generation is completely random using security keys sent by the server, the hash cannot be re-used, if someone tries to sent the same hash again he'll be kickedr, is not much easy to just fake a hash and send to the server, but again, nothing is impossible, a java experienced person can crack it easily and when this happens I just have to change a few things and he'll need to do everything again :3
-
View User Profile
-
Send Message
Posted May 23, 2013@saki2fifty
I took a look at the server source yesterday and I think the only thing that will be harsh to implement is the preventions for non clients (movement, block change, etc.) but I'll finish 'url download' first because it is driving me crazy already, then I'll take a better look at the vanilla server.
-
View User Profile
-
Send Message
Posted May 23, 2013@FurmigaHumana
Ok, makes sense. Of course if it were to be implemented in vanilla, I guess the only thing that would really work is just the client detection... which should be sufficient. The other really cool stuff that you've put into it such as the automatic send'ing, the gui interface, securing the config files, etc. would not even be needed, so only the secured client is the only thing that I think would even apply.
Well, you're the boss :D and any change (or a lack thereof) is very much appreciated!
Thanks, and keep up the great work!
Also, I see that a lot of people are downloading the mod, but I guess its either working for what they need or just aren't using all its features? (not many are replying other than with initial setup errors). If people would understand exactly what this mod / plugins does, I think it could easily be the most important mod any server would ever use.
Oh, another quick question. If someone were to hack the client, wouldn't all they need is the MD5 hash of minecraft.jar and somehow fake that "packet" or whatever and send that over to the server? Is getting that MD5 hash a simple thing in Java? And does everyone have the capability of finding out what the hash is? Or do you have your own hash generation code? Of course, i'm a server admin... not a programmer :).
-
View User Profile
-
Send Message
Posted May 22, 2013- Sorry about the delay, I've forgotten to subscribe for new comments-*@virori14
for now disable the movement prevention, this error should be safe to ignore. I have not finished the client-side to upload the fix yet.
@saki2fifty
Build the plugin for a vanilla server mode would be a lot of work but nothing impossible, porting the client-side for forge and modloader is easier because I can use the same code, but between Vanilla Server and CraftBukkit I would need to re-code different instances of the plugin, or at least a major part of it. I don't know where I should upload it if I make it.
-
View User Profile
-
Send Message
Posted May 20, 2013I know the client works with Vanilla, but do you have a server version that works with Vanilla server?
-
View User Profile
-
Send Message
Posted May 18, 2013When I enter into my server with FLockClient and it recognizing that everything is 100% with my client, I can not move and sometimes appears this error:
18.05 16:04:41 [Server] INFO at net.minecraft.server.ThreadMinecraftServer.run(SourceFile:573) 18.05 16:04:41 [Server] INFO at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:678) 18.05 16:04:41 [Server] INFO at net.minecraft.server.MinecraftServer.func_71217_p(MinecraftServer.java:794) 18.05 16:04:41 [Server] INFO at net.minecraft.server.dedicated.DedicatedServer.func_71190_q(DedicatedServer.java:324) 18.05 16:04:41 [Server] INFO at net.minecraft.server.MinecraftServer.func_71190_q(MinecraftServer.java:837) 18.05 16:04:41 [Server] INFO at org.bukkit.craftbukkit.v1_5_R3.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:344) 18.05 16:04:41 [Server] INFO at org.bukkit.craftbukkit.v1_5_R3.scheduler.CraftTask.run(CraftTask.java:58) 18.05 16:04:41 [Server] INFO at me.FurH.LockClient.listener.LockPlayerListener$1.run(LockPlayerListener.java:170) 18.05 16:04:41 [Server] INFO at me.FurH.LockClient.listener.LockPlayerListener.canDoIt(LockPlayerListener.java:186) 18.05 16:04:41 [Server] INFO at me.FurH.LockClient.manager.LockManager.isClient(LockManager.java:710) 18.05 16:04:41 [Server] INFO java.lang.NullPointerException 18.05 16:04:41 [Server] WARNING Task #23 for FLockClient v2.5 generated an exception
I really need this plugin! Help me please ...