service: network: Fix lobby SDK crashes and performance drops in multiplayer #107

Merged
Collecting merged 4 commits from fix/mitigate-sdk-crash into main 2026-01-21 23:37:19 -05:00
Collaborator

This update stabilizes the multiplayer experience, particularly in high-traffic public rooms. It fixes a persistent SDK crash occurring when players join/leave or are disconnected from lobbies by implementing strict SessionID filtering and sanitizing incoming node data. The issue where the emulator would lock up at 5 FPS during connection failures because of the SDK crash has been mitigated (most likely fully eliminated) by introducing a 1ms sleep interval to the socket receive loop, allowing the OS to manage CPU resources more efficiently.

Memory safety is significantly improved by disabling an experimental socket pooling mechanism that caused handle conflicts during some title's socket duplication calls. These improvements are thread-safe and maintain full compatibility between different (but compatible) game updates, providing a more robust networking environment for Linux, Windows, and macOS users alike.

This update stabilizes the multiplayer experience, particularly in high-traffic public rooms. It fixes a persistent SDK crash occurring when players join/leave or are disconnected from lobbies by implementing strict SessionID filtering and sanitizing incoming node data. The issue where the emulator would lock up at 5 FPS during connection failures because of the SDK crash has been mitigated (most likely fully eliminated) by introducing a 1ms sleep interval to the socket receive loop, allowing the OS to manage CPU resources more efficiently. Memory safety is significantly improved by disabling an experimental socket pooling mechanism that caused handle conflicts during some title's socket duplication calls. These improvements are thread-safe and maintain full compatibility between different (but compatible) game updates, providing a more robust networking environment for Linux, Windows, and macOS users alike.
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
Kintoki/Emulator!107
No description provided.