Logo

.nehalem

CONTENTS

Burnout 3: Takedown
PS2 Retail WIP
Burnout Revenge
PS2 Retail Single Event Mod
WIP
Burnout Online PlayStation 2

Burnout Online - PlayStation 2

Thanks to /dev/ghostline’s server emulator it is now possible to use online functionalities of the game again.

On this page you will find technical explanations and download links of network patches.

The server emulator is currently reachable through the following URL: bosrv.org.

Table of Contents

Evolution of Patching Methods

Three steps are mandatory to properly connect to the server emulator:

The original server URL and the DNAS logic are located in the game executable (SLXX_XXX.XX) which is to be loaded in the EE (Emotion Engine) memory aka the “main” memory. Tampering with the EE memory is widely supported both on the emulation side (PNACH, Cheat Engine, etc.) or real hardware side (Action Replay, ps2rd, etc.).

However the certificate validation is located in an IRX file (DRTYSCKF.IRX, EA’s “DirtySock” library handling all the network communications while playing online) which is to be loaded in the IOP (I/O Processor) memory. Tampering with the IOP memory is pretty uncommon and can’t be achieved easily on real consoles. On the emulation side, PNACH patches can target the IOP but using fixed memory addresses tends to be unreliable.

Modified ISO

Initially, the usual method for connecting to the server emulator was to apply xdelta patches to the game disc image. This method doesn’t involve any memory tampering but requires the ability to run modified disc images, implying for real hardware owners to rely on homebrews/swapping tricks/etc. Two downsides in my opinon.

On the emulation side, PNACH patches targeting both EE and IOP were also available, but as said earlier, IOP memory patches (patch=1,IOP,[...]) aren’t reliable, these patches weren’t working for everyone.

On-ThEE-Fly

I didn’t want to look further into the PNACH IOP issue and wanted to investigate onto something guaranteed to work on both sides, and I ended up finding an alternative method (now outdated) to patch and load DRTYSCKF.IRX while only using the EE.

Knowing that the action of telling the IOP to load an IRX file is initiated from the EE by calling a function named sceSifLoadModule, I looked around “sceSif” functions and noticed a very interesting one called sceSifLoadModuleBuffer. As its name describes, it can load an IRX file from a buffer residing in the EE memory, exactly what I needed.

This approach consists of mapping DRTYSCKF.IRX from the disc into an EE memory buffer (using sceOpen, sceRead, etc.), patch it as we wish and then make the game call sceSifLoadModuleBuffer instead of sceSifLoadModule when DRTYSCKF.IRX gets loaded. This will prevent the IRX file to be retrieved directly from the game files and use our buffer instead.

Vanilla IOP

While working on some network patches for Revenge, I got curious about a ProtoSSL bug which has been briefly discussed in the Burnout Online Discord server, opinions were mixed regarding its existence in PS2 Burnout games but it didn’t went a lot further.

I decided to give it a shot and noticed that the bug was indeed present in DRTYSCKF.IRX for both Takedown and Revenge. After some tweaking, I managed to make the server emulator certificate reach and trigger the bug. I made a merge request which has been accepted. We can now access the server emulator without altering the IOP.

Patches

Burnout 3: Takedown

Patch Title Patch Description
Disable UPnP Prevent the game from using UPnP
Ensure SSL Prevent the game from falling back to insecure (no SSL) mode (can sometimes happen and cause errors)
Server URL (bosrv.org) Replace the original server URL in order to connect to /dev/ghostline's server emulator
Bypass DNAS Fully bypass the DNAS sequence
Buddies/Disable Module Disable the Buddies module (which is currently causing pre-game timeouts)
Lobby/Allow Single Player Set the minimum number of players required to start a game to 1
Lobby/Heavyweights Globally Available Allow heavyweights to be selectable in the garage regardless of the chosen game mode
In-Game/Hide Lost Connection Message Hide the "Lost connection to other players" error message (useful while playing alone)
MANDATORY
RECOMMENDED

Burnout Revenge

Online mode for Burnout Revenge is currently unstable, you need to activate some temporary fixes to avoid frequent game crashes.

You also need to create an account on Burnout 3: Takedown in order to properly log in on Revenge, EA Nation is not supported yet.

For more information, you can try to ask on the Burnout Online Discord server.

Patch Title Patch Description
Disable UPnP Prevent the game from using UPnP
Ensure SSL Prevent the game from falling back to insecure (no SSL) mode (can sometimes happen and cause errors)
Server URL (bosrv.org) Replace the original server URL in order to connect to /dev/ghostline's server emulator
Bypass DNAS Fully bypass the DNAS sequence
Buddies/Disable Module Disable the Buddies module
Lobby/Reduce Server Connection Timeout Reduce the timeout delay of the connecting screen to 10 seconds before throwing an error when the server is unresponsive (default is 2 minutes)
Lobby/Allow Single Player Set the minimum number of players required to start a game to 1
Lobby/Show Logout Popup (L3+R3) Press L3+R3 for an attempt to show the logout popup (might help in case of softlocks, etc.)
Lobby/Traffic Attack (Hold L1+R1) Hold L1+R1 in game options and press continue to set the game mode to Traffic Attack
Lobby/Revenge Racer By Default Directly focus on the Revenge Racer (when available) after entering the car select menu
In-Game/Disable Drag Coeff Disable the adaptative drag coefficient based on distance away from other players
In-Game/Enable Crashbreaker Enable Crashbreaker in online games
Temporary Fixes/Account Verification Prevent the "verifying account" game crash
Temporary Fixes/Rankings Disable some rankings-related logic to prevent game crashes
MANDATORY
RECOMMENDED

Downloads

Burnout 3: Takedown

Serial PCSX2 PS2
SLES-52584 ⬇️ ⬇️
SLES-52585 ⬇️ ⬇️
SLKA-25206 ⬇️ ⬇️
SLPM-65719 ⬇️ ⬇️
SLUS-21050 ⬇️ ⬇️

Burnout Revenge

Serial PCSX2 PS2
SLAJ-25066 ⬇️ ⬇️
SLES-53506 ⬇️ ⬇️
SLES-53507 ⬇️ ⬇️
SLKA-25304 ⬇️ ⬇️
SLUS-21242 ⬇️ ⬇️