SurvivalFly

Config path: checks.moving.survivalfly Permission (bypass): nocheatplus.checks.moving.survivalfly Exemption: MOVING_SURVIVALFLY Better with: [Moving] Morepackets and [Combined] Bedleave

SurvivalFly is the main check for player movement. It checks both horizontal and vertical moves in/on all kind of mediums (water, air, etc...)

Option
Description

extended vertical-accounting

Whether the vertical-accounting sub-check(vAcc) should be active (See tags)

extended horizontal-accounting

Whether the horizontal-accounting sub-check(hAcc) should be active (See tags)

extended reset-activeitem

If true, SurvivalFly won't allow the player to use the item held upon a noslowdown violation, instead of setting them back. (See notes)

extended noslow

Whether the noslowdown detection should be active at all.

stepheight

The height a player can from ground upwards to ground, without jumping. This is set to 'default' by default, so NCP will adjust it automatically with the Minecraft version. In case NCP can't detect the version properly, e.g. with custom builds, setting an explicit value might help. Used to be 0.5 before MC 1.8 and 0.6 from then on.

leniency hbufmax

The cap value for the horizontal buffer. Horizontal moving violations get compensated with emptying the buffer. It fills up with moving below the applicable base moving speed (not accounting for special accelerations like with bunny hopping). The higher the number, the more the time it will take for NCP to setback speed cheaters.

leniency ViolationFrequency

The following feature aims at preventing the abuse of SurvivalFly's violation level relaxation mechanic (VLs will go down over time with legit moves) if you don't have set in your configuration to always cancel/setback on violations (see notes) by keeping track of the flag frequency in a custom amount of moves. If this option is set to true, SurvivalFly won't cancel any detected move if the generated violation is under your maxleniencyvl threshold, however, if the player is repeatedly and continiously triggering SurvivalFly under said threshold, then the violation level will start to increase so that (potential) cheaters will get setbacked much faster while granting to legit players a better gameplay experience as sporadic and occasional low violations won't immediately lead to a setback.

leniency ViolationFrequency active

Should this hook be enabled for SurvivalFly? If false, SurvivalFly will always setback players upon violations, no matter how small they are (normal behaviour). Do note that this hook requires that you have set a cancel flag in your actions.

leniency ViolationFrequency debug

Debug flag, for debugging issues about this hook.

leniency ViolationFrequency maxleniencyvl

Maximum violation after which SurvivalFly will setback players normally and stop using this hook.

leniency ViolationFrequency mintoadd

Minimum violation level for which SurvialFly will not escalate lower violations by the morevls amount.

leniency ViolationFrequency morevls

How much should SurvivalFly increase lower violation levels by when a player is continiously triggering SurvivalFly under your set maxleniencyvl value?

leniency ViolationFrequency movecount

Move counter after the last violated move for which SurvivalFly will escalate lower violations by the morevls amount.

leniency freezecount

The number of moves, for which the violation level can't decrease, after a violation has happened.

leniency freezeinair

If set to true, the violation level can't decrease, while the player is moving in-air.

setbackpolicy falldamage

Deal the amount of fall damage players are supposed to get if they happen to fall and get setbacked on ground. This prevents people from exploiting NoCheatPlus to avoid fall damage by purposelly triggering SurvivalFly to force a setback.

setbackpolicy voidtovoid

Should players be setbacked directly into the void instead of the last valid ground location (if no ground has been detected by NCP beneath the player)? This is meant to prevent cheaters from exploiting the set-back logic by purposelly trigger a detection to never fall down (SkyWars/Block) [BETA feature, not recommended to enable as of now].

hover step

Tick-period for which to perform hover checking.

hover ticks

Ticks after which a player is assumed to hover if still in-air and not moving.

hover logingticks

Extra ticks added to hoverticks directly after login, to give more leniency. Set this on problems with hover + loging in.

hover falldamage

Deal fall-damage according to fall-distance, to make avoiding fall-damage harder.

hover sfviolation

A hover violation is counted as a survivalfly violations with this amount of violation level.

There are also hidden options, which give more access to internals. Use with care, as these might allow different kinds of cheats or lead to other false positives, if changed. Ask back if in doubt or test changes made. (They need to be added manually to the configuration file, before the vAcc and hAcc entry)

Hidden Option
Description

walkingspeed

Multiplier for the horizontal walking speed. Value is per-cent, 100 means no change (default), 200 doubles the allowed walking speed. Does not apply with sprinting!

sprintingspeed

Multiplier for the horizontal sprinting speed. Value is per-cent, 100 means no change (default) , 200 doubles the allowed sprinting speed. Does only apply with sprinting! Due to the sprinting state on server side not always reflecting the client side, NCP will assume the player to be sprinting whenever technically possible (setting: assumesprint) - this means that this setting will take effect when the player isn't too hungry.

blockingspeed

Multiplier for the horizontal walking speed, when blocking. Value is per-cent, 100 means no change (default), 200 doubles the allowed blocking speed. Overrides the modifiers above.

sneakingspeed

Multiplier for the horizontal walking speed, when sneaking. Value is per-cent, 100 means no change (default), 200 doubles the allowed sneaking speed. Overrides the modifiers above.

swimmingspeed

Multiplier for the horizontal swimming speed. Value is per-cent, 100 means no change (default), 200 doubles the allowed swimming speed. Overrides the modifiers above.

speedingspeed

Multiplier for the horizontal speed. Value is per-cent, 100 means no change, 200 doubles the allowed horizontal speed (default). This always applies extra to other modifiers, regardless of the side conditions, provided a player has the permission nocheatplus.checks.moving.survivalfly.speeding.

groundhop

Hidden option to account for a special case in legacy (< 1.7.) servers where the player is able to hop without y distance increases at moderate horizontal speed.

slownesssprinthack

Hidden option to allow Survivalfly to adjust the horizontal speed limit when players sprint-jump with the slowness potion active.

Tags

  • vDistRel: This move does not follow our vertical-distance rules (violation).

  • HoneyAsc: Player tried to ascend more than allowed while being on a honey block (The block halfs(+-) the jump height).

  • GroundStep: Indicates that the stepheight distance is currently being enforced, not necessarly triggering a VL. (This applies if the movement is fully on ground (from->to), otherwise the vDistRel distance will be applied).

  • hSpeed: This move exceeds our horizontal limits.

  • Waterwalk: Indicates that the player is walking on water (walking in/on water without any change in y distances.).

  • Watermove: Indicates that the player is moving with very little y deltas above water.

  • Lostground_[tag]: A LostGround case has been detected and applied to the player. This will allow the movement.

  • yChInc/yChIncFly/yChDec/AirJump: Change of y direction checks, AirJump represents moving upwards after falling without having touched the ground first. (yChangeIncrease/yChangeDecrease/(...)).

  • vAcc. The vertical-accounting check. Demands players to start to fall after having been in air for a specific amount of time. Acts as a "gravity enforcer", sort of.

  • hAcc: The horizontal-accounting check. It monitors average combined-medium (e.g. air+ground or air+water) speed, with a rather simple bucket(s)-overflow mechanism.

  • Bunnyhop/Bunnyenv/any tag containing "bunny": This movement is related to our bunnyhop detection method. This will often result in the player being allowed to perform such move.

  • Badsprint: The player tried to sprint with blindness active.

  • Backsprint: The player tried to sprint backwards.

  • vDistSb: The player went further than the set-back distance.

  • Dirty: This in-air phase has been affected by velocity.

  • vAccDirty: In-air velocity with vAcc being triggered.

  • LostSprint: The sprint status of the player has been lost (see notes).

  • UsingItem: Indicates that the player is using/consuming an item (Blocking/Eating(...)).

  • LowJump/LowJump_set/ceil: This move was a low jump (likely cheating). Ceil represents a legit lowjump due to the player jumping in a 2-blocks high area.

  • Data_reset/missing: Indicates that the allowed y distance of the player has been reset due to a teleport/join/respawn.

  • hVel: Some velocity has been applied to the player.

  • hBufUse: The player has used some of the available horizontal buffer.

  • SwimUp/Down: This move went further than our rule set for moving vertically in water.

  • ClimbSpeed: The player went beyond our vertical speed limits for climbable blocks.

  • CilmbDetached: The player tried to climb up a block that's not possible to climb (This applies for vines that are not attached to other blocks).

  • vFrict_Climb: Friction with velocity on climbable (e.g.: being hit while climbing a ladder).

  • vWeb/vWedDesc: Webs vertical distance checking (Ascending/Descending).

  • vBush/vbushDesc: In berry bush vertical distance checking (Ascending/Descending).

  • MaxPhase: Indicates a too high jump or step phase for this move.

  • Itemreset: The reset workaround has been applied.

  • SnowAsc/SnowDesc: Powder snow vertical distance checking (Ascending/Descending).

triangle-exclamation

Related

Last updated