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

Wii U Time Sync: Difference between revisions

From GameBrew
(Created page with "{{Infobox WiiU Homebrews |title=Wii U Time Sync |image=wiiutimesync.png |description=A plugin that synchronizes a Wii U's clock to the Internet. |author=Nightkingale |lastupdated=2023/10/23 |format=wps |type=Plugins |version=2.1.0 |license=Mixed |download=https://dlhb.gamebrew.org/wiiuhomebrews/wiiutimesync.7z |website=https://github.com/Nightkingale/Wii-U-Time-Sync |source=https://github.com/Nightkingale/Wii-U-Time-Sync |donation=https://github...")
 
No edit summary
Line 4: Line 4:
|description=A plugin that synchronizes a Wii U's clock to the Internet.   
|description=A plugin that synchronizes a Wii U's clock to the Internet.   
|author=Nightkingale   
|author=Nightkingale   
|lastupdated=2023/10/23  
|lastupdated=2024/06/02  
|format=wps   
|format=wps   
|type=Plugins   
|type=Plugins   
|version=2.1.0   
|version=3.0.0   
|license=Mixed   
|license=Mixed   
|download=https://dlhb.gamebrew.org/wiiuhomebrews/wiiutimesync.7z   
|download=https://dlhb.gamebrew.org/wiiuhomebrews/wiiutimesync.7z   
Line 47: Line 47:
'''Note:''' Changes take effect upon restarting the console, and the HOME Menu and other applications may not reflect adjustments immediately.   
'''Note:''' Changes take effect upon restarting the console, and the HOME Menu and other applications may not reflect adjustments immediately.   
    
    
== Changelog ==
== Changelog ==  
'''v3.0.0 2024/06/02'''
* Wii U Time Sync was refactored to support the new Wii U Plugin System API, thanks to the wonderful efforts of [https://github.com/dkosmari @dkosmari]! With it came a whole lot of new features and improvements.
** A new <code>Auto Update Time Zone</code> feature was added, which will automatically fetch the time from the Internet when the plugin loads. This is similar to manually running the <code>Detect Time Zone</code> option.
*** This is an entirely optional feature, set to <code>false</code> by default. You will need to enable it before it works.
** The number of background threads that run can now be configured with the <code>Background Threads</code> setting. This controls how many NTP servers are queried at the same time.
*** If you stick to the default <code>pool.ntp.org</code> server, you probably don't need to change this.
** There is now more control over notification verbosity. Instead of receiving all notifications or none at all, it's now possible to have a non-verbose level of notifications.
*** <code>quiet</code> means that no notifications will appear at all. (This was effectively <code>false</code> previously.)
*** <code>normal</code> means that only success or failure notifications will appear, but no others.
*** <code>verbose</code> means that all notifications (statistics and such) will appear, useful for debugging. (This was <code>true</code> previously.)
** Opening the Wii U Plugin System menu now reloads the settings from the JSON file, which is useful if you want to run a custom NTP server on-the-fly.
* To account for all the updates, the user interface has some new quality-of-life changes. (Thank you, [https://github.com/dkosmari @dkosmari]!)
** <code>Hours Offset</code> and <code>Minutes Offset</code> have now been combined into one setting, <code>Time Offset (UTC)</code>.
*** If you are updating from an older version of Wii U Time Sync, your configuration will be updated accordingly.
** Pressing the X button on a setting in <code>Configuration</code> now resets it back to the default value.
** You can now hold down left or right on the D-Pad to set a specific option (particularly useful if you want a specific offset or tolerance, for example).
** The clock shown in <code>Preview Time</code> now updates automatically when focused on.
** If text is now too long to be shown, instead of overlapping other text, you can now use left and right on the D-Pad to scroll.
** All boolean options, such as <code>Syncing Enabled</code> and <code>Show Notifications</code>, can now be toggled with either left or right on the D-Pad.
* A grammatical error which appeared if there were any issues connecting to a server has been fixed.
'''v2.1.0 2023/10/23'''   
'''v2.1.0 2023/10/23'''   
* Even more refactoring of Wii U Time Sync was done behind the scenes, based again on the excellent work of [https://github.com/dkosmari @dkosmari]! (Thank you, [https://github.com/dkosmari @dkosmari]!)   
* Even more refactoring of Wii U Time Sync was done behind the scenes, based again on the excellent work of [https://github.com/dkosmari @dkosmari]! (Thank you, [https://github.com/dkosmari @dkosmari]!)   

Revision as of 04:03, 2 Haziran 2024

Wii U Time Sync
Wiiutimesync.png
General
AuthorNightkingale
TypePlugins
Version3.0.0
LicenseMixed
Last Updated2024/06/02
Links
Download
Website
Source
Support Author

Wii U Time Sync is an Aroma plugin that allows a Wii U console to automatically synchronize its date and time with the Internet, similar to features found on the Nintendo Switch and other modern devices.

Note: If you are currently using another SNTP client or plugin, there is no need to install this. Using this plugin with other SNTP plugins might cause instability.

Installation

Download the Wii U Time Sync plugin file and place it in sd:/wiiu/environments/aroma/plugins.

Requires Aroma environment installed for Wii U Time Sync to work. Please visit the hacking guide and the Aroma webpage if you would like to softmod your Wii U console.

User guide

If the program is placed correctly on an SD card, Wii U Time Sync will be listed in the Aroma environment's Wii U Plugin System Config Menu.

Configuration Options:

  • Syncing Enabled - Enables syncing to the Internet (false by default).
  • Show Notifications - Displays a notification when Wii U Time Sync adjusts the clock (false by default).
  • Hour Offset - Adjusts the hours to add/subtract from coordinated universal time (0 by default).
  • Minutes Offset - Adjusts the minutes to add/subtract from coordinated universal time (0 by default).
  • Notification Duration (seconds) - Sets the duration of on-screen notifications (5 seconds by default).
  • Tolerance (milliseconds) - Specifies the tolerance for time differences (250 milliseconds by default).
  • Detect Timezone - Uses the IP Geolocation API to guess the timezone based on the offset.
  • NTP Servers - Lists NTP servers for the plugin to connect to, with ntp.pool.org as the default.
  • Preview - Allows users to preview the current system clock settings, correction, and latency statistics.

The NTP server list cannot be edited on the console. However, you can edit the Wii U Time Sync configuration file on a computer to adjust the default server, or add more.

  • The configuration file: wiiu/environments/aroma/plugins/config/Wii U Time Sync.json
  • An example edit: "server": "pool.ntp.org time.windows.com",

Note: Changes take effect upon restarting the console, and the HOME Menu and other applications may not reflect adjustments immediately.

Changelog

v3.0.0 2024/06/02

  • Wii U Time Sync was refactored to support the new Wii U Plugin System API, thanks to the wonderful efforts of @dkosmari! With it came a whole lot of new features and improvements.
    • A new Auto Update Time Zone feature was added, which will automatically fetch the time from the Internet when the plugin loads. This is similar to manually running the Detect Time Zone option.
      • This is an entirely optional feature, set to false by default. You will need to enable it before it works.
    • The number of background threads that run can now be configured with the Background Threads setting. This controls how many NTP servers are queried at the same time.
      • If you stick to the default pool.ntp.org server, you probably don't need to change this.
    • There is now more control over notification verbosity. Instead of receiving all notifications or none at all, it's now possible to have a non-verbose level of notifications.
      • quiet means that no notifications will appear at all. (This was effectively false previously.)
      • normal means that only success or failure notifications will appear, but no others.
      • verbose means that all notifications (statistics and such) will appear, useful for debugging. (This was true previously.)
    • Opening the Wii U Plugin System menu now reloads the settings from the JSON file, which is useful if you want to run a custom NTP server on-the-fly.
  • To account for all the updates, the user interface has some new quality-of-life changes. (Thank you, @dkosmari!)
    • Hours Offset and Minutes Offset have now been combined into one setting, Time Offset (UTC).
      • If you are updating from an older version of Wii U Time Sync, your configuration will be updated accordingly.
    • Pressing the X button on a setting in Configuration now resets it back to the default value.
    • You can now hold down left or right on the D-Pad to set a specific option (particularly useful if you want a specific offset or tolerance, for example).
    • The clock shown in Preview Time now updates automatically when focused on.
    • If text is now too long to be shown, instead of overlapping other text, you can now use left and right on the D-Pad to scroll.
    • All boolean options, such as Syncing Enabled and Show Notifications, can now be toggled with either left or right on the D-Pad.
  • A grammatical error which appeared if there were any issues connecting to a server has been fixed.

v2.1.0 2023/10/23

  • Even more refactoring of Wii U Time Sync was done behind the scenes, based again on the excellent work of @dkosmari! (Thank you, @dkosmari!)
    • The Preview screen was heavily improved, showing not only the system's current time, but also connection details of each configured NTP server, including the correction and latency statistics.
      • This screen does not refresh automatically. To refresh the screen, press A on the Clock button.
    • The timezone can now be fetched using the new Detect Timezone option. By pressing this button, your console will connect to the Internet and use the IP Geolocation API to adjust your Hours Offset and Minutes Offset to match the detected timezone.
      • This is entirely optional, and you can still set the offsets manually if you prefer.
    • Many smaller, technical things behind the scenes were changed, including (but not limited to) NTP protocol handling and addressing the NTPv4 wraparound of 2036.
  • Some elements in the Configuration menu have been renamed, such as Time Offset (hours) and Time Offset (minutes) to Hours Offset and Minutes Offset.

v2.0.0 2023/10/23

  • Behind the scenes, Wii U Time Sync has been entirely refactored to be based off of the fork written by @dkosmari, adding many new improvements to the plugin. (Thank you, @dkosmari!)
    • Multiple NTP servers can be added to Wii U Time Sync, which will be averaged by the plugin.
      • This cannot be edited on the console. However, you can edit the Wii U Time Sync configuration file on a computer to adjust the default server, or add more.
        • The configuration file: wiiu/environments/aroma/plugins/config/Wii U Time Sync.json
        • An example edit: "server": "pool.ntp.org time.windows.com",
    • Roundtrip calculations are now included in Wii U Time Sync. This means the time it takes for your Wii U to connect to the server and receive a response is accounted for, making the time slightly more accurate.
    • The Daylight Savings toggle has been removed in favor of manually changing the time offset.
    • The tolerance added in v1.0.1 can now be adjusted using the Tolerance setting.
    • The duration for which notifications last on screen can be adjusted using the Message Duration setting.
    • More error messages and notifications have been added, with successes being printed in green, and errors being printed in red.
  • The default time server has been changed from time.windows.com to pool.ntp.org. (Thank you, @V10lator and @dkosmari!)
  • The Receive Notifications toggle has been renamed to Show Notifications, and is now false by default.

v1.1.0 2023/06/19

  • A new feature was added that allows Wii U Time Sync to send a notification whenever it adjusts the time. This feature is enabled by default, but can be disabled by toggling Configuration -> Receive Notifications to false.
  • An issue was addressed where Nintendo DS titles through Virtual Console were rendered unplayable when using Wii U Time Sync. This bug was introduced in v1.0.1 because of how the binary was built. (Thank you, @Maschell and @GaryOderNichts!)

v1.0.1 2023/06/18

  • Addressed an oversight where the month shown in the Preview Time feature would display as a zero-based index rather than the actual month.
  • The time will no longer be adjusted when exiting the Wii U Plugin System Config Menu if the console's time is within 250 milliseconds of the network time. This will limit any potential stalling caused when exiting the menu. (Thank you, @GaryOderNichts!)

v1.0.0 2023/06/17

  • This is the initial release of Wii U Time Sync. To learn more about this release, see the README.

Credits

  • dkosmari, for his excellent refactoring of Wii U Time Sync, being used as our codebase ever since the release of v2.0.0.
  • GaryOderNichts, for writing the network connection code and figuring out how to set the console's date and time through homebrew (so basically all the functionality).
  • Maschell, for his work not only with figuring out setting the date and time, but also his work on the Aroma environment.
  • LumaTeam, for the time syncing code in Luma3DS, which we based our code off of.
  • Lettier, for his work on NTP Client, which in turn led to the code in both Luma3DS and Wii U Time Sync.

External links

Advertising: