Open ReynoldsCahoon opened 3 years ago
Beyond the expected Blizzlike behavior, it would be nice if this were extendable via the modular structure. An example module would be the addition of proximity voice, or possibly routing the voice communication to a third party server, such as Teamspeak or Mumble, to distribute voice chat traffic away from the server.
Can be made into a team/team voice function, it will only take effect when joining a team/team, you can choose to turn on/mute
Can be made into a team/team voice function, it will only take effect when joining a team/team, you can choose to turn on/mute
This sounds like module functionality, as the original client/server supported this in a very specific way.
The text is cold, only warm words can play more emotionally :D
Realized that the repo contains a VoiceChatHandler, but is possibly unused?
In the TrinityCore discussion referenced in this issue, user @FALL1N1 references getting this working in some fashion in AzerothCore. https://github.com/TrinityCore/TrinityCore/issues/15057#issuecomment-383313037
After poking around this user's repositories, I believe the code that's being referenced may be here.
Spoke with @FALL1N1 on Discord and he gave an example of how to enable the clientside interface:
you can test it by enabling the voice chat UI through CharacterHandler.cpp, more-specifically this line https://github.com/FALL1N1/HysteriaCore/blob/4ff15b9ed80f989b7a793637e357d928b432a75d/src/server/game/Handlers/CharacterHandler.cpp#L899
set it to '1' or 'true' within your core and the voice UI will appear, that way you can try to 'record' your voice and play it, you will see what I'm talking about :D
hey guys Is anyone making this cool feature?
No one will do it.
www.discord.com 🐱
It's trash, better stick to Discord or TeamSpeak.
If you want it just for the cosmetics/visuals you can take a look at my repo. Voice quality is trash as the game is using old codec that cannot be changed unless you reverse the game and provide custom WoW.exe
Yes, it is very interesting, of course it is not the primary function, but it is very entourage, and will add a lot of loyalty from the players.
If a system like this would extend from channels and be able to just be open world chat letting players speak to other players that's in a certain range of each other then I'll juicen up the bounty with another 500$.
Would the packets for voice chat show up in a sniff?
Voice chat was removed from the game. Iirc audio quality in 335 is awful too. There are plenty of reasons to look the other way honestly.
@benjymansy123
Would the packets for voice chat show up in a sniff?
They won't unless you are sniffing a server that has coded it, otherwise the server will return empty responses (if anything at all)
@benjymansy123
Would the packets for voice chat show up in a sniff?
They won't unless you are sniffing a server that has coded it, otherwise the server will return empty responses (if anything at all)
ymir wouldnt be able to sniff private servers but the other tools can but not really recommended. Reversing the client would be easier, which already happened and the opcodes have been obtained both server and client side and has been made available for a while. A few, not all, for example:
SMSG_VOICE_SESSION_ROSTER_UPDATE = 0x39E,
SMSG_VOICE_SESSION_LEAVE = 0x39F,
SMSG_VOICE_SESSION_ADJUST_PRIORITY = 0x3A0,
CMSG_VOICE_SET_TALKER_MUTED_REQUEST = 0x3A1,
SMSG_VOICE_SET_TALKER_MUTED = 0x3A2,
CMSG_VOICE_SESSION_ENABLE = 0x3AF,
SMSG_VOICE_SESSION_ENABLE = 0x3B0,
SMSG_VOICE_PARENTAL_CONTROLS = 0x3B1,
CMSG_CHANNEL_SILENCE_VOICE = 0x3CC,
CMSG_CHANNEL_SILENCE_ALL = 0x3CD,
CMSG_CHANNEL_UNSILENCE_VOICE = 0x3CE,
CMSG_CHANNEL_UNSILENCE_ALL = 0x3CF,
CMSG_SET_ACTIVE_VOICE_CHANNEL = 0x3D3,
CMSG_GET_CHANNEL_MEMBER_COUNT = 0x3D4,
SMSG_CHANNEL_MEMBER_COUNT = 0x3D5,
CMSG_CHANNEL_VOICE_ON = 0x3D6,
CMSG_CHANNEL_VOICE_OFF = 0x3D7,
Now the big challenge would be scripting it out. like any other opcode, we will have to address it in the opcode.cpp where we set its login status, packet processing, and session (world session most likely to keep it consistent) link for each of the numerous opcodes already. After that we would write it out as a void WorldSession::VoiceASLopcode(WorldPacket& /recvData/) or whatever.
The thing is, as nice of a feature this would be, alot of people requesting this feature, never actually used it back when the expansions was the current retail, or even played the expansion when it was retail back then. It was a very VERY low bit rate mono quailty. This was due to the limitation of the client at the time, with 8 to 16k mono variable.
This feature if it ever gets scripted in any modern wow emulator core, like it was in former ascent servers, would be more of a novelity then it is for utility.
Discord and Steam Chat offers free and better voice quailty. I agree with what @Nyeriah stated. There are plenty of reasons to look the other way honestly, or use other free alternative apps such as discord chat or steam chat variations.
Please do not mention discord and steam, everyone is well aware of these ways. You're talking about human-to-human conversation, but that's not what's needed here, you need to hear a voice through your character from another character. It's not about quality, it's about hearing the voice from another character, just like you would hear it from Lady Silvana or Artos or Garosh. You need it to play the voice within the game, not to communicate with a friend or person. Do you understand the difference?
For example, you're walking through the game world... doing quests... and all of a sudden you hear a voice saying "help!..." "I'm dying...!" and you come because you hear another player's human voice through their character!!! it's very, very beautiful for the game!
Please do not mention discord and steam, everyone is well aware of these ways. You're talking about human-to-human conversation, but that's not what's needed here, you need to hear a voice through your character from another character. It's not about quality, it's about hearing the voice from another character, just like you would hear it from Lady Silvana or Artos or Garosh. You need it to play the voice within the game, not to communicate with a friend or person. Do you understand the difference?
For example, you're walking through the game world... doing quests... and all of a sudden you hear a voice saying "help!..." "I'm dying...!" and you come because you hear another player's human voice through their character!!! it's very, very beautiful for the game!
I'm afraid that's not how Voice Chat works and worked back in the day, it's not an open world voice chat like in other games, but limited to Party, Raid and World channel(s).
Please do not mention discord and steam, everyone is well aware of these ways. You're talking about human-to-human conversation, but that's not what's needed here, you need to hear a voice through your character from another character. It's not about quality, it's about hearing the voice from another character, just like you would hear it from Lady Silvana or Artos or Garosh. You need it to play the voice within the game, not to communicate with a friend or person. Do you understand the difference?
For example, you're walking through the game world... doing quests... and all of a sudden you hear a voice saying "help!..." "I'm dying...!" and you come because you hear another player's human voice through their character!!! it's very, very beautiful for the game!
You are exceeding wrong with how the voice chat work back when wotlk was retail. It did not work like that at all.
You are exceeding wrong with how the voice chat work back when wotlk was retail. It did not work like that at all.
I didn't write about how it was in the past, I wrote about what it was for in the long run.
Didn't mean any disrespect to those who want this as a roleplaying feature or novelty item. It's just that the work required to make it work and the usefulness to the average user don't really make it an appealing issue to be worked on, reason why nobody took interest into it over 10 years of emulation, except the Acermu guys mentioned in that discussion. About proximity chat in the way the user above described, one has to ponder how would it feel to be in a crowded place (e.g stormwind city, or dalaran) while everyone around them screamed in their 2008s walk-talkies.
https://github.com/celguar/voicechat-server
theres this implementation for ascent that can be ported to AC
theres this implementation for ascent that can be ported to AC
That repo's been updated for use with the TBC branch of CMaNGOS (PR pending), and includes no server code.
theres this implementation for ascent that can be ported to AC
That repo's been updated for use with the TBC branch of CMaNGOS (PR pending), and includes no server code.
There are no opcode structure changes between TBC and WoTLK (at least not any major ones) therefore it should work out of the box.
https://github.com/celguar/voicechat-server is the new executable you need to "slap" into "src/server/apps" so it can build alongside with the world/auth servers (unless you want to separate it to another vps/dedi server if bandwidth is a problem).. and https://github.com/cmangos/mangos-tbc/pull/668/files is the "core" part, which handles the disabled (at the moment) opcodes alongside with their handlers.
Yes I tested same code with cmangos wotlk + 3.3.5 and it worked (video linked in cmangos PR is recorded on 3.3.5)
I'm afraid that's not how Voice Chat works and worked back in the day, it's not an open world voice chat like in other games, but limited to Party, Raid and World channel(s).
Correct. @Foereaper and I have created a proof of concept using the open source software Mumble that allows for proximity voice chat. This unfortunately requires an external client, but works.
If the voice packets could be manipulated to match the format expected by Mumble, you might be able to utilize something like Mumble's server software without requiring players to use third party voice client software. The benefits being obvious (nothing extra required to install, voice settings/keybinds manageable from the UI, muting and disabling of voice within the client itself).
I acknowledge this is beyond the scope of this issue, but having the server properly handle these packets in a default way gets custom functionality like this one step closer to existing.
CURRENT BEHAVIOUR:
Voice Chat (Added in Patch 2.2.0) support is currently missing.
EXPECTED BLIZZLIKE BEHAVIOUR:
Players should be able to create/join voice chat channels to communicate with other players. They should also have the ability to mute other players individually.
SOURCE:
STEPS TO REPRODUCE THE PROBLEM:
EXTRA NOTES:
TrinityCore discussion: References Ascent, which had a version of this running.
AC HASH/COMMIT:
d4b8defcd8e6971bdd558b1c360de9dcca9767b3
OPERATING SYSTEM:
Windows 10
MODULES:
None
CUSTOMIZATIONS:
None