Toggle menu
Toggle preferences menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

QuickNTP Switch: Difference between revisions

From GameBrew
Created page with "{{Infobox Switch Homebrews |title=QuickNTP |image=quickntpswitch.png |description=A Tesla plugin for Nintendo Switch to sync time with NTP servers. |author=nedex |lastupdated=2023/04/04 |type=Plugins |version=1.2.8 |license=GPL-2.0 |download=https://dlhb.gamebrew.org/switchhomebrews/quickntpswitch.7z |website=https://gbatemp.net/threads/quickntp-sync-time-using-tesla.561716/ |source=https://github.com/nedex/QuickNTP |donation= }} {{#seo: |title=Switch Homebrew Apps (Plug..."
 
No edit summary
 
(9 intermediate revisions by 2 users not shown)
Line 1: Line 1:
{{Infobox Switch Homebrews
{{Infobox Switch Homebrews
|title=QuickNTP
|title=QuickNTP
|image=quickntpswitch.png
|image=quickntpnx.png
|description=A Tesla plugin for Nintendo Switch to sync time with NTP servers.
|description=A Tesla plugin for Nintendo Switch to sync time with NTP servers.
|author=nedex
|author=nedex
|lastupdated=2023/04/04
|lastupdated=2025/11/30
|type=Plugins
|type=Overlays
|version=1.2.8
|version=1.6.0
|license=GPL-2.0
|license=GPL-2.0
|download=https://dlhb.gamebrew.org/switchhomebrews/quickntpswitch.7z
|download=https://dlhb.gamebrew.org/switchhomebrews/quickntpnx.7z
|website=https://gbatemp.net/threads/quickntp-sync-time-using-tesla.561716/
|website=https://gbatemp.net/threads/quickntp-sync-time-using-tesla.561716/
|source=https://github.com/nedex/QuickNTP
|source=https://github.com/nedex/QuickNTP
|donation=
|donation=
}}
}}
{{#seo:
Using a custom DNS (or a limited connection) it's not possible to update your clock with Nintendo's servers and the Switch appears to gain some minutes each month.
|title=Switch Homebrew Apps (Plugins) - GameBrew
 
|title_mode=append
With QuickNTP, you can now quickly update your clock connecting to a public [https://en.wikipedia.org/wiki/Network_Time_Protocol NTP] server using [https://github.com/WerWolv/libtesla Tesla].
|image=quickntpswitch.png
|image_alt=QuickNTP
}}
QuickNTP is a Tesla plugin designed for Nintendo Switch that enables you to synchronize the system clock with NTP servers.


== Overview ==
'''Note:''' This program alters NetworkSystemClock, which could potentially result in a desync between console and servers. Use at your own risk.  
By utilizing a list of public NTP servers, QuickNTP can update your Nintendo Switch's clock. This is particularly helpful in situations where a custom DNS is being used or when the connection is limited. If you rely on Nintendo's servers for updating your clock, you may encounter an issue where the Switch's clock gains a few minutes each month. However, with QuickNTP, you can now quickly and easily update your clock by connecting to a public NTP server.


==Features==
==Features==
* Update the time by selecting from a list of servers
* Update the time by selecting from a list of servers customizable.
* Show the current offset against the selected server
* Show the current offset compared to the selected server
* Set the internal network time to the time set by the user in system settings (time traveling, yay!)
* Set the internal network time to the time set by the user in system settings (time traveling, yay!)
===Possible future features===
* Better error handling / messages
* Show a clock with seconds
* Turn the heart icon in a clock (have to check for the font)
* Get the time in a separated thread
* Pick the closest NTP server based on user region
* Update the time with milliseconds (maybe a system limitation)


==Requirements==
==Installation==
*Tesla overlay
Requires Tesla overlay ([[Tesla Menu Switch|Tesla-Menu]] and [[NX-ovlloader Switch|nx-ovlloader]]) installed.
 
Copy the .ovl file in <code>/switch/.overlays/</code>.
 
(Optional) Copy the .ini file in /config/ in the same directory.
 
Alternatively, use the [[Homebrew App Store Switch|HB App Store]] to install nx-ovlloader, Tesla-Menu and QuickNTP.
 
=== Customize servers ===
Since v1.5.0, you can create or modify the provided <code>quickntp.ini</code> file, with the following syntax:
 
<pre class="language-ini">[Servers]
My_Ntp_Server = ntp.example.com</pre>
Underscores will be replaced by spaces in the UI!
 
The homebrew will look for the file in the following locations (the first valid file will be used):
* /config/quickntp.ini
* /config/quickntp/config.ini
* /switch/.overlays/quickntp.ini
 
'''Note''': If the file is missing or invalid, only the <code>NTP Pool Main</code> server will be shown.


==Installation==
==User guide==
* Copy the .ovl file in /switch/.overlays/
Start the Tesla overlay with L+D-Pad-Down+Right Stick (no need to restart the console).
* Start the Tesla overlay (no need to restart the console)
* Select QuickNTP from the menu


==Screenshots==
Then select QuickNTP from the menu.
https://dlhb.gamebrew.org/switchhomebrews/quickntpswitch-01.png
https://dlhb.gamebrew.org/switchhomebrews/quickntpswitch-02.png


==Troubleshooting==
The "Synchronize Clock via Internet" option should be enabled in System settings [https://en-americas-support.nintendo.com/app/answers/detail/a_id/22557/p/989/c/188 as described here], since this program changes the "Network clock" (immutable in settings).
The "Synchronize Clock via Internet" option should be enabled in System settings [https://en-americas-support.nintendo.com/app/answers/detail/a_id/22557/p/989/c/188 as described here], since this program changes the "Network clock" (immutable in settings).


==Disclaimer==
===Disclaimer===
Please don't send a lot of requests. NTP servers should be requested in 36 hours intervals
Please don't send a lot of requests. NTP servers should be requested in 36 hours intervals.
This program changes NetworkSystemClock, which may cause a desync between console and servers. Use at your own risk! It is recommended that you only use the changed clock while offline, and change it back as soon as you are connected (either manually or using ntp.org server.)
 
This program changes NetworkSystemClock, which may cause a desync between console and servers. Use at your own risk. It is recommended that you only use the changed clock while offline, and change it back as soon as you are connected (either manually or using ntp.org server.)
 
==Screenshots==
https://dlhb.gamebrew.org/switchhomebrews/quickntpnx2.png


==Changelog==  
==Changelog==
'''v.1.2.8'''
'''1.6.0'''
* 4MB heap support ([https://github.com/nedex/QuickNTP/pull/16 #16]) (thanks to [https://github.com/ppkantorski @ppkantorski])
* Inverse order priority for config file as originally intended
'''1.5.2'''
* Updated to latest libnx for Atmosphere 1.10.0 support.
* Confirmed working on HOS 21.0.0 ([https://github.com/nedex/QuickNTP/issues/15 #15]).
* Working as usual on previous firmwares.
'''1.5.1'''
*Config file can now be placed in several valid locations.
'''1.5.0'''
*Updated to latest libnx and libtesla.
'''1.2.8-1'''
*Updated to latest libnx.
'''v1.2.8'''
*Updated to latest libtesla which fixes a crash in docked mode.
*Updated to latest libtesla which fixes a crash in docked mode.
'''v.1.2.7'''
*Special thanks to @DarkMatterCore for this update.
'''v1.2.7'''
*Support for 16.0.0
*Support for 16.0.0
'''v.1.2.6'''
'''v1.2.6'''
* Added Cloudflare and Google NTP servers ( Thanks to @DraconicNEO! )
* Added Cloudflare and Google NTP servers (Thanks to @DraconicNEO).
* Tested up to 15.0.1 with Atmosphere 1.4.0
* Tested up to 15.0.1 with Atmosphere 1.4.0.
'''v.1.2.5'''
'''v1.2.5'''
* Updated to C++20
* Updated to C++20.
* Code optimized: now using exceptions and "proper" strings
* Code optimized: now using exceptions and "proper" strings.
* Updated with libnx 4.2.1-1 and latest libtesla (930ce85).
* Updated with libnx 4.2.1-1 and latest libtesla (930ce85).
* Tested up to 14.1.2 with Atmosphere 1.3.2
* Tested up to 14.1.2 with Atmosphere 1.3.2.
'''v.1.2.1'''
'''v1.2.1'''
* Updated with libnx 4.1.3-1 and newer libtesla.
* Updated with libnx 4.1.3-1 and newer libtesla.
* Tested up to 12.1.0 with Atmosphere 0.19.5
* Tested up to 12.1.0 with Atmosphere 0.19.5.
'''v.1.2.0'''
'''v1.2.0'''
* Added new option to set network time to user-set time
* Added new option to set network time to user-set time.
* Tested up to 10.2.0 with Atmosphere 0.14.4
* Tested up to 10.2.0 with Atmosphere 0.14.4.
'''v.1.1.1'''
'''v1.1.1'''
* Updated with libnx 3.3.0 and latest libtesla.
* Updated with libnx 3.3.0 and latest libtesla.
* Tested up to 10.2.0 with Atmosphere 0.14.4
* Tested up to 10.2.0 with Atmosphere 0.14.4.
'''v.1.1.0'''
'''v1.1.0'''
* Update including minor changes, with latest libnx and libtesla.
* Update including minor changes, with latest libnx and libtesla.
* Tested up to 10.0.2, with Atmosphere 0.12.0
* Tested up to 10.0.2, with Atmosphere 0.12.0.
'''v.1.0'''
'''v1.0'''
* First Release.
* First Release.


==Credits==
==Credits==
===Code and libraries===
Contributors:
* @3096 for SwitchTime who gave me the initial idea and some code examples
* [https://github.com/DarkMatterCore @DarkMatterCore] (library updates).
* @thedax for NX-ntpc, used by @3096
* [https://github.com/DraconicNEO @DraconicNEO] (new NTP servers).
* @SanketDG for the [https://github.com/SanketDG/c-projects/blob/master/ntp-client.c NTP Client] using getaddrinfo instead of gethostbyname
 
* @WerWolv for libtesla
Code and libraries:
* [https://github.com/3096 @3096] for <code>SwitchTime</code> who gave me the initial idea and some code examples.
* [https://github.com/thedax @thedax] for <code>NX-ntpc</code>, used by [https://github.com/3096 @3096].
* [https://github.com/SanketDG @SanketDG] for the [https://github.com/SanketDG/c-projects/blob/master/ntp-client.c NTP Client] using <code>getaddrinfo</code> instead of <code>gethostbyname</code>.
* [https://github.com/WerWolv @WerWolv] for <code>libtesla</code>.


===Contributors===
NTP Public servers:
* @DarkMatterCore (library updates)
*[https://www.ntppool.org/ NTP Pool Project].
* @DraconicNEO (new NTP servers)
*[https://www.cloudflare.com/time/ Cloudflare Time Services].
*[https://developers.google.com/time Google Public NTP].
*[https://tf.nist.gov/tf-cgi/servers.cgi NIST Internet Time Servers].


== External links ==
== External links ==
* Gbatemp - https://gbatemp.net/threads/quickntp-sync-time-using-tesla.561716/
* GitHub - https://github.com/nedex/QuickNTP
* Github - https://github.com/nedex/QuickNTP
* GBAtemp - https://gbatemp.net/threads/quickntp-sync-time-using-tesla.561716/
* Homebrew App Store - https://apps.fortheusers.org/switch/QuickNTP

Latest revision as of 03:34, 30 November 2025

QuickNTP
General
Authornedex
TypeOverlays
Version1.6.0
LicenseGPL-2.0
Last Updated2025/11/30
Links
Download
Website
Source

Using a custom DNS (or a limited connection) it's not possible to update your clock with Nintendo's servers and the Switch appears to gain some minutes each month.

With QuickNTP, you can now quickly update your clock connecting to a public NTP server using Tesla.

Note: This program alters NetworkSystemClock, which could potentially result in a desync between console and servers. Use at your own risk.

Features

  • Update the time by selecting from a list of servers customizable.
  • Show the current offset compared to the selected server
  • Set the internal network time to the time set by the user in system settings (time traveling, yay!)

Installation

Requires Tesla overlay (Tesla-Menu and nx-ovlloader) installed.

Copy the .ovl file in /switch/.overlays/.

(Optional) Copy the .ini file in /config/ in the same directory.

Alternatively, use the HB App Store to install nx-ovlloader, Tesla-Menu and QuickNTP.

Customize servers

Since v1.5.0, you can create or modify the provided quickntp.ini file, with the following syntax:

[Servers]
My_Ntp_Server = ntp.example.com

Underscores will be replaced by spaces in the UI!

The homebrew will look for the file in the following locations (the first valid file will be used):

  • /config/quickntp.ini
  • /config/quickntp/config.ini
  • /switch/.overlays/quickntp.ini

Note: If the file is missing or invalid, only the NTP Pool Main server will be shown.

User guide

Start the Tesla overlay with L+D-Pad-Down+Right Stick (no need to restart the console).

Then select QuickNTP from the menu.

The "Synchronize Clock via Internet" option should be enabled in System settings as described here, since this program changes the "Network clock" (immutable in settings).

Disclaimer

Please don't send a lot of requests. NTP servers should be requested in 36 hours intervals.

This program changes NetworkSystemClock, which may cause a desync between console and servers. Use at your own risk. It is recommended that you only use the changed clock while offline, and change it back as soon as you are connected (either manually or using ntp.org server.)

Screenshots

quickntpnx2.png

Changelog

1.6.0

  • 4MB heap support (#16) (thanks to @ppkantorski)
  • Inverse order priority for config file as originally intended

1.5.2

  • Updated to latest libnx for Atmosphere 1.10.0 support.
  • Confirmed working on HOS 21.0.0 (#15).
  • Working as usual on previous firmwares.

1.5.1

  • Config file can now be placed in several valid locations.

1.5.0

  • Updated to latest libnx and libtesla.

1.2.8-1

  • Updated to latest libnx.

v1.2.8

  • Updated to latest libtesla which fixes a crash in docked mode.
  • Special thanks to @DarkMatterCore for this update.

v1.2.7

  • Support for 16.0.0

v1.2.6

  • Added Cloudflare and Google NTP servers (Thanks to @DraconicNEO).
  • Tested up to 15.0.1 with Atmosphere 1.4.0.

v1.2.5

  • Updated to C++20.
  • Code optimized: now using exceptions and "proper" strings.
  • Updated with libnx 4.2.1-1 and latest libtesla (930ce85).
  • Tested up to 14.1.2 with Atmosphere 1.3.2.

v1.2.1

  • Updated with libnx 4.1.3-1 and newer libtesla.
  • Tested up to 12.1.0 with Atmosphere 0.19.5.

v1.2.0

  • Added new option to set network time to user-set time.
  • Tested up to 10.2.0 with Atmosphere 0.14.4.

v1.1.1

  • Updated with libnx 3.3.0 and latest libtesla.
  • Tested up to 10.2.0 with Atmosphere 0.14.4.

v1.1.0

  • Update including minor changes, with latest libnx and libtesla.
  • Tested up to 10.0.2, with Atmosphere 0.12.0.

v1.0

  • First Release.

Credits

Contributors:

Code and libraries:

NTP Public servers:

External links

Advertising: