plasmoapp / plasmo-voice

Proximity voice сhat mod for Minecraft
GNU Lesser General Public License v3.0
226 stars 66 forks source link

Invalid UUID Handling in PlasmoVoice Plugin Causes Player Disconnect #417

Open thisisaef opened 2 days ago

thisisaef commented 2 days ago

Describe the bug The PlasmoVoice plugin throws an IllegalArgumentException due to an invalid UUID string being passed during configuration transmission. This leads to disconnection of the affected player and log warnings. The issue appears to be related to how the plugin processes or retrieves UUIDs for players connecting to the server.

Expected Behavior The plugin should properly handle player UUIDs without throwing exceptions. Even if there is an invalid or missing UUID, it should handle the case gracefully, preventing player disconnections and system errors.

Actual Behavior Players experience disconnection, and the server logs an exception: java.lang.IllegalArgumentException: Invalid UUID string This originates from sendConfigInfo in the VoiceTcpServerConnectionManager class.

Steps to Reproduce

  1. Start a Minecraft server with the PlasmoVoice-Paper-2.0.10 plugin installed.
  2. A player joins the server.
  3. Observe server logs for exceptions related to invalid UUID strings.
  4. The player may lose connection shortly after joining.

Plugin List Backend Server (Paper): PlasmoVoice-Paper-2.0.10

Software brand PaperMC 1.21.1-98-9b1ee0d (MC: 1.21.1)

Additional Information This issue may be related to player authentication or mismatched UUIDs. Full server log attached for reference.

ScreenShot image

Apehum commented 2 days ago

Can you send a server log file? You've mentioned that you attached it, but I don't see it.

The exception is probably caused by malformed server_id in PV's server config file. But it shouldn't cause any disconnections, because exception should be on UDP netty thread, which is not related to Minecraft's main thread.