Patch for playing world record games in Black Ops II Zombies for First Room games. It is fully tuned to ensure integrity of every type of First Room games accordingly to most recent ruleset (including vote from April 2023). This patch has previously been known as First Room Fix.
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
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 First Room games. Below you can see alternatives for other categories
Category | Patch | Creator | Link |
---|---|---|---|
Highrounds / Round speedruns | B2OP | Zi0 & Astrox | GitHub |
EE Speedrun | Easter Egg GSC Timer | HuthTV | GitHub |
Song Speedruns | B2SONG | Zi0 | GitHub |
Tip
For Black Ops III you can check oJumpy's community patches
Since version B2FR v1, the patch is only available for modern versions of Plutonium. Download most recent version of your choice from releases. Downloading raw code from code section will not work!
Download either of the scripts b2fr-hud.gsc
or b2fr-nohud.gsc
and put them in your Plutonium folder, which is located here by default:
%LOCALAPPDATA%\Plutonium\storage\t6\scripts\zm
Tip
You can press CTRL + R on your keyboard and paste this string there. Assuming you haven't changed any Plutonium paths, directory with scripts should open right away.
Starting on Plutonium version R4516, the launcher is able to show checksum of each of the patches you have as well as the entire game memory (i'm massively oversimplifying here, geeks give me a break). Here as an article about what a checksum is. Every file has a different signature, and changing as much as a single letter in the patch changes it's signature entirely.
As you can see on the screenshot above, each of the GSC files you have loaded into the game is listed by the game. Occurance of this data is navigated by cg_flashScriptHashes
DVAR (do not worry, the patch will set this DVAR for you automatically, no action required).
Line begins with the file descriptor. It'll either be the actual name of the GSC file (in case it's not compiled, which won't be the case for B2FR), or it'll say (raw (source))
which indicates a precompiled patch (much like B2FR). In the normal circumstances you're expected to have ranked.gsc
file (which comes with Plutonium) and one compiled patch. Now the checksum you're interested in is the highlighted part in the parenthesis (on that note, checksums on the screenshot are examples, don't use them for any kind of validation). It's a checksum generated by CRC32 algorithm, and is a unique signature of a patch.
Again, i use this term to help people understand the concept, please do not get mad. Those are checksums generated from the game memory and represent the factual state of your game. This is a combination of patches/mods you loaded and internal game stuff. Those can only be generated by the game and whether or not they'll be useful for checking legitimacy is to be seen. They are not part of this screenshot and are managed by a different DVAR cg_drawChecksums
(also managed by the patch).
Checksum of each new B2 patch version will be attached to the release, which will allow you to verify whether a valid patch is used yourself. In terms of what the patch do, it force enables displaying those checksums at the beginning of your game, and at the end of every even round past 20 will display both files checksums as well as game memory checksums for few seconds. They will be automatically hidden (it does it at the end of even round to not ruin screenshot of round milestones like a 100sr or something).
Yes, I'm currently deep into the process of the development of a tool that'll make managing this whole new concept simpler for both players and patch creators. It should be out in Q1 of 2025 (really depends how much time i have to work on it) and I'll be notifying people on B2 Discord so make sure to join (you'll find the invitation above), so this notice will be replaces with links to access the tools at that time.
- 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. 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.
- Is there anything i need to worry about regarding legitimacy of my game while using this patch?
- 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. There isn't anything in this patch that is strictly forbidden for let's say a highround, however certain features may not be optimal or seen as grey area stuff by other communities.
- Always familiarize yourself with rules for a particular room / sub-category, this patch will not do all the work for you.
- I heard this patch may cause early errors
- Technically any external script you load into your game will cause extra overhead, but B2FR is stable enough for playing out a game. If you notice any issue regarding stability, please let me know. I'm just a human, mistakes can always be made
- Why support for other launchers has been dropped
- Because it is not needed. If you are playing solo offline games, you should be using Redacted Nightly or Ancient Plutonium without any patches, otherwise Plutonium (2905 or live) are the best option to play on.
- 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
velocity_meter 1
- Make sure you're using correct and up to date version and that the downloaded file is compiled (open in Notepad, if it's bunch of gibbrish, you know it's compiled)
- Remove other patches. B2 Extensions 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.)
- Fixed network frame (you may know it as a Tickrate issue)
- Reset backspeed values to the level of a Steam version (consistently with First Room ruleset)
- Fixed traps & JetGun (disabled for maps that don't need it)
- Automatic permaperks assignment (consistent with in-game logic)
- Automatic permaperks removal (if obtained illegaly, for instance during breaks)
- Optional character setting
- Disabled DOF (Depth of Field)
- On nuketown, the mannequin next to the yellow bus is automatically removed
- On Nuketown, players are warned if Jugg is going to be in the first room
- On Origins, reticle is always default
- On Origins, game is always in custom game mode (zombie blood from reward box)
Elements listed here are not present in nohud version of this patch
- HUD elements scale accordingly to aspect ratio (solo only, because it's dependent on the ratio of hosts game, cannot be changed for clients separately via gsc patch)
- Timer & Round timer
- Shows times for key splits (round 20, 30 etc)
- Velocity meter (toogleable with
velocity_meter
dvar, set to 1 or 0 respectively) - Horde count is printed out at the beginning of each round past 20 (works like zombacus, not a live zombie counter)
- Permaperks tracker (info when and what was gained / lost)
- Semtex prenades are printed out each round on Town Semtex and Nuketown No Magic
- Built in support for Top Barn challenge (integrity checks for rules and if players remain within the right area)
- Built it support for Yellow House challenge (integirity checks for rules and if players remain within the right area)
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 B2FR
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 |
Nube | Only on Buried. Will be actively taken away on Tranzit & Die Rise and also will be removed past round 10 on Buried |
Note
The game will restart automatically after awarding players with permaperks.
Up until version 3.0, it was possible to set characters via Plugins system, but it's not particulary easy nor user friendly, so a new version of this system has been created.
In order to set a character, paste the right command into the console in the main menu (or at any point before the game actually begins). You may have to leave the map and enter again for it to take effect if you do it in game. For survival maps, host setting applies to all players. Please note, if a character is already taken, your setting will not be applied.
Note
You don't need to have the patch in to enter this command. But host of your game needs to have it, so it's properly interpreted.
- CIA
statwriteddl playerstatsbymap zm_highrise weaponlocker lh_clip 2;uploadstats
- CDC
statwriteddl playerstatsbymap zm_highrise weaponlocker lh_clip 1;uploadstats
- Misty
statwriteddl playerstatsbymap zm_highrise weaponlocker clip 3;uploadstats
- Russman
statwriteddl playerstatsbymap zm_highrise weaponlocker clip 1;uploadstats
- Stuhlinger
statwriteddl playerstatsbymap zm_highrise weaponlocker clip 2;uploadstats
- Marlton
statwriteddl playerstatsbymap zm_highrise weaponlocker clip 4;uploadstats
- Weasel
statwriteddl playerstatsbymap zm_highrise weaponlocker stock 4;uploadstats
- Billy
statwriteddl playerstatsbymap zm_highrise weaponlocker stock 3;uploadstats
- Sal
statwriteddl playerstatsbymap zm_highrise weaponlocker stock 2;uploadstats
- Finn
statwriteddl playerstatsbymap zm_highrise weaponlocker stock 1;uploadstats
- Dempsey
statwriteddl playerstatsbymap zm_highrise weaponlocker alt_clip 1;uploadstats
- Nikolai
statwriteddl playerstatsbymap zm_highrise weaponlocker alt_clip 2;uploadstats
- Takeo
statwriteddl playerstatsbymap zm_highrise weaponlocker alt_clip 4;uploadstats
- Richtofen
statwriteddl playerstatsbymap zm_highrise weaponlocker alt_clip 3;uploadstats
In order to disable presets (to restore randomized characters) use following commands
- Survival maps
statwriteddl playerstatsbymap zm_highrise weaponlocker lh_clip 0;uploadstats
- Tranzit / Die Rise / Buried
statwriteddl playerstatsbymap zm_highrise weaponlocker clip 0;uploadstats
- Mob of the Dead
statwriteddl playerstatsbymap zm_highrise weaponlocker stock 0;uploadstats
- Origins
statwriteddl playerstatsbymap zm_highrise weaponlocker alt_clip 0;uploadstats
You can use chat commands to manage characters. After changing the settings, the game will have to be restarted to take effect (that's the recommended way to change characters in game, as stat command may not always work). The patch will only listen for the chat messages about characters for first two rounds. Enter following message into the chat:
char name
Where name is the name of the character. Following values are accepted:
misty russman stuhlinger marlton weasel billy sal finn dempsey nikolai takeo richtofen cia cdc
You can also reset character presets by typing in
char reset
Tip
You can check which preset you currently have set by entering whoami
in the chat
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.
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 it in the main directory of the project.
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.
Note
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
Since some people just don't like updating, I'm leaving this legacy info regarding current state of legitimacy of old versions
I will not be going deep into how and why Network Frame drama even came to be. But regarding First Room Fix, initial version of the fix has been implemented in Version 4, and remained unchaged until Version 5.2
That initial version of the fix was incorrect.
VERSION | LEGIT - SOLO | LEGIT - COOP |
---|---|---|
V3 & NO PATCH | NO | YES |
V4 & V5.0 & V5.1 | YES | NO |
V5.2+ | YES | YES |
There was a flaw somewhere in the permaperk logic, that was causing the system to malfunction under certain conditions, if the perks are artificially awarded in the same game.
There's been few versions of the system, but up until version 6, the system was more or less malfunctioning
VERSION | RISK - SOLO | RISK - COOP |
---|---|---|
V4 | HIGH | HIGH |
V5.0 - V5.5 | HIGH | HIGH |
V5.6 | LOW | HIGH |
V5.7 | ZERO (system disabled) | ZERO (system disabled) |
V6 | VERY LOW | VERY LOW |