From 49f2ce874dd55910da8a199c81eef408ddafbf9a Mon Sep 17 00:00:00 2001 From: ericek111 Date: Mon, 17 Aug 2026 08:42:59 +0000 Subject: [PATCH] Request voice properties in clientlist Without -voice the server omits client_input_muted/output_muted and the hardware flags entirely, so a bare clientlist leaves callers unable to tell "false" from "not reported" and defaults them wrong. --- .../protocol/socket/client/LocalTeamspeakClientSocket.java | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/main/java/com/github/manevolent/ts3j/protocol/socket/client/LocalTeamspeakClientSocket.java b/src/main/java/com/github/manevolent/ts3j/protocol/socket/client/LocalTeamspeakClientSocket.java index 3a9204e..d11041c 100644 --- a/src/main/java/com/github/manevolent/ts3j/protocol/socket/client/LocalTeamspeakClientSocket.java +++ b/src/main/java/com/github/manevolent/ts3j/protocol/socket/client/LocalTeamspeakClientSocket.java @@ -1168,6 +1168,13 @@ public class LocalTeamspeakClientSocket throws IOException, TimeoutException, InterruptedException, CommandException { Command command = new SingleCommand("clientlist", ProtocolRole.CLIENT); + // Without -voice the server omits input/output muted and hardware flags, talk + // power and the rest of the voice-related properties entirely — not "false", just + // absent — so callers reading them from a bare clientlist would see false either way. + CommandOption voice = new CommandOption("voice"); + voice.set(true); + command.add(voice); + return executeCommand(command, x -> new Client(x.toMap())).get(); }