cs16-client icon indicating copy to clipboard operation
cs16-client copied to clipboard

Unsupported Voice Data

Open vhofficial opened this issue 5 months ago • 6 comments

Hi, first of all thank you for your great work on CS16Client and the Xash3D-based engine!

I've been playing on some online servers where other players (especially those using the official Steam version of CS 1.6) use in-game voice chat. While this worked in the past on certain servers (possibly due to Speex codec being used), now I’m seeing this error:

Warning: unsupported voice data type: 4

After some digging, I found that this is related to Steam CS 1.6 switching to the OPUS voice codec (type 4 voice packets). It seems CS16Client and the current engine doesn’t support decoding OPUS-based voice data, and therefore any voice communication from Steam clients becomes inaudible.

Suggestion:

Would it be possible to add support for OPUS codec (voice data type 4), or at least provide a fallback/warning system that helps maintain compatibility with modern servers?

I understand this would involve linking to the OPUS library and updating the voice parsing logic. Even a basic implementation that allows decoding voice packets from Steam clients would be a huge improvement for cross-compatibility.

If needed, I’d be happy to help test or assist in any way.

Thanks again for your dedication to the project!

vhofficial avatar Jul 21 '25 10:07 vhofficial

Have you updated to the latest xash3d-fwgs?

a1batross avatar Jul 21 '25 10:07 a1batross

Voice data type 4 is SILK codec (https://github.com/FWGS/xash3d-fwgs/blob/cca1732245a6d90a13a14b05859d4132d3fe60ab/engine/client/voice.h#L54)

We don't know yet will we support it or not, because we didn't check are SILK decoder breaks compatibility with non-x86 platforms, also SILK decoder library license is pretty strange and we not sure if it worth to bring it to project.

SNMetamorph avatar Jul 21 '25 10:07 SNMetamorph

Have you updated to the latest xash3d-fwgs?

Yes, I am using the latest version of both apps and follow every update.

vhofficial avatar Jul 21 '25 10:07 vhofficial

Thanks for the info about SILK (voice type 4). I understand the licensing and cross-platform concerns.

Still, I’d love to see at least a descriptive warning or an optional plugin system for users who might want to experiment with voice codec support on their own.

Thanks for keeping this project alive — it's deeply appreciated by us retro gaming fans!

vhofficial avatar Jul 21 '25 10:07 vhofficial

Voice data type 4 is SILK codec (https://github.com/FWGS/xash3d-fwgs/blob/cca1732245a6d90a13a14b05859d4132d3fe60ab/engine/client/voice.h#L54)

We don't know yet will we support it or not, because we didn't check are SILK decoder breaks compatibility with non-x86 platforms, also SILK decoder library license is pretty strange and we not sure if it worth to bring it to project.

It shouldn't break compatibility in any way, but licensing is suspicious, yeah. I don't think the official SILK SDK is considered to be free software. OPUS itself has SILK in it, but I'm not sure if it's compatible with the original SILK. Simplified OPUS SILK decoder is also part of FFmpeg, and it's licensed under LGPL.

a1batross avatar Jul 21 '25 10:07 a1batross

The more I played the more I realized that this only happens with non-steam players (I play the game on servers with the goldsrc protocol on my android device) steam players don't have this problem and it's getting really annoying because a large community of the game is made up of non-steam users.

vhofficial avatar Jul 22 '25 19:07 vhofficial