Patch for playing world record games in Black Ops II Zombies. Made based on community decision to create an official community patch from March 2023. What makes this patch stick out from among countless patches that have come before it, is focus on optimization, stability, and user freedom. Stuff like box or fridge overrides are fully optional and invoked in-game by the players.
Patch has already proved itself in multiple top games, including, but not limited to:
- Town 99 No Jug WR by Slewya
- Origins 164 WR by Dxruma
- Buried 255 WR by Blasteress
- Mob of the Dead 31:09 30sr WR by Becca
- Buried 150 No Power coop WR by Astrox & Nessquik
Please inform me about any issues you may encounter with the patch, so they can be fixed, preferably with decent amount of information in what circumstances an issue occured. The main channel for issues is GitHubs Issues section, although it won't hurt to ask about it on Discord first
I'm currently the sole developer for B2OP, but the person making almost all important decisions is Astrox. The best way to talk to both of us about the patch is joining the Discord from the link above and talk in the dedicated B2 section
Before reporting a problem, please check out the FAQ section down below, you may find answers you're looking for there
This patch is meant to be used during games of Highrounds, No Powers & Round Speedruns. Below you can see alternatives for other categories
Category | Patch | Creator | Link |
---|---|---|---|
First Room | B2FR | Zi0 | GitHub |
EE Speedrun | Easter Egg GSC Timer | HuthTV | GitHub |
Song Speedruns | B2SONG | Zi0 | GitHub |
Since version 2.0, all scripts that are meant to be used by players are available in releases section. Downloading raw code from code section will not work!
Download script b2op-plutonium.gsc
from releases section, and put it in your Plutonium folder, by default it's located in:
%LOCALAPPDATA%\Plutonium\storage\t6\scripts\zm
You may access above directory by pressing WINDOWS + R on your keyboard, paste above line to the prompt and press enter.
For previous versions, network frame fix script was separate, but now it is built into the patch version for Plutonium (for this reason make sure not to use version for Redacted or Ancient on Plutonium)
Download script b2op-redacted.gsc
from releases section, and put it in script folder in your Redacted directory.
.\data\scripts
DISCLAIMER
I have found a way of "fixing" the problem with network frame on Ancient Plutonium. In order to do that i need to ship B2OP for that launcher alongside existing 3arc code, which we obtained by decompiling game scripts. Because of it, they many not 100% reflect the proper game logic, we believe it's accurate but it's only as good as the decompiler. Because of that fact, I CAN NOT guarantee the game integrity to the extent i can do that with other versions of this patch, use at your own risk!
INSTALLATION
To install, download b2op-ancient.zip
from releases section, and inject it the same way as other patches for Ancient. Do note, zip contains a directory structure and filename that you're suppose to inject without changing it, so far people always injected files called _clientids.gsc
, but in this case it would not work.
Another thing to note, if you ever tried to inject a patch into Ancient, you know it tends to fail at times. With this patch it fails more, it sometimes can take few minutes of attempts to successfully inject.
- My game is restarting automatically, how do i fix it?
- You don't, that's intended behavior of the system that's giving you permaperks to prevent a rare bug where permaperks were not taken away from players sometimes. How it works is you load into the game, each player is scanned for missing permaperks, if anyone is missing something, they're awarded missing permaperks, and then the game will force a restart. After the restart you are free to carry on. Do note, most of the time you are going to lose some of the perks almost instantly, so restarts few minutes in will require the process to repeat. Since version 2.0, if you restart on round 1, the permaperk awarding system will not be initiated to prevent issues like infinite restarts on Tranzit, where players would kill a zombie too fast and game would just keep giving them perma headshot damage back.
- I put the patch in the right folder but it does not work
- Make sure you downloaded compiled version from releases section (do not download the zip file called Source code, it is added to the release automatically by github and contains raw code, that is not going to work) and that you downloaded the right version for the right launcher. Failing to do so may result in the patch not working at all, or misbehaving, which in some situations can cause your game to not be legit. Always match names of released files with the launcher you're using. Read Installation instructions above.
- It says the patch gives players first box, which is not legit. How come this patch is deemed an official patch for BO2 records?
- That's because in order for weapons in the box to be changed, you have to explicitly execute the right command (or chat message, details below in Overriding box location section). If you don't do that, the box will remain untouched.
- Is there anything i need to worry about regarding legitimacy of my game while using this patch?
- Do not use First Box or Box Location modifiers while playing Highrounds, those are OK only for round speedruns (and other categories that explicitly allow it). Make sure you're using the correct version of the patch in relation to your launcher (for example, Redacted version will not fix Network Frame problem on Plutonium, etc.). Also do not use this patch for categories it's not meant for. I've linked alternatives to other categories in a table above in Categories section
- I heard this patch may cause early errors
- B2OP was built with optimizations for this kind of things in mind. But yes, technically any patch you load (even something so simple that has 5 lines of code and does only one thing) is an additional overhead for the game. From what we've seen so far from players using it, the patch does not directly contribute to any errors. One thing i can recommend is disabling HUD elements, because from what we've been able to measure, that has the biggest overhead from all of the things this patch does. See HUD section to check how to do that
- Why version for Ancient is so different
- Ancient has an internal bug that's causing something called network frame to have a wrong values on coop. What it does, is it's causing certain scripts to execute at different rates. In order to fix it on Ancient specifically, B2OP has to contain a big chunk of the 3arc code that it's replacing (alongside the function that has to be changed in order to fix the flawed network frame behavior). This is causing the file to be distributed as a zip (so you can extract the directory inside of it and it's ready for injection) and is noticeably bigger in size.
- What is a DVAR
- DVAR is a variable that player can (usually) modify from the game console. DVARs mentioned in this document are all changeable. In order to set a DVAR, press
~
button, then type in dvar name, and value you want to assign to it, like so
steam_backspeed 1
- Make sure you're using correct and up to date version downloaded from releases section on this page. Versions
- Remove other patches. B2 Plugins should not cause any issues, but if you are using any, for the sake of troubleshooting remove them as well.
- Check if the directory the patch is in is correct. Perhaps you have multiple instances of Plutonium or Redacted and you put it in the directory belonging to another instance.
- Basic anticheat capabilities (DVARs, Box etc.)
- Automatic permaperks assignment (consistent with in-game logic)
- Full bank
- Fixed strafe & backwards speed (but can be reverted by setting
steam_backspeed
to 1 and restarting) - Fixed traps & JetGun (disabled for maps that don't need it)
- Toogleable game / round timers
- Toogleable hud counting buildables
- Toogleable prints with time splits for key rounds
- Optional box override (First Box patch)
- Optional fridge override
- Disabled DOF (Depth of Field)
All HUD elements are toogleable (with the exception of watermarks), below is the table with DVARs that can be used to hide and show them. Change DVAR state by invoking the in-game command line (~
button by default), enter name of the DVAR and value following the spacebar. Do note, disabling hud elements reduces the overhead the patch has over the game, so if you're a fan of optimizations, toggle all of these off by pasting following line into your console
timers 0;splits 0;buildables 0
HUD element | DVAR | Default |
---|---|---|
Timers | timers 0/1 |
Enabled |
SPH print | splits 0/1 |
Enabled |
Buildables HUD | buildables 0/1 |
Enabled |
This patch has the following capabilites regarding box and fridge:
- Overriding weapon in the box (First Box Patch)
- Overriding starting box location
- Overriding weapon in the fridge (Fridge Patch)
None of the modules specified above will do anything to your game, unless specific actions are taken.
Player is allowed to change box location until either round 11 or until box is used.
To change box location, a DVAR lb
has to be set to the right value. Below is table with values that can be used to set the box.
Map | DVAR value | Corresponding location |
---|---|---|
Town | dt |
Double Tap cage |
Town | qr |
Quick Revive room |
Nuketown | yellow |
Behind yellow house |
Nuketown | green |
Behind green house |
Mob of the Dead | cafe |
Cafeteria |
Mob of the Dead | warden |
Warden's Office |
Origins | 2 |
Generator 2 |
Origins | 3 |
Generator 3 |
For example:
lb dt
Exclusively to new Plutonium, players can send a message in the game chat to make the box move, message would be the same as the DVAR change, so for example. To open in-game chat, players have to press t
.
For example:
lb dt
Player is allowed to override weapons in the box until round 11, as long as he would be able to get specified weapon under normal conditions.
Note, in a coop game there are scenarios where first box could give players guns they shouldn't be getting, players are responsible for using the module responsibly. Here is an example of something like this happening.
Player can still get a teddy bear from the box, despite overriding the weapon. If that happens, weapon has to be set again after box appeared in the new spot.
To set weapon in the box, a DVAR fb
bas to be set to the right value. Below is table with values that can be used to override weapon. It is also possible to put actual weapon code instead of the key below, assuming players know weapon codes.
Weapon | DVAR value |
---|---|
Ballistic Knife | bk |
Blundergat | blunder |
EMP | emp |
Monkeys | monk |
Paralyzer | paralyzer |
RayGun | mk1 |
RayGun MK2 | mk2 |
Sliquifier | sliq |
Time Bomb | time |
AK47 | ak47 |
AK74u | ak74 |
AN94 | an94 |
B23R (wall) | b23r |
B23R (box) | b23re |
Chicom CQB | chic |
Death Machine | dm |
DSR50 | dsr |
Executioner | exe |
Fal | fal |
Five-Seven | 57 |
Five-Seven DW | 257 |
Galil | galil |
HAMR | hamr |
KAP-40 | kap |
KSG | ksg |
LSAT | lsat |
M1216 | m1216 |
M1927 | tommy |
M14 | m14 |
M16 | m16 |
M27 | m27 |
M82A1 Barret | barret |
M8A1 | m8 |
MG08 | mg |
MP5 | mp5 |
MP40 | mp40 |
MTAR | mtar |
Olympia | oly |
PDW57 | pdw |
Python | pyt |
Remington 870 | remington |
RNMA | rnma |
RPD | rpd |
RPG | rpg |
Saiga | s12 |
Scar | scar |
Skorpion EVO | evo |
SVU AS | svu |
Tommy Gun | tommy |
Type 25 | type |
War Machine | wm |
For example:
fb mk2
Similar to box location, there is an exclusive feature for New Plutonium, where players can set weapons in the box via chat messages.
For example:
fb mk2
Additionally, players can chain multiple weapons via a single message with both methods, following example will yield the first box module triggering 3 times
fb mk2|monk|galil
Player is allowed to override weapons for himself and his time in the fridge until either round 11 or first use of the fridge. It is not possible to put in a weapon that'd not be possible to put during the normal game.
To override fridge weapon, a DVAR fridge
has to be set to the right value.
Values from this DVAR can be seen above (in the Overriding box weapon section), but in order to put upgraded weapon in the fridge, a +
has to be added in front of the weapon key.
Example for normal weapon:
fridge m16
Example for upgraded weapon:
fridge +m16
Exclusively to New Plutonium, fridge can be set using chat commands, and using this feature players can set weapons individially.
Example of player setting weapon for himself:
fridge m16
Example of player setting upgraded weapon for himself:
fridge +m16
Example of player setting weapons for everyone (host only):
fridge all m16
Example of player setting upgraded weapons for everyone (host only):
fridge all +m16
Patch does award players with permaperks on connect, but only at the beginning of the game. Players joining in progress will not be given any permaperks. Every player joining the game past round 15 will have PermaJug taken away from him. List of permaperks awarded by B2OP
Perk | Notes |
---|---|
Revive | - |
Better Headshots | - |
Tombstone | - |
Mini-Jug | Will not be awarded if game starts past round 15, will also actively be taken from players past round 15 |
Flopper | Only on Buried |
Better Box | Given only on Die Rise and Buried. Taken away on Tranzit. Will be forcibly taken away if First Box is used |
Cash Back | - |
Sniper Points | - |
Insta Kill | - |
Pistol Points | - |
Double Points | - |
Players are always recommended to restart the game after being given perma perks, restart is done automatically when situation allows for it, otherwise players have to map_restart
manually (the game will end automatically).
If you'd like to contribute to the code, please fork this repository, apply changes / fixes and open a pull request. If the change is in line with rules and the purpose of this patch, it'll be merged and a new version of the patch will be released.
Since version 2.0, it's become a bit harder to work on the patch (natural progression i suppose), following things are required:
Install Python (and make sure to check adding it to the system PATH while doing so). Download gsc-tool, do not change the name of the program. Put everything in the patch main directory.
After applying desired changes, run script compile.py
while in the patch main directory (press on address bar in the folder view, put cmd
and press enter. A command line will open with that folder already set). Run script by putting in python compile.py
. If you did everything right, script should compile everything for you and put stuff in right folders.
Please note, as the modding scene for BO2 is still very young, stuff and tech is changing rapidly. Above description may not always be up to date, but i will try to not let that happen too often.
THIS IS FOR ADVANCED USERS ONLY. The patch has few handles for external GSC scripts than can be used to modify certain behaviours in a controlled environment. Examples of such modification can be found in the B2 Extensions repository alongside further instructions