Network System Clock Abuse

Revision as of 07:26, 24 October 2020 by Grady (talk | contribs)

Network System Clock Abuse, often abbreviated as NSCA and sometimes referred to as Double DSTA, is a trick that allows the clock fast-forwarding effect achieved by Daylight Savings Time Abuse to be used a second time (and in some cases, a third) throughout a speedrun without opening the Switch's home menu. The trick involves connecting the console to the Internet mid-run, which causes the Switch to realize its clock is behind and fast-forward it accordingly.

Explanation

The Nintendo Switch keeps track of two separate system clocks. The one that the user directly interacts with is called the Local System Clock, or LSC. The user can edit the LSC directly in the system settings, and the LSC is also what Super Mario Odyssey uses to determine the time. When speedrunners set up Daylight Savings Time Abuse, they are changing the value of the LSC.

However, the Switch also maintains a second system clock called the Network System Clock, or NSC. This clock serves to keep track of what the system essentially believes to be the actual real-world time, and it cannot normally be edited by the user. Upon connecting to the Internet, the Switch communicates with one of Nintendo's servers, which calibrates the Switch's NSC by sending it the current time. In the Switch's settings, there is an option called "Synchronize Clock via Internet" that will match the value of the LSC to that of the NSC, so that the LSC reflects the time in the real world. An Internet connection is not actually required to use this setting, since the NSC will keep ticking in the background even if Internet is disabled.

However, if the Switch has never actually been connected to the Internet before (this can be accomplished by factory resetting the console), the system simply matches the NSC to the LSC as a fail-safe. This means that if the console has never been connected to Internet, the user can set the NSC to any desired value.

This allows the user to set the NSC to some time in the past, then connect the console to the Internet mid-run to calibrate the NSC and cause it to catch up to the real-world time (which can be used to grow a seed). The console can be connected to the Internet mid-run without losing time by holding the home button to open the Switch's quick menu and disabling Airplane Mode; the game will keep running in the background while this menu is open. This is the idea behind NSCA.

However, in order to connect the Switch to the Internet simply by disabling Airplane Mode, an Internet connection must have been established earlier. Normally, establishing an Internet connection would calibrate the NSC, which would defeat the purpose of NSCA since it requires the clock to be calibrated for the first time in the middle of the speedrun. To prevent the NSC from being calibrated when first setting up the Internet connection, one must temporarily block the server that the Switch communicates with to calibrate the NSC in their router's settings. This block must then be reversed later after enabling Airplane Mode, so that disabling Airplane Mode during the speedrun calibrates the NSC.

Execution

The trick can be performed in a speedrun using the following steps:

  • Factory reset the console. This is done to allow the NSC to match the value of the LSC set by the user.
  • Block the hostname aauth-lp1.ndas.srv.nintendo.net in your router's settings. This can be accomplished by following this guide (which should be adaptable to any router, not just Google Wifi).
  • Set up an Internet connection on the Switch by connecting it to that router, then enable Airplane Mode.
  • Unblock the hostname in the router's settings by following the same steps used to block it.
  • Set up Daylight Savings Time Abuse by setting the system clock to just before Daylight Savings Time strikes.
  • Start the speedrun and play it as normal, using DSTA to grow the first seed.
  • After planting a second seed later in the run, open the Switch's quick menu and disable Airplane Mode. This should cause the Switch to reconnect to the Internet, realize the NSC is behind, and fast-forward it accordingly.