Jump to content


Former Developer
  • Content Count

  • Joined

  • Last visited

  • Medals

Everything posted by Eifehr

  1. Summary of VoN improvements: - A new codec implementation based on Opus. Selection of the codec implementation is possible with 'vonCodec' parameter in server.cfg (https://community.bistudio.com/wiki/server.cfg). - Optimization of the VoN messages retranslation: Previously when a client wanted to send a message to a list of targets (receivers), for every target a decision was made - to send it directly or to request retranslation through the server. That behaviour could result in many messages being sent to the server for retranslation differing only in the receive target, the data was identical. Thus exceeding the network bandwidth-limitation some messages were delayed or omitted. The situation worsened as the client's connection quality decreased or the number of targets increased. The optimization is based on the idea to send the message data to the server only once with a list of retranslation targets. - Match-global settings for communications usage: Along with the separation of the Chat and VoN channels came a way to configure how those can be used through the server.cfg or description.ext. The syntax for 'disableChannels' was expanded so that there are two ways to configure this: disableChannels[]={channelID, channelID, ...}; // old syntax disableChannels[]={{channelID, disableChat<bool>, disableVoice<bool>},{channelID, disableChat<bool>, disableVoice<bool>},...}; // new syntax The 'disableChannels' attribute can be specified both in server.cfg and description.ext and the following are the conflicts resolution rules: if (desc.ext has 'disableChannels') then { // settings from desc.ext will be used } else if (server.cfg has 'disableChannels') then { // settings from server.cfg will be used } if ('disableChannels' in server.cfg was overriden in desc.ext) // Print a warning message into the server RPT if ('disableChannels' is an array) then { if (its first element is an array) then { if (it has 3 elements) then { // We assume the new syntax is used. } else { // Print a warning message into the server RPT that // a 3-element array was expected. } } else { // We assume the old syntax is used. } } Simply put, the settings from description.ext have higher priority over those in server.cfg, if any. This was done so to preserve the mission maker's intentions to how communications should be used. On the script side two existing commands were extended to support working with Chat and Voice channels separately: <channel> enableChannel [<VoN>, <chat>]; Example: 1 enableChannel [false, true]; // Will disable chat and enable voice on the side channel. The old format for 'channelEnabled' <bool> = channelEnabled <channel> is now deprecated, please use the following syntax: [<chatEnabled>, <voiceEnabled>] = channelEnabled <channel> Example: _isGlobalChatEnabled = (channelEnabled 0) select 0; // Check if user can use text on global channel _isGlobalVoiceEnabled = (channelEnabled 0) select 1; // Check if user can use the VoN on global channel We're considering improving the whole communication system even further, especially on the part of the player's safety - going away from direct (P2P) VoN will prevent the inventive players (hackers?) to misuse other players' IPs, which are easily available when there is no retranslation through the server, for any kinds of exploitation or DoS abuse. On the usability side a massive overhaul is in progress, including but not limited to separation of Chat and VoN channels, easily accessible muting of specific players or the whole channels and match-global settings for the communications usage. Our internal tests already show significant improvements both in the network traffic and overall performance of VoN communications during massive multiplayer battles with the purposely highly stressed server, and yet there is even more to come.
  2. Eifehr

    VON Improvements - Feedback

    Major improvements are scheduled for after Apex, so for now it is mainly UI changes, gathering feedback and info of what you guys need the most. Are you sure the Global channel is available to everyone and not just the Admin? For it is always available to him.
  3. Eifehr

    VON Improvements - Feedback

    Good point, this functionality is being developed, so please be patient and stay tuned.
  4. Eifehr

    VON Improvements - Feedback

    WolfenswanFA, regarding please note that the Global channel is always available to the admin. It should not disable anything on the Command channel. Please look at it this way, you have disableChannels[]={{2, false, false}} and where there is a 'false' it is like negation of the command's meaning, so we have 'not to disable chat' and 'not to disable VoN'.
  5. Eifehr

    VON Improvements - Feedback

    ezcoo, kain_lowsta The reason why Direct channel behaves differently is in that it is simulated as a sound source in the game world, and the attenuation of perceived loudness is performed accordingly to the laws of physics. Would you say that introducing more control over the volume of Direct channel, keeping the core principles of the way it functions same, could do us any good? xxgetbuck123, ezcoo even though this feature might improve the immersion dramatically, it would require quite a thorough analysis. In the current VoN iteration we haven't considered anything like it, but in case something like this pops up thanks to your great ideas and feedback, we will make the announcement through our usual channels. spanishsurfer, no Ãœber-VoN for this iteration. We thank you kindly for the feedback, do you still face stuttering with either OPUS or Speex, and if so, under which conditions? kain_lowsta, thank you for the feedback and I have to admit that I personally very much like the idea you put into Adjusting the volume (which will lead to the audible range being changed) of Direct channel depending of how loudly the player speaks would be quite a feature. If there is a room in the following VoN iterations, I shall do my best to push it there.
  6. Eifehr

    VON Improvements - Feedback

    That is a good point indeed. We will consider introducing such a command as it might have a number of interesting applications. Thank you for sharing such a great idea.
  7. Eifehr

    VON Improvements - Feedback

    Thank you for the feedback. The issue with OPUS quality being low was located and the fix will be released in one of the following updates. Regarding the script command, could you please share any ideas on how you would use it? We might consider introducing such a command based the community needs. We have not considered making any additional parameters available. What use would those bring? The codec quality can be effectively configured with 'vonCodecQuality'. Making any implementation details known would limit us in updating and improving the existing architecture because of the community relying on some specific behaviour. Simply put, we should be very careful with parameters we want to expose.