DOCUMENT 03 / FAIR PLAY

Why 2K's shot cheaters
never go away.

Updated October 25, 2026, Patch 2 · 30 min read

ALL DOCUMENTSHOW A SHOT WORKS

Fixedset in the code Built-inthe game's own tuning, Patch 2 Serversent by 2K online What the labels mean

The short version

A cheat device doesn't change the game. It only changes when your release arrives. Everything 2K does against it has to work on timing, and the game has no rule that treats a half-court step-back or a contested jumper differently from any other shot.

How to use this

You can't stop a script from landing Excellent, but in the Park, Rec and Pro-Am you can make its shots worse before they're released, and you can make your report count.

Against a script: before the shot, and after the game Contest earlyDeadeye only cutslate closeouts Take away looksa heavy contest cutsa three to a tenth Clip itsame release, everyshot, every angle Report itjoins the result report2K already has Built-in Patch 2 values. Since Patch 2, Park, Pro-Am and co-op reports carry each player's game ID.
How to use it · What you can do about a scriptSteps light up in order

Four things you can do, lighting up in order. The first two happen on the court and make a script's shots worse before the release. The last two build the case after the game. Your report lands next to the result report 2K already gets from every online game.

What a script actually changes

A shot is decided in six steps: the chance before timing, the defense, the timing window, the grade, the timing bonus, then make or miss. They're explained with every number in How a shot works. Only one of them depends on your hands: where your release lands against the window. That's the one a script takes over.

Same jumper, two shooters: one spreads out, one stacks A SKILLED PLAYER A GREEN SCRIPT VERY EARLYEARLYSLIGHTLY EARLYEXCELLENTSLIGHTLY LATELATEVERY LATE Each dot is one release. Illustration: real window sizes are in How a shot works.
Figure 1 · Releases against the gradesIllustration

Each dot is one release, placed against the timing grades with Excellent in the middle. A skilled player's dots scatter around the window, some in and some out. A script's dots stack inside it. The window is the same size for both; only where the releases land is different.

A script removes your release error, the one part of a shot that depends on your hands. The starting chance, the defense and the window apply to a cheater exactly as they do to you.

Why scripts green the shots they do

Half-court step-backs in 3v3

A shot from 3v3's half-court line is about 42 feet out, short of the 47-foot heave line, so it's an ordinary jump shot with the ordinary window (the heave rules). A person misses that small window most of the time. A script releases at the same moment every time, so whenever the window is there, it greens, and in the built-in tuning an Excellent on any look of 20% or better is a make. Only a deep three's low starting chance stands in its way.

Heavily contested shots

The Excellent check uses the defense after immunity, badges and Takeover have cut it, and the built-in limit is far above any real contest (step 4). A heavy contest still cuts the starting chance and shrinks the window, which costs a person greens. It barely costs a script anything, because a script needs only the window to exist and a look of about 20%.

Would hiding the green window help?

Not against the scripts that matter. A fixed-delay script never looks at the meter. It times the release from the moment you pressed shoot, so hiding the window changes nothing for it. Only a camera setup reads the meter, and it can read the shooting animation instead, the way a meter-off player does. The game already treats meter-off shooting differently: it has its own window scale, and the Excellent bonus has a separate scale when the meter is on. Hiding the window mainly takes a tool away from honest players who learned their jumper from it.

How the cheats work

Every common console cheat sits between your hands and the console and presents itself as an ordinary controller.

The console only ever sees a licensed controller CONTROLLERYour thumb pressesand releases shoot ZEN OR TITANScript moves the releaseto its tuned delay CONSOLESees an official pad.Auth check passes. inputsinputsauthauth The device forwards the console's licensing challenge to the real controller plugged into it, so the check passes. Button presses arrive as the same bytes a thumb would make.
Figure 2 · The signal chainPurple: inputs · Grey: authentication

Your button presses (purple) pass through the device before they reach the console, so the script can rewrite them on the way. The console's license check (grey) is passed straight through to the real controller, which answers it. So to the console, everything looks like a normal licensed controller.

ToolWhat it isHow it gets greens
Cronus ZenA USB adapter. The controller plugs into it, and it plugs into the console.Runs scripts that rewrite button presses on the way through.
Titan TwoA rival programmable adapter that sits in the same spot.Runs scripts the same way, with several stored on the device at once.
XIM and similarAdapters that translate a mouse and keyboard, or remap inputs.Mostly used for aiming in shooters, but they can carry macros.
Capture card + camera softwareA second device watches the video, finds the shot meter, and drives a Zen.Releases when the meter really is in the green.

How a green script times a shot

  1. You press shoot. The script sees the press before the console does.
  2. It waits a fixed delay tuned to your jump shot, often one per shot type.
  3. It sends the release at exactly that moment, whatever your thumb does.
  4. Better scripts add a few milliseconds of random wobble so the timing looks less mechanical.

The camera setup is the hardest case. It reacts to what's on screen instead of a fixed delay, so it adapts to lag and to every jumper the way a person would, only with near-perfect precision.

Why the console can't detect the device

What 2K27 does about it

2K27's shot code has a group of settings built against scripts, and all of them work on timing. Mike Wang put the design plainly: "There's no RNG factor that will make you randomly miss shots." The code randomizes when you have to release, not whether a perfect release goes in.

NBA 2K27 · THE ANTI-CHEAT IN THE SHOT CODE (PARAPHRASED)

// 1. Random speed on signature jump shots, people only
if anti_cheat_speed_on and the shooter is a person:
    speed = weighted pick of 5 values from table[t]
    // t switches among 3 tables every 420 s of game time, in shuffled order
    effect grows from a minimum on jump shots needing 60 or less to full at 95
    // during the shot the speed eases in, reaching full a set number
    // of frames before take-off

// 2. A random input hold for hot shooters
if attempts ≥ min_attempts and field_goal_pct ≥ min_pct:
    hold this controller's next input for 0 … max_frames frames

// 3. Rhythm-shot stick check
every frame of a person's rhythm gesture:
    moved_x |= stick.x is between the middle and the edge
    moved_y |= stick.y is between the middle and the edge
if either axis never moved in between:
    push the timing at least N frames off perfect
    count one flagged shot for this player and log it

In plain words: 2K27 changes the speed of your jump shot at random and swaps the set of speeds every seven minutes. It holds back a hot shooter's input for a random few frames, and it checks that a rhythm shot's stick passed through in-between positions the way a real thumb does. None of these bans anyone. All of them make a fixed delay stop lining up.

The speed table changes, so a fixed delay stops working MINUTES 0–7 · TABLE 2MINUTES 7–14 · TABLE 1 · SLOWERMINUTES 14–21 · TABLE 3 · QUICKER shot startstime → You, reading the animation Fixed-delay script GREENMISS Illustration. The 420-second rotation is set in the code. Built-in tuning: switched off.
Figure 3 · Rotating speed tables vs a fixed delayIllustration

When the anti-cheat speed is on, the green window moves each time the speed table rotates, every seven minutes of game time. A player watching the animation follows it. A script tuned to one fixed delay stays where it was and starts missing until someone retunes it.

Speed that changes with the situation

Separately from the anti-cheat, every jump shot's speed is drawn at random from a range whose width comes from your base's timing (Your build). Stamina and the closest defender shift both the range and the moment the shot starts, and a small random spread is always added on top. That's ordinary variation a person reads from the animation; a fixed delay can't. On top of it, the target itself can move on contested shots:

NBA 2K27 · THE TARGET MOVES UNDER DEFENSE (PARAPHRASED) Fixed

tier   = great shooter if rating ≥ 90, good if ≥ 75, bad if ≥ 60   // built-in cutoffs
t      = min(defense / full_contest_defense, 1)
range  = blend(tier.open_range, tier.contested_range, t)
target = perfect_moment + random(range)          // in frames

In plain words: on a contested shot, the perfect moment itself moves by a random few frames from one attempt to the next. Worse shooters and heavier contests get bigger moves. This applies to people as well as the CPU. A fixed delay loses greens here, while an open great shooter keeps a steady target. In the built-in tuning every range is zero, so the target never moves unless 2K's servers set one online.

Under defense the perfect moment moves; a fixed delay doesn't WIDE OPEN · TARGET STAYS PUT CONTESTED · TARGET SHIFTS UP TO 3 FRAMES a script's fixed release Illustration. "Up to 3 frames" is 2K19's and 2K20's live value. 2K27's is zero offline; online it comes from 2K's servers.
Figure 4 · The target moves under defensePurple: Excellent · Dashed: fixed delay

The purple block is the Excellent window and the dashed line is where a fixed-delay script releases. On an open shot the window stays put and the script lands in it every time. On a contested shot the window jumps a few frames each attempt, so the fixed release often misses it. This only happens when 2K's servers set the ranges above zero.

The hot-shooter hold

The game counts each player's attempts and makes. Once both pass 2K's thresholds, the game holds that player's controller input for a random 0 to N frames, drawn fresh each time. A script times its release from the moment it sent the press, so the hold knocks it off the animation. A person watching the animation just adjusts.

Shoot well enough and the timing starts to move FG% THIS GAME hold switches on(enough attempts and FG%) EACH SHOT ABOVE THE LINE shot 1shot 2shot 3 Fixed-delay script Illustration. The trigger and the 0-to-N-frame hold are from the code; built-in tuning: it can never switch on.
Figure 5 · The hot-shooter input holdIllustration

Once a shooter's attempts and field goal percentage pass the thresholds, each input is held back a random few frames. A person watching the animation adjusts without noticing. A script counting from the moment it sent the press is thrown off by the hold. A great shooter on a hot night gets held too.

The rhythm stick check

Rhythm shooting times a jump shot or free throw with a stick motion instead of a button. A real thumbstick always passes through in-between positions. Input that only ever jumps between the center and the edge is what a macro, a remapped key or a script produces, so that release is pushed off perfect and counted.

Real sticks pass through the middle. Macros jump. REAL THUMBSTICKDIGITAL INPUT PASSESFLAGGED both directions take in-between valuesonly the center or the edge, never between checked on every frame ofa person's rhythm motion
Figure 6 · The rhythm stick checkIllustration of the rule in the code

Two rhythm-shot stick motions. A real thumb drifts through the in-between positions on its way, so it passes. Input that only snaps between the center and the edge, the way a macro or a remapped key does, never passes through them, so the shot is pushed off perfect and counted.

What it means for cheating

What 2K27 reports after every game

When an online game ends, 2K27 sends three reports to 2K. Between them, 2K gets each player's timing consistency, their meter habits, a count of flagged rhythm shots, and a note on anyone the anti-cheat removed.

NBA 2K27 · THE END-OF-GAME REPORTS (OUR NAMES)

cheater report   for each flagged player: player id, session, status

game report      per player: result, shot button vs shot stick use,
                 flagged rhythm shots, box score
                 meter fill: shots, average, spread
                 shot chart in 16 court zones, green releases

timing report    per player, for each way of shooting
                 (jump shot meter on / off, rhythm timing meter on / off,
                  rhythm tempo meter on / off):
                 shots, average timing error, timing spread

In plain words: after every online game, 2K learns how far off each player's releases were on average and how much they varied, split by how they shoot. It also gets their greens, their meter habits, how many rhythm shots failed the stick check, and whether the PC anti-cheat removed anyone.

Three reports leave the game when it ends Every jump shot's timing errorBox score, greens, meter fillAnti-cheat and sync removals per way of shootingand flagged rhythm shotsPC anti-cheat kicks TIMING REPORTGAME REPORTCHEATER REPORT shots, average error, spreadflagged shots, green releasesplayer id, session, status Sent at the end of online games. Where 2K's servers send them next isn't in the game's code.
Figure 7 · What 2K27 sends after a gameDots travel to the reports

At the end of every online game, three reports leave the game: timing for each way of shooting, the game report with greens and flagged rhythm shots, and the cheater report. The dots are that data on its way out. This is the evidence 2K's ban decisions start from.

Why the average and the spread are the right numbers

The spread of a player's timing error is exactly what separates a person from a fixed-delay script: people spread out, scripts stack. The average shows a habit, like always releasing a little early. 2K27 splits both by meter setting, so a meter-off player is compared with the right group. The game itself adds spread to everyone through the random target shift, which is why one game's numbers are never enough.

A season of releases: a spread vs a spike at zero SKILLED PLAYER · 100 SHOTSGREEN SCRIPT · 100 SHOTS 0 frames off9+0 frames off9+ Timing spread: wideTiming spread: near zero Illustration. 2K20 uploaded these buckets; 2K27 sends the average and spread of the same thing. Numbers are invented.
Figure 8 · Timing spread, a person vs a scriptIllustration

Bars count releases by how far off perfect they were. A skilled player's spread out over several frames of error. A script's pile up in the first two. That difference in spread is exactly what the timing report sends 2K, game after game.

What every result report carries

Those three reports aren't the whole story. Every online mode also builds a result report for 2K's servers. Park, Pro-Am, MyCAREER's NBA games (solo and co-op), its drills and workouts, MyPLAYER online games, MyTEAM and its park, The W Online, Play Now Online, Legacy mode and the 2K League each have their own. They share one core.

NBA 2K27 · A RESULT REPORT (OUR NAMES)

game:        game id, session, game type, time played
             up to 16 answers to server challenges      // see "Beyond the shot"
each user:   win, loss, dropped, quit, completed, how the game ended
             teammate grade, and the plays behind it
             (good shot defense, stops, smart double teams,
              stopped fast breaks, stopped alley-oops)
each player: the box score, plus greens made on jump shots,
             layups and dunks, and in total
by mode:     Park court, streak and event; grind points, rep and badge XP;
             Takeover XP; whether skill boosts were free

In plain words: after an online game, 2K learns who played, how the game ended for each person, every player's box score with their greens split by shot type, and their teammate grade. Each mode adds its own progress. That's the record 2K's servers use to pay out VC, XP and rep, so the same report that carries progress also carries the evidence.

How the game ended for a playerWhat it means
CompletedPlayed to the end. A separate value covers a game that finished after a split (see "Beyond the shot").
Quit, dropped, cable pulledLeft on purpose, lost the connection, or the network went away mid-game. The game keeps these apart.
Players left, stalled, stalled more than onceThe game couldn't go on because others left or it stopped advancing.
Out of syncThis player's game stopped matching the others' and was voted out.
Kicked for idling, for fouls, for teammate grade, or otherRemoved by a conduct rule (see "Beyond the shot").
Cheat victim, cheat at faultThe game ended because of a cheat. The report records which side was hurt and which was at fault.
Cancelled, accepted an invite, result errorThe game didn't count, the player left to join another game, or the result couldn't be settled.

The 2K League gets the full picture

NBA 2K27 · THE 2K LEAGUE PLAYER REPORT (OUR NAMES)

timing, for jump shots, layups and free throws:
    a ten-bucket histogram, total shots, total timing error
expected makes, for threes, twos, layups and free throws:
    the sum of every shot's chance
also: catch-and-shoot and pick-and-roll makes and attempts,
      contest and block impact sums, inside and on the perimeter,
      passes thrown and caught, touches, dribble moves, time on the ball

In plain words: 2K League games, tryouts included, send the same ten-bucket timing histograms 2K19 and 2K20 sent for everyone, and each player's expected makes. Add up the chance of every shot a player took and you get how many they "should" have made. A player who beats that number game after game, with a narrow timing histogram, stands out. Everyone else's games send only the average and spread.

Beyond the shot: the rest of 2K27's fair-play code

The shot code is one layer. 2K27 also makes sure every machine in a game agrees, lets 2K's servers ask the game questions, and enforces conduct rules. None of these care how you time a jumper, but together they decide who stays in a game and what 2K hears about it.

When machines disagree

In an online game, every console or PC runs the same game at once and the machines keep checking that they still match. If one drifts, the game decides which machines are right by vote.

NBA 2K27 · RESOLVING A DESYNC (PARAPHRASED)

each machine in the game (up to 14) reports a check value of its game state
machines with the same value form a group
majority = the biggest group              // on a tie, the first one found

if the majority and this machine's group both have at least 2 machines:
    split: the groups can carry on as separate games
otherwise, one of three outcomes, each logged:
    keep this machine / remove a machine / end the game
the result report records "out of sync" or "completed after a split"

In plain words: when the machines' games stop matching, the biggest group of matching machines wins and the others are removed. If both sides have at least two machines, the game can split instead, so a game with many people in it doesn't end for everyone. It also means a change made to the game on one machine tends to get that machine dropped rather than help it: once its game stops matching the others, it loses the vote.

Three machines agree, one doesn't MACHINE 1MACHINE 2MACHINE 3MACHINE 4 check value Acheck value Acheck value Acheck value B REMOVED THE GAMES STOP MATCHINGMAJORITY KEEPS PLAYING · MACHINE 4 OUT OF SYNC Illustration of the vote in the code. With two or more machines on each side, the game can split instead.
Figure 9 · The desync voteMachine 4 is voted out

Every machine in the game reports a check value of its game state. Three agree and one doesn't, so the odd one out is removed as out of sync. That's why changing the game on your own machine tends to get you dropped rather than give you an edge.

Questions from 2K's servers

NBA 2K27 · A SERVER CHALLENGE (PARAPHRASED)

2K's server sends a challenge: a small script
if the report already holds 16 answers:  skip it
run the script                     // only the first, if there are several
store its answer in this game's result report
if anything goes wrong:  skip it and log why

In plain words: during an online game, 2K's servers can hand the game a small program to run and get its answer back with the game's result. The questions can change at any time without a game update, and the game can't know ahead of time what it'll be asked. What 2K actually asks isn't part of the game. It arrives with each challenge.

A question from 2K's server, answered in the result report 2K'S SERVERTHE GAMERESULT REPORT sends a small scriptruns it during playkeeps up to 16 answers scriptanswer the report, answers included, goes to 2K's servers when the game ends Illustration. What 2K asks isn't part of the game; it arrives with each challenge and can change at any time.
Figure 10 · A server challengePurple: script and answer · Grey: the report

2K's server sends the game a small script (purple), the game runs it during play, and the answer rides back in the result report (grey) when the game ends. The question can change at any time without a patch, so the game can't prepare for what it'll be asked.

Conduct rules

The same part of the code that handles online cheating also enforces how people behave in a game. Each mode's setup turns these rules on and sets their limits, and 2K's servers can override them, so the game itself carries no fixed limits.

RuleWhat it does
Idle checkKicks a player whose controller sits untouched for a set time. MyTEAM runs its own copy of this check.
Teammate gradeKicks a player whose teammate grade falls below a minimum.
FoulsKicks a player past a set number of fouls. A switch lets reaching fouls count toward the penalty limits.
Penalty limitsSeparate limits for penalties in a row and in total, and for reach-ins in a row and in total. A mode can ignore them in the fourth quarter.
PausesPause timers per player, a maximum pause time, seconds taken off for each pause, and an optional short timer.
Team-ups and spectatingSwitches for team-up games, which have their own idle and grade checks, and for whether spectators are allowed.

Settings against gameplay exploits

2K27's gameplay tuning also has settings aimed at exploits rather than cheats. Each has a value in the built-in tuning, and 2K's servers can change it online:

Does the code match what Mike Wang said?

Mike Wang made three claims about 2K27 shooting: no randomness makes you miss, a perfect release always goes in, and shot speed changes with stamina, defensive pressure, the catch, pull-ups and signature shot grades, which he called the skill gap.

ClaimWhat the code showsVerdict
No randomness makes you missEvery shot that isn't forced is drawn against its chance from a shuffled ten-card deck. In the built-in tuning the draw rarely decides anything: an Excellent on a look of 20% or better sits at 100% and any other timed release at 0. On poorer looks an Excellent stays under 100%, so the draw can miss it. Forced misses also exist for a team running hot, at any timing.Holds in the built-in tuning, apart from very poor looks and forced misses
Release perfectly and you make every shotA perfect release adds a bonus capped at a multiple of the chance, then the shot is drawn. In the built-in tuning an Excellent reaches 100% on any look of 20% or better, so it goes in unless the team's luck forces a miss. On very poor looks the window shrinks toward nothing, and the built-in limit for refusing Excellent under defense (99) is never reached.Holds in the built-in tuning on looks of 20% or better
Speed changes with stamina, pressure, the catch, the shotStamina and the closest defender move the shot's start and its speed range. The timing grade and release speed set how wide that range is. Pull-ups and catch-and-shoot are shot types with their own window scale.Matches
Not mentionedRandom speed for people's signature jump shots, from tables that rotate every seven minutes. Random spread on every jump shot's start and speed. A random shift of the perfect moment on contested shots.Left out
Not mentionedA random input hold once a player's attempts and field goal percentage are high enough.Left out
Not mentionedA team's luck streak changes its window size and can force makes and misses.Left out
"That's the skill gap"Part of the speed change follows the situation and can be learned. Part is a deliberate random draw that can only be reacted to, and shooting well switches on more of it.Partly

The code partly contradicts him. Timing is deliberately randomized for players as anti-cheat, a team's luck changes both its window and its results, and a shot that isn't forced is still drawn against its chance, as in 2K20. "Perfect means a make" holds in the built-in tuning for any look of 20% or better, but only because that tuning pushes a perfect release's chance to 100%, and 2K's servers can change it at any time.

How 2K19 and 2K20 handled cheating

NBA 2K19 2K19NBA 2K20 2K20NBA 2K27
Anti-cheat in the shot codeNoneNoneRandom speed tables, hot-shooter hold, rhythm stick check (switched off in the built-in tuning)
Timing reportTen-bucket histogramsThe sameAverage and spread per way of shooting; histograms and expected makes in 2K League games only

"None" means neither game's code has an anti-cheat setting or a flagged-shot counter. The deep-shot rule and the random target shift they did have are in How a shot works.

Why bans are slow

SignalSkilled playerFixed-delay scriptCamera setup
Spread of release errorWide, shifts from session to sessionVery tightTight
Late in games, tiredDriftsUnchangedUnchanged
Contested vs openIts own pattern for eachSame delay everywhereSame precision everywhere
When the connection lagsMisses moreMisses in a fixed wayAdapts, may stay perfect
After 2K27's speed table rotatesAdjusts by eyeDrifts off until retunedAdjusts by eye

One game holds only a few dozen jump shots per player. Telling a wobbling script from a great shooter takes hundreds of shots over many sessions. Then, even once a cheater is spotted, banning at once costs more than waiting:

  1. Hiding the signal. An instant ban tells the script maker exactly what was caught. Banning thousands together hides it.
  2. The bar for proof. A wrong ban hits someone who may have spent real money, and a higher bar needs more shots per account.
  3. A person reviews it. Statistics are evidence, not proof.
  4. Priorities. Each 2K game has a one-year cycle, and anti-cheat competes with features for time.

That's what players see: someone greens for months, then disappears in a wave with many others. 2K27's in-game defenses don't change that. They make scripts weaker in the meantime.

A note on PC

Every console cheat also works on PC, and PC adds software cheats. 2K27 adds EasyAntiCheat there in a peer-to-peer setup, where the anti-cheat can ask the game to remove another player, and the result is logged as a kick by the anti-cheat. It also votes out any machine whose game falls out of sync with the others (see "Beyond the shot") and reports at startup whether the PC's mod folder is empty. The catch is that the timing report is built on the player's own machine. A console guarantees that code is untouched, while a PC cheater who gets past the anti-cheat can send numbers that look human.

What 2K could do better

  1. Keep a record of every shot, not just game totals. Each shot with its situation (the speed drawn, stamina, contest, whether the hold was on) would be far stronger evidence. A person's error moves with the situation; a script's stays flat even when the speed changes. 2K already sends more for the 2K League, which gets full histograms and expected makes. Every ranked mode could get the same.
  2. Check raw input on every shot. 2K27 only checks rhythm-stick motions. Button shots have tells too: press lengths that repeat to the millisecond, releases that land on the same input poll every time.
  3. Bring back a rule for repeated perfect deep shots. 2K19 and 2K20 had one past 60 feet. A rule that counts repeated Excellents from 35 feet and out would hit half-court scripts without touching normal shooters.
  4. Aim the hold at scripts, not at good shooting. The hot-shooter hold triggers on field goal percentage alone. Triggering it on a near-zero timing spread would hit scripts and spare great shooters having a hot night.
  5. Make the meter harder to read by camera. Small changes to the meter's position or shape on each shot cost a person almost nothing, and a camera setup trained on one look has to be retrained.
  6. Act quietly while the evidence builds. Flagged accounts could be matched with each other or kept out of ranked modes without revealing which signal fired.
  7. Make bans cost more. Console-level bans and loss of VC and items on confirmed cases mean a ban isn't solved by buying a new account.
  8. Let players report a specific shot. A report tied to a replay moment, with that shot's input timing attached, gives reviewers evidence instead of a name.
  9. Push the console makers for signed input. A controller's license check proves it's licensed, not that each press came from it. Only Sony and Microsoft can change that.

What 2K can't do

No single change ends scripting. 2K27's randomness beats fixed delays, its reports let statistics catch the rest over time, and its hot-shooter hold is already a quiet penalty inside the game. What it doesn't have is any rule that treats a half-court Excellent differently from a free throw.

Code blocks paraphrase what the game does in our own words; the names are ours, and no game code or assets are reproduced. Built-in values are Patch 2's; online games can use different values sent by 2K's servers. How cheat devices and console license checks behave, and how publishers run ban waves, is described from public knowledge. NBA 2K is a trademark of Take-Two Interactive; MyBaller is not affiliated with or endorsed by 2K.

ALL DOCUMENTS