-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Backend of our AudioServer #1
Comments
Would not recommend to take parts from it, but rather use it for inspiration. That code is from 2015 and is kinda dated by now. Part of it is because I used to do a lot of calculations on the client to save on resources at the server, but nowadays I would rather do that on the server as it caused several issues in the past. Would be best to do most logic (like overrides) on the server and have a dumb client. Would also recommend to use KotlinX serializable over of moshi and to use sealed classes for the packets. Could also recommend trying to put a much code into a common Kotlin module, so you can share it between a website version of the AudioServer (perhaps done using Kotlin Compose Desktop), perhaps a desktop version and of course the server itself. |
Thanks for the advice. <3 Yeah, I would definitely use KotlinX serializable and most of the logic on the server side. As for the common module, we first need to discuss which language and framework to use for the website. |
I think it would be best to use Server-Sent Events for the main part of the audio server. https://ktor.io/docs/3.0.0-beta-1/sse-client.html#example |
We decided to add a standalone audio-server instance for calculations, audio manipulations and more. |
We can take parts of @Joeywp 's integration from CraftVenture: https://github.com/Craftventure/open-plugin-parts/tree/main/net/craftventure/audioserver
For better immersion, the park audio should be played from defined speakers and not globally as on CV.
The Audio Server has to be able to perform various actions:
The text was updated successfully, but these errors were encountered: