Sanji-Better_Rollback_Netcode_EXPERIMENTAL_BETA icon

Better Rollback Netcode EXPERIMENTAL BETA

[BETA] An attempt to make the netcode in NASB better!

By Sanji
Last updated 2 years ago
Total downloads 1644
Total rating 0 
Categories Mods
Dependency string Sanji-Better_Rollback_Netcode_EXPERIMENTAL_BETA-2.3.0
Dependants 0 other packages depend on this package

This mod requires the following mods to function

BepInEx-BepInExPack_NASB-5.4.17 icon
BepInEx-BepInExPack_NASB

BepInEx pack for Nickelodeon All-Star Brawl. Preconfigured and ready to use.

Preferred version: 5.4.17

README

Better Rollback Netcode (BETA)

This is a special release of the netcode mod with much more ambitious changes made to the game.

Changes:

  • Aggressively change the rollback input buffer size.
  • Attempts to reduce input delays by temporarily allowing the game to zoom past the opponent if they stall.
  • Make the buffer size more dynamic. It attempts to ensure that there are always 2 frames buffered from the opponent.
  • Do not speed up to catch a speeding opponent.

NASB has an issue with its netcode which causes one person to get a lot of teleporting and rollback and the other person is fine. Only one player in a 1v1 needs the patch for it to work.

If you have an older version of the mod, you are now free to return to the Assembly-CSharp.dll the game came with! I strongly recommend returning to the original DLL file. If you forgot to back it up, follow the Steam directions to verify the integrity of your game files.

If it works properly, you should see the following things:

  1. The opponent should stay with ~50% green bars and not teleport across the screen.
  2. There may be occasional frame skips or hitches to keep the clocks synchronized.
  3. Rollback pain should be equally split across both players and not overwhelmingly on one. No more one-sided rollback! ʰᵒᵖᵉᶠᵘˡˡʸ!

This mod changes the netcode to prevent one-sided rollback by working around the clock sync bug. This is v4 of the netcode fix. It is compatible for play with unpatched games and users on v1-v3 of the netcode fix.

Here's a few streamer reactions I found on Twitch after they installed the fix.

https://clips.twitch.tv/ApatheticSeductivePhoneOneHand-lfLgANPYsNxUENve

https://clips.twitch.tv/AbstruseSeductivePastaPMSTwin-v68hChGsHNuCxUJS

Changelog

v2.3.0:

  • Added a dynamic delay frame system. To disable this, go to the config file and turn off "Add dynamic amounts of delay frames"
  • Bizarrely, yes, low latency mode AND dynamic amounts of delay frames are compatible with each other :) But for the absolute lowest latency, you should disable the dynamic frame delay system.

v2.2.0:

  • Re-fixed the clock sync bug...
  • Read the opponent's inputs twice in one cycle to reduce rollbacks.

v1.6.1:

  • In response to user feedback, low input lag mode is now default on.

v1.6.0:

  • Added a low input latency mode which reduces latency when games have a ping over 64ms. To enable low latency mode, go to C:\Program Files (x86)\Steam\steamapps\common\Nickelodeon All-Star Brawl\BepInEx\config and open up sjw.nick_better_netcode.cfg in Notepad. Change Prioritize lower input delay over fewer rollbacks when pings exceeds 64ms from false to true. If you do this process while running the game, restart your game as well.

v1.5.0:

  • Replaced the additional logging with a summation log at the end of the match to improve performance.

v1.4.1:

  • Fixed a bug where the clock sync would overshoot if enemy inputs were delayed on the same frame.
  • Added additional logging to help diagnose issues for players having issues with the patch.
  • Make the patch detection heuristic stricter to reduce falsing.

Installation

The easiest way to install this is to use the Slime Mod Manager.

Manual Installation

If your game isn't modded with BepinEx, DO THAT FIRST! Simply go to the latest BepinEx release and extract BepinEx_x64_VERSION.zip directly into your game's folder, then run the game once to install BepinEx properly.

Then, go to the latest release of this mod and place the dll into your plugins folder (BepInEx/plugins).

Usage

No configuration needed!

FAQs

Help! I see a black screen and a debug message when I open my game after I patched it!

  • Be sure that the patched file has the same filename as the original. That happens if the game can't find Assembly-CSharp.dll

Instead of feeling good, the game feels like laggy delay netcode with the patch. What's going on?

  • Please try reducing the graphical settings to lowest, turning off anti aliasing, and reducing the game's resolution.
  • If that still doesn't work, add the following Steam launch commands to your game.
-AA=none -ambientOcclusion=off -chromaticAberration=off -bloom=off -vignette=off -colorGrading=off

If that still doesn't work, try turning off low input delay mode.

Go to C:\Program Files (x86)\Steam\steamapps\common\Nickelodeon All-Star Brawl\BepInEx\config and open up sjw.nick_better_netcode.cfg in Notepad. Change Prioritize lower input delay over fewer rollbacks when pings exceeds 64ms from true to false. If you do this process while running the game, restart your game as well.

What does this patch actually do?

  • The issue with the netcode is a clock sync bug, similar to the issues that SFV had. I modified the netcode to make it slow your game down if your clock trends ahead of your opponent. Additionally, if we detect the other side isn't using the patch and refuses to slowdown for us, we send extra inputs and speed up our local clock to catch up. If we detect both players are using the patch, the "speed up" is disabled because the other side will cooperatively slow down their game if they run too fast.

What's the difference between v3 and v4?

  • v4 will cause less frame hitches by trying to detect when no clock sync corrections are needed due to very momentary network disturbances.