Skip to content

Choose a tag to compare

@jaredbrandjes jaredbrandjes released this 24 Aug 17:35
· 2 commits to main since this release
Immutable release. Only release title and notes can be modified.
88df031

Updates LRM to Mirror 93 and .NET 8, and fixes NAT punchthrough and direct connect.

Upgrading from V14

V14 and V16 cannot talk to each other. Update the relay and every shipped client together. Players on old builds will not connect once you upgrade the relay.

  • Relay needs the .NET 8 runtime.
  • Unity side needs Mirror 93+.
  • Telepathy removed. KCP and SimpleWeb support included.
  • Max Players now includes the host. For 4 clients plus a host, set it to 5. Rooms hold one fewer client than they did on V14.
  • Room codes are now uppercase A-Z only.

config.json is otherwise unchanged and existing files still load.

Fixed

  • NAT punchthrough and direct connect now work.
  • Rooms no longer admit one player over the limit.
  • A client whose direct connection drops no longer leaves a dead slot in the room.
  • StopClient() returns the player to the offline scene.
  • Re-joining a room works. Previously any re-join, and the direct connect to relay fallback, failed.
  • Repeated connect/disconnect cycles no longer leak sockets or leave stale room state.
  • The NAT puncher no longer binds to incorrect network adapter.
  • Inbound relay messages are bounds checked and validated.

Setup

File What
LRM-Unity-Output.unitypackage The Unity transport. Import into a project that already has Mirror 93.
LRM-Node.zip The relay. Requires .NET 8.
LRM-LoadBalancer.zip Optional, for running multiple nodes. Requires .NET 8.

Run the node once to generate config.json, edit it, then run again. TransportClass must match the transport you assign as ClientToServerTransport in Unity. Default is kcp2k.KcpTransport. For WebGL use Mirror.SimpleWebTransport.

Full setup is in the README.