Releases: Mindgamesnl/OpenAudioMc
6.10.2
What changed
- Added API methods to stop (and fade out) media link
- Added API methods to interact (and manage) Channels link
- Fixed wrong messages in the temp region sub command
- Added support for 1.21
- Regions/Speakers will now fade in and out if a higher-priority media with a mute flag is playing
- Fixed an issue where Regions/Speakers are still audible despite a mute flag being present
- Fixed clickable messages in the help command, background image sizing and interface implementation by @nicolube
- Added API features to customize how players are rendered in voice chat (allowing you to use another display name or skin) link
- Bumped internal dependencies
- Added a new
/oa region forceupdate
command to update all region media (to fetch changes to a playlist, for example) - Various client stability improvements
- Changed how SoundCloud resources are loaded (noticeable speed improvement)
New Contributors
- @GioCole made their first contribution in #422
- @T0biii made their first contribution in #418
- @nicolube made their first contribution in #438
Full Changelog: 6.10.0...6.10.2
6.10.2-pre4
- Implement CS language
- Fixed NPE on some bungee forks that change event order
- Bumped NBT api
- Update de.lang by @T0biii in #418
- Fix action bar message for vistas users by @nicolube in #436
- Fix help subcommand clickable messages by @nicolube in #437
- Plugin-side API for custom voicechat display UUID's or names by @Mindgamesnl in
- the navbar is now replaced by a slideover menu on mobile devices
- fixed an overflow issue with voicechat peers on mobile
- fixed a memory leak on vistas caused by Wisp
- Names in the voicechat UI no longer overflow on mobile devices
- Feature/media inhibitor cross fading by @Mindgamesnl in #430
- Expanded the Region API to allow for mutations
- the packet middleware API now works on servers running under a proxy or vistas
6.10.2 pre-2
What's Changed
- 6.10.1 by @Mindgamesnl in #414
- Add CZ draft by @Mindgamesnl in #433
- Backport to dev by @Mindgamesnl in #434
- Fixes/server null during the connected event by @Mindgamesnl in #435
- Update de.lang by @T0biii in #418
- Fix action bar message for vistas users by @nicolube in #436
- Fix help subcommand clickable messages by @nicolube in #437
- Plugin-side API for custom voicechat display UUID's or names by @Mindgamesnl in #439
- the navbar is now replaced by a slideover menu on mobile devices
- fixed an overflow issue with voicechat peers on mobile
New Contributors
Full Changelog: 6.10.2-pre2...6.10.2-pre3
6.10.2-pre2
What's Changed
- Feature/fix/if 44 by @Mindgamesnl in #431
- Feature/media inhibitor cross fading by @Mindgamesnl in #430
- Minor client changes
Full Changelog: 6.10.2-pre1...6.10.2-pre2
6.10.2-pre1
- bump version
- added region API components
- the packet middleware API now works on servers running under a proxy or vistas
6.10.1
6.10.1
- Fix compatibility using paper 1.20.5+
- Bump NBT API version
- improved concurrency control during connection state setup
- improved client messaging when an unknown baseurl is used on a server which does not have a custom client whitelisted
- the
options.token-auto-login
setting now gets respected on servers running through vistas - added stopFor API methods
- the SourceHolder interface now supplies an exposed setter method
- worldguard regions with negative priorities are now supported
removeStaticPeer
andaddStaticPeer
now respect theClientPeerAddEvent
andClientPeerRemovedEvent
events- Fixed a few bugs where channels would still have members who have since disconnected or switched servers
- Added a whole new API to interact with channels
- Added a configuration option to define a max radius for speakers
6.10.1-pre1
6.10.1 - Pre-release 1
- Fix compatibility using paper 1.20.5+
- Bump NBT API version
- improved concurrency control during connection state setup
- improved client messaging when an unknown baseurl is used on a server which does not have a custom client whitelisted
- the
options.token-auto-login
setting now gets respected on servers running through vistas - added stopFor API methods
- the SourceHolder interface now supplies an exposed setter method
- worldguard regions with negative priorities are now supported
removeStaticPeer
andaddStaticPeer
now respect theClientPeerAddEvent
andClientPeerRemovedEvent
events
6.10.0
Update time again! and a juicy one at that!
This release includes major changes, new features and improvements to voice chat, the API, the web client, media, commands, and much more!
This update spent over a month in development, with multiple weeks of daily full-time work and contributions from multiple community members.
It’s a big change log, but please take a moment to go through it to see what it means for your server. Changes/notes are grouped by topic but in no particular order.
Voice Chat
- Added voice channels!
You can now create voice chat channels, letting players talk globally and in groups without needing them to be nearby (or even in the same world). You can create channels in the config with optional custom permissions (locking some behind ranks for example), or allow players to create temporary channels and invite others. There’s a lot more to it, all covered in the new matching documentation article. OpenAudioMc Documentation - VoiceChat Channels
- Filters are now built into the plugin! (these used to be separate modules)
Filters give you control over who players can talk to in proximity voice chat and can be found in your config file. Filters includerequire-same-gamemode
,require-common-team
andrequire-no-channel
. More details can be found in the matching documentation article OpenAudioMc Documentation - VoiceChat Filters - The system to gather voice chat peers has been improved, almost doubling performance on large servers and adding new cancellable API events to modify metadata for peers.
- Added support for peer metadata updates, letting you hide specific players from the UI (while still being able to hear them) or disable their spatial audio effect. This can be updated on the fly, without dropping the peer.
- Expanded the API to add support for non-proximity-based peers, allowing you to implement features like phones. More on this later.
Command handling
- Tab-completion has been overhauled! providing full completion for sub-arguments. The plugin also synchronises uploaded files within your account, letting you tab-complete media sources. It can also tab-complete aliases and playlists on spigot servers (which you can now force to handle your command with
/oas
)
- Tab-completion now works on BungeeCord servers
- added the
/oas
or/openaudiospigot
command, for when you’re running a proxy but need to specify a command to run on the subserver. - There have been a ton of internal improvements for commands, namely for selector providers.
- added
/channel
for the voice channel feature
Media
- Media caching was redesigned from the ground up
The media pool was broken on some modern browsers, which have now been fixed, and it’s way better at handling sources of different types. The pool will now also rehydrate itself after a source is used, meaning that you can keep media in the cache after it gets played. This is enabled by default in the config and provides significant performance improvements to re-used media sources in features like regions (as long as preloading is used) - You can now forcefully preload media through a command (
/oa preload <source>
), which is extremely useful for time-sensitive media (such as shows). More on this can be found in its new documentation article OpenAudioMc Documentation - The Preload command - Fixed cors for 3d speakers using media from a third-party domain
API
- The major changes this update brings across the board were the trigger to re-evaluate the API the plugin previously offered, and how limited it was. A good amount of time was spent during this update rebuilding the API. The new API is similar enough to the old one that migrating shouldn’t take more than 5 minutes. It’s now its dedicated artefact too, no longer requiring you to build the entire plugin, while exposing a lot more functionality. The old API is still where it is, and powered by a mostly backwards-compatible layer (though everything is marked as deprecated, and will be removed in a future release. You can read more about the migration here: OpenAudioMc Documentation - Migrating your integrations to ^6.10.0
- We now have a living javadoc site at https://javadoc.openaudiomc.net/, with a lot more documentation for everything.
- The documentation article has been rewritten to reflect the new API and provides a ton of examples and details to get you going fastest OpenAudioMc Documentation - Building against the Java API
Misc
- The plugin now uses proper log levels
- PlaceholderAPI placeholders will now persist even if it reloaded (through for example
/papi reload
) - Servers running in offlinemode or using a free server host (such as minehut) now get a clickable message which will automatically set some common config values, instead of giving them an error message with instructions.
- Teleporting will now instantly force a player’s set of regions to update
- Regions will now all initialise on start, syncing their initial time code. This new behaviour is enabled by default, but you can disable it in the config which will completely restore the original behaviour.
- The documentation now also lists relevant permissions per topic and links to useful Javadoc pages (if applicable)
- 1.8 is now supported out-of-the-box, no longer requiring the legacy module to be installed manually. You will need to manually uninstall the module if you still have it.
- Updated internal dependencies
- General client UX improvements
- Vistas now supports Redis Sentinel and ipv6! Courtesy of Mathéo (aka @DiscowZombie)
- Config/database backups now work on Windows servers, use the proper folder and will log fatal errors.
- The plugin is now far more fault-tolerant to spontaneous network interruptions between the plugin and our infrastructure. Both connection types will now try to reconnect a few times after an unexpected connection loss. Web clients will remain logged in for a few moments, waiting for the plugin to come back online and are only kicked after extended connection issues, meaning that voice chat and normal media will not be interrupted in most cases. The plugin will queue important packets (media start/stop and peer changes) to sync back up with the client once the connection is restored.
Where is 6.9.0? did you skip a version?
Yes, I did! This updated started as 6.8.10, but quickly outgrew that status as this cannot be described as a minor release. I also chose to skip the 6.9.0 major entirely because of its meme status.
Special thanks
A lot of changes in this update are based on community feedback, and there are quite a few people who stood out for their help.
- Thank you DiscowZombie for your Redis sentinel PR, and early testing/feedback from the new API
- Thank you Verum for the help implementing the persistent PlaceholderAPI hooks
- Thank you SROrel for early testing and helping debug early issues with voice chat channels
Pull requests
- Added support for Redis Sentinel by @DiscowZombie in #375
- Bump vite from 4.4.8 to 4.4.12 in /client by @dependabot in #368
- Bump @adobe/css-tools from 4.2.0 to 4.3.2 in /client by @dependabot in #366
- Color change during onboarding by @Mindgamesnl in #379
- Backport into dev by @Mindgamesnl in #380
- Migrate some filter modules to embedded features by @Mindgamesnl in #381
- Rework commands by @Mindgamesnl in #384
- Feature/vc linkup rework by @Mindgamesnl in #382
- Fix syncing, prebuffering, and add command by @Mindgamesnl in #386
- Voicechat without spatial audio, and without having to reload the ses… by @Mindgamesnl in #387
- Feature/rework proximity ticking by @Mindgamesnl in #388
- Minor chores (logging during backups, backup compatibility on windows servers, fixes to datafiles on windows servers, errors when empty sources are used, warnings when a selection is empty) by @Mindgamesnl in #389
- Feature/new base api (OA main api) by @Mindgamesnl in #391
- Add base api (voicechat) by @Mindgamesnl in #390
- Feature/voice-channels by @Mindgamesnl in #392
- Add persist method by @Mindgamesnl in #393
- [feature] New event driver + api by @Mindgamesnl in #396
- [feature] Automatically help some users setup the plugin with offlinemode by @Mindgamesnl in #394
- [fix] wait until teleportation went through before re-updating player… by @Mindgamesnl in #395
- Feature/command tab completion with players by @Mindgamesnl in #397
- Add API for preloading by @Mindgamesnl in #398
- Cancellable peer connections by @Mindgamesnl in ht...
Channels - Completion - Api - And much, much more
Beta notice
please use the client https://beta.openaudiomc.net/
while using this as a pre-release version.
Change log and notes for 6.10.0
Update time again! and a juicy one at that!
This release includes major changes, new features and improvements to voice chat, the API, the web client, media, commands, and much more!
This update spent over a month in development, with multiple weeks of daily full-time work and contributions from multiple community members.
It’s a big change log, but please take a moment to go through it to see what it means for your server. Changes/notes are grouped by topic but in no particular order.
Voice Chat
- Added voice channels!
You can now create voice chat channels, letting players talk globally and in groups without needing them to be nearby (or even in the same world). You can create channels in the config with optional custom permissions (locking some behind ranks for example), or allow players to create temporary channels and invite others. There’s a lot more to it, all covered in the new matching documentation article. OpenAudioMc Documentation - VoiceChat Channels
- Filters are now built into the plugin! (these used to be separate modules)
Filters give you control over who players can talk to in proximity voice chat and can be found in your config file. Filters includerequire-same-gamemode
,require-common-team
andrequire-no-channel
. More details can be found in the matching documentation article OpenAudioMc Documentation - VoiceChat Filters - The system to gather voice chat peers has been improved, almost doubling performance on large servers and adding new cancellable API events to modify metadata for peers.
- Added support for peer metadata updates, letting you hide specific players from the UI (while still being able to hear them) or disable their spatial audio effect. This can be updated on the fly, without dropping the peer.
- Expanded the API to add support for non-proximity-based peers, allowing you to implement features like phones. More on this later.
Command handling
- Tab-completion has been overhauled! providing full completion for sub-arguments. The plugin also synchronises uploaded files within your account, letting you tab-complete media sources. It can also tab-complete aliases and playlists on spigot servers (which you can now force to handle your command with
/oas
)
- Tab-completion now works on BungeeCord servers
- added the
/oas
or/openaudiospigot
command, for when you’re running a proxy but need to specify a command to run on the subserver. - There have been a ton of internal improvements for commands, namely for selector providers.
- added
/channel
for the voice channel feature
Media
- Media caching was redesigned from the ground up
The media pool was broken on some modern browsers, which have now been fixed, and it’s way better at handling sources of different types. The pool will now also rehydrate itself after a source is used, meaning that you can keep media in the cache after it gets played. This is enabled by default in the config and provides significant performance improvements to re-used media sources in features like regions (as long as preloading is used) - You can now forcefully preload media through a command (
/oa preload <source>
), which is extremely useful for time-sensitive media (such as shows). More on this can be found in its new documentation article OpenAudioMc Documentation - The Preload command - Fixed cors for 3d speakers using media from a third-party domain
API
- The major changes this update brings across the board were the trigger to re-evaluate the API the plugin previously offered, and how limited it was. A good amount of time was spent during this update rebuilding the API. The new API is similar enough to the old one that migrating shouldn’t take more than 5 minutes. It’s now its dedicated artefact too, no longer requiring you to build the entire plugin, while exposing a lot more functionality. The old API is still where it is, and powered by a mostly backwards-compatible layer (though everything is marked as deprecated, and will be removed in a future release. You can read more about the migration here: OpenAudioMc Documentation - Migrating your integrations to ^6.10.0
- We now have a living javadoc site at https://javadoc.openaudiomc.net/, with a lot more documentation for everything.
- The documentation article has been rewritten to reflect the new API and provides a ton of examples and details to get you going fastest OpenAudioMc Documentation - Building against the Java API
Misc
- The plugin now uses proper log levels
- PlaceholderAPI placeholders will now persist even if it reloaded (through for example
/papi reload
) - Servers running in offlinemode or using a free server host (such as minehut) now get a clickable message which will automatically set some common config values, instead of giving them an error message with instructions.
- Teleporting will now instantly force a player’s set of regions to update
- Regions will now all initialise on start, syncing their initial time code. This new behaviour is enabled by default, but you can disable it in the config which will completely restore the original behaviour.
- The documentation now also lists relevant permissions per topic and links to useful Javadoc pages (if applicable)
- 1.8 is now supported out-of-the-box, no longer requiring the legacy module to be installed manually. You will need to manually uninstall the module if you still have it.
- Updated internal dependencies
- General client UX improvements
- Vistas now supports Redis Sentinel and ipv6! Courtesy of Mathéo (aka @DiscowZombie)
- Config/database backups now work on Windows servers, use the proper folder and will log fatal errors.
- The plugin is now far more fault-tolerant to spontaneous network interruptions between the plugin and our infrastructure. Both connection types will now try to reconnect a few times after an unexpected connection loss. Web clients will remain logged in for a few moments, waiting for the plugin to come back online and are only kicked after extended connection issues, meaning that voice chat and normal media will not be interrupted in most cases. The plugin will queue important packets (media start/stop and peer changes) to sync back up with the client once the connection is restored.
Where is 6.9.0? did you skip a version?
Yes, I did! This updated started as 6.8.10, but quickly outgrew that status as this cannot be described as a minor release. I also chose to skip the 6.9.0 major entirely because of its meme status.
Special thanks
A lot of changes in this update are based on community feedback, and there are quite a few people who stood out for their help.
- Thank you DiscowZombie for your Redis sentinel PR, and early testing/feedback from the new API
- Thank you Verum for the help implementing the persistent PlaceholderAPI hooks
- Thank you SROrel for early testing and helping debug early issues with voice chat channels
6.10.0-pre9
What's Changed
- Feature/auto reconnect by @Mindgamesnl in #411
- This adds auto reconnect support for voicechat and core data
- Fixed tab-complete for the region commands
Full Changelog: 6.10.0-pre8...6.10.0-pre9