NoCheatPlus / Issues

Issues managment for the NoCheatPlus project.
13 stars 9 forks source link

Skillclient bypasses many NCP-Features #381

Closed enterih closed 7 years ago

enterih commented 7 years ago

Short description of the issue.

Skillclient (https://skillclient.tk/ ) will bypasses many NCP Features. for example

Complete output of the ncp version command (please prefer text here).

11.02 16:35:12 [Server] INFO ---- Version information ---- 11.02 16:35:12 [Server] INFO #### Server #### 11.02 16:35:12 [Server] INFO git-Spigot-b4417b8-a1d3777 ~MC: 1.11.2~ 11.02 16:35:12 [Server] INFO detected: 1.11.2 11.02 16:35:12 [Server] INFO #### NoCheatPlus #### 11.02 16:35:12 [Server] INFO Plugin: 3.15.0-SNAPSHOT-sMD5NET-b1064 11.02 16:35:12 [Server] INFO MCAccess: 1.11-1.11.2 / Spigot-CB-1.11_R1 11.02 16:35:12 [Server] INFO Features: 11.02 16:35:12 [Server] INFO blocks: BlocksMC1_4 | BlocksMC1_5 | BlocksMC1_6_1 | BlocksMC1_7_2 | BlocksMC1_8 | BlocksMC1_9 | BlocksMC1_10 | BlocksMC1_11 11.02 16:35:12 [Server] INFO checks: FastConsume | Gutenberg | HotFixFallingBlockPortalEnter | AttackFrequency | FlyingFrequency | KeepAliveFrequency 11.02 16:35:12 [Server] INFO defaults: pvpKnockBackVelocity 11.02 16:35:12 [Server] INFO packet-listeners: UseEntityAdapter | MovingFlying | OutgoingPosition | KeepAliveAdapter | SoundDistance 11.02 16:35:12 [Server] INFO Hooks: AllViolations~NCP~ 1.0 | Citizens2~cncp~ 2.0 | mcMMO~cncp~ 2.3 | MyPet 1.0 11.02 16:35:12 [Server] INFO #### Related Plugins #### 11.02 16:35:12 [Server] INFO CompatNoCheatPlus v6.6.3-SNAPSHOT-sMD5NET-b87 | ProtocolLib v4.2.0

11.02 16:36:07 [Server] INFO This server is running CraftBukkit version git-Spigot-b4417b8-a1d3777 (MC: 1.11.2) (Implementing API version 1.11.2-R0.1-SNAPSHOT)

How to reproduce the issue (is it random / always happens / side conditions)?

Every , i tested it with a friend

Have you made any (noteworthy) changes to the default configuration of NCP?

No -- Default config

Do you run any other special plugins that affect game mechanics next to NC+ (adding skills, machines, adding/changing blocks, other anti cheating)?

SimpleBroadcast, BungeePerms, RisingSystem, OldCombatMechanics, SuperTrails, VoxelSniper, RewardVoting, LiveSupportChat, Commandspy, AsyncWorldEditInjector, CoreProtect, dynmap, WorldEdit, Rising-Umfrage, OnlyProxyJoin, NBTEditor, Chairs, Votifier, TablistPrefix, Multiverse-Core, ProtocolLib, IPWhitelist, BlocksHub, mcMMO, Multiverse-Portals, Vault, LWC, HolographicDisplays, WorldGuard, BungeePortals, MysqlEconomyBank, BungeeTabListPlus, AreaShop, Essentials, Jobs, Paintball, 1vs1, Citizens, AsyncWorldEdit, AdvancedAchievements, EssentialsChat, ItemCases, Sentries, ChestShop, Quests, EssentialsGeoIP, EssentialsSpawn, CompatNoCheatPlus, NoCheatPlus, EditableSign, ServerSigns, MyPet, MyPet-NPC

All our plugins

Provide additional information, such as error/debug/violation logs. (For reproducible issues with moving consider: https://github.com/NoCheatPlus/Docs/wiki/Debugging#on-the-fly-debug-output-for-individual-players) Use GitHub gists or http://pastebin.com/ or similar for huge logs, or attach a (zip-) file here. For image uploads, please prefer a site that allows viewing without JavaScript, you can upload file attachments for issues right here.


I hope you use this as a checklist/to do list and fix it (or many of them) in the next time and I hope I can help you and help the safety of many Minecraftservers.

enterih commented 7 years ago

yes i thought it

But some things could be fixed or improve, that I will to reach with this issue

enterih commented 7 years ago

should... but b1064 is the newest build and it isn't blocked. Maybe the creator from this client has found many gaps

enterih commented 7 years ago

We tested it without OP or something

enterih commented 7 years ago

INFO This server is running CraftBukkit version git-Spigot-b4417b8-a1d3777 (MC: 1.11.2) (Implementing API version 1.11.2-R0.1-SNAPSHOT)

enterih commented 7 years ago

Do you tested it wit compatnocheatplus? Because i'm using this because mcmmo

asofold commented 7 years ago

For block breaking speed mcMMO could make a difference - in case of changes on mcMMO side, it could also happen that players get exempted from more attack/block-break events than intended (in theory).

For such a list, we need to categorize things more, it's also necessary to estimate the gain from using a cheat, compared to what a vanilla client can do (with the exception of obvious things like flying, perhaps). E.g. If tower just works like an auto building thing (bot), or "just" wins 5-10% time, it'll not be of such importance. If you can do 5-10 blocks instantly (tower), and then get blocked, perhaps it's not extreme, but it may be possible to tackle somehow. The other thing is that there are existing tickets :) for some aspects.

I don't know if it's a trust thing with not debug logging such or if it's a production server - sometimes people wouldn't show off their cheats, if they know it's being recorded. If it's possible to reproduce on a test server, debug logs could really help (zip and upload here), in such a case with checks.debug set to true and ProtocolLib on.

I would further ask for:

Some things are client side, and possibly could be detected, typically at a greater performance impact, and you'll rather catch the careless people for things like tracers. For some things tickets already exist.

For things like tracers one would need to identify players moving towards other players/chests/similar, and then judge if it's been possible to spot, or probably to happen or just a random outlier. It could be something not so simple to detect, like a block placed somewhere you can see from far, and the block is not typical for that biome/position, or more subtle, it could be blocks removed in a way, that can't result from ordinary terrain generation - how is such supposed to be tracked by a plugin (best without much impact on performance). We could attempt to create abstractions for behavior of players and use those as inputs for some machine learning thing, but really that's a research task that takes a lot of time, and it'll still take lots of time to maintain and likely not lead anywhere better than catching the more careless kind of thieves (in reality usually people who don't have any resources and who are not trained, possibly they're already starving). It could become interesting, if we use (higher bandwidth) database connections for storing a lot of behavioural abstractions and sequences of things, so checks can be run 'offline' as well - such is more complex on implementation side and also for takes more time to reasearch and then to maintain (...).

ghost commented 7 years ago

@asofold Perhaps some check that makes the player have to hold an item for a certain amount of ticks before being able to use it? It'd semi patch autopotion/soup, or it'd make it weaker

ghost commented 7 years ago

I doubt skill client has a no fall for 1.8 laest NCP, unless it's a reconnect one which was unpatched when you patched fake fall damage

ghost commented 7 years ago

And @Sprungente auto potion works by silently sending a HeldItemChange packet, using the item, then sending a packet back to the current item

ghost commented 7 years ago

So technically it's in the players hand but for less than a tick

ghost commented 7 years ago

It'd only cause "pots to simulate lag" if for some reason you're hotkeying and right clicking within 100 milliseconds which isn't humanly possible

ghost commented 7 years ago

Yeah but with at least a 3 tick delay, auto soup and auto potions instantly do it

new CPacketHeldItemChange(potionSlot); new CPacketTryUseItem(EnumHand.MAIN_HAND); new CPacketHeldItemChange(oldSlot);

Something along the lines of that, I've never seen a single autopotion or autosoup have a delay between changing items and using them

On Feb 20, 2017 5:48 PM, "jonesdj1" notifications@github.com wrote:

@v0idst4r https://github.com/v0idst4r I thought you where saying like 1 second plus delays and like everyone hotkeys and right clicks in potion pvp

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/NoCheatPlus/Issues/issues/381#issuecomment-281207719, or mute the thread https://github.com/notifications/unsubscribe-auth/ATE0XoubxQW5p5q9LY3n0MIRKYCuVnbhks5reiY8gaJpZM4L-OMB .

asofold commented 7 years ago

Well, there can be lag (networkling congestion, delay, client-side, server side (!) ...), so you'll hardly be able to prevent just one time, you'll have to monitor things for a while - and that may be the end of the fight already.

Of course you can cross check with other packets and estimate if some "instant related packets" have a good reason to be instant. This is quite interesting, but also potentially complex.

Cheat clients will also become better at cloaking things somehow, perhaps they can fake some evasive move, estimate the probability of getting hit again within short time etc., but first they'll consider adapting to whatever we do on this account. E.g. if we can only nail it down to few ticks, perhaps they'll just have it take few ticks then. A pro can switch the item during jumping easily i guess, and using it afterwards should be simple too, so what can we do concerning instantly consumable items, if it's meant to provide some kind of protection for a little longer time...

ghost commented 7 years ago

funny xD

asofold commented 7 years ago

Since i currently can't test clients myself, i'll close this ticket - in favor of specific reports for stuff that hurts most. Fastest fixes are with debug logs (not always possible due to trust-issues :p), for judging severity of speeding consider the 'ncp stopwatch distance 100' command for comparison (or 50, if you don't have enough time to build a flat thing). Please prefer testing with the latest / late-ish builds.

Apart from fixing easy to as well as rather critical issues, upcoming changes can be seen here: https://github.com/NoCheatPlus/Docs/wiki/Roadmap