Beta 2024.7.17.1173

From Resonite Wiki

Beta 2024.7.17.1173 is a Resonite version released on 2024/07/17.

The following notes were sent by Frooxius:

Hello everyone! Today build is very heavily focused on improving networking. We've been pretty busy sorting out issues for some of our business uses, which pretty much took all day yesterday to get finished (and I mean... ALL day), so today I only had the energy to polish it up and not do much else >///>
A number of those improvements should benefit overall by improving the robustness of connections and offering some new options - notably Resonite now supports session connections over TCP protocol! This is mostly useful within local and corporate/university networks - but it can be pretty beneficial if you're running connections on LAN - TCP is very fast there.
The other big addition is "LNL Poking" mechanism - this is useful within networks with stateful firewalls, which makes connections work reliably on those networks.
With this stuff out of the way, we'll have more "regular" stuff soon!

New Features:

  • Added support for TCP protocols for realtime session networking
    • This will generally only work on direct IP connections on local networks
    • This is mostly meant as fallback solution for university and corporate networks, when UDP connections fail
    • However this can be useful for LAN as well, as TCP can perform better on local networks than UDP based protocols
    • This protocol will also respect the port range setting when configured
  • Added Prefer TCP setting to Realtime Networking Settings
    • Enabling this will prefer TCP connections above all else. This is mostly useful for LAN connections
    • TCP can perform very well on LAN networks, achieving high transfer speeds
    • It can also work on certain networks, where UDP traffic is not acceptable
    • However it can also suffer from head-of-line blocking, causing voices and poses to be significantly delayed, so use this with caution
  • Add LNL Poking mechanism to help connections within corporate & university networks
    • When used within a private Universe, direct LNL IP connections will send "poke messages" to the connecting client to help facilitate connection
    • This helps establishing connections when a stateful firewall is present

Tweaks:

  • When announcing local IP's, link-local addresses are filtered out (implemented by @ProbablePrime)
    • These usually do not work past the first router/switch and in corporate scenarios
    • This helps speed up connections in some cases by not trying these addresses
  • Add additional logging for LNL connections (including when they start on a restricted port range)
  • Direct LNL connections will now attempt to be established with UDP routing disabled first, which can help in some networks, particularly with multiple network adapters
    • If this fails, another attempt will be made with the routing enabled afterwards
    • This should help improve robustness of establishing connections, particularly in corporate/university subnets
  • LNL Listeners & Connections will now manually bind to specific interfaces
    • This can potentially help resolve some networking issues, when multiple network interfaces are present and wrong ones are being used for routing connections
  • LNL Direct IP connections now indicate the source and target IP/port they're connecting to

Locale:

  • Merged Japanese locale update by @Aesc and @linki9s7
  • Merged Chinese locale update by modimobeikete
  • Merged British English locale update by @Nytra
  • Merged English locale fix by @Muppeq
  • Merged German locale update by @Muppeq
  • Merged French locale update by @cerealbowl (she/they) 🇵🇹🇨🇵🇺🇲🇪🇦👐 and @Jae “awa” J4
  • Merged Korean locale update by @MirPASEC

Bugfixes:

  • Improved robustness of Local IP discovery to ensure that all of them are properly discovered
  • Fixed null reference exception in ContactDialog when selecting contacts in some cases (fixed by @ProbablePrime)
  • Fixed null reference exception for LegacyGlowCircle (fixed by @ProbablePrime)