How to use vistas and deploy on multiple proxies.
Vistas is OpenAudioMc’s official and production ready deployment setup for larger networks relying on an unknown amount of bungee cord proxies. Normal OpenAudioMc bungee cord installations use the proxy plugin instance (as wrapped in OpenAudioMcBungee.java
) to track player sessions, states between servers and to wrap outgoing communication towards the OpenAudioMc backend infrastructure through one single OA account. This is a perfect solution for smaller network, but causes some serious problems on large scale deployments, like (but not limited to);
Vistas is a system that works around this problem, by completely skipping the proxy all together. Instead, it uses one single stand alone OpenAudioMc instance (as its own java process) which acts as the main relay node for the server, all Minecraft servers will directly communicate with your instance over Redis, completely mitigating the problems with the original project setup.
This new system does have a few major tradeoffs in its current form
vistas-server
) is a single point of failure. The process is hot-swappable, meaning that a reboot of the service does not require any interactions in the Minecraft sub servers to recover player sessions. A scalable redundant system is planned for late 2022/oa *
commands will only affect your current Minecraft server (example, /oa state
will only show the statistics of players in your current lobby), but admins can evaluate commands on the standalone instance by prefixing it with vistas-eval
(like /oa vistas-eval state
, which will show the state of the shared standalone instance that all servers are using)vistas-server
) needs a voice chat license and to be linked to a craftmend account.Prerequisites
First, prepare your runtime environment following the requirements of chapter 3.
vistas-server.jar
from Recent releases, or build one yourself using the provided maven modules.vistas-server.jar
redis.host
to the host address of your Redis serverredis.port
if your Redis server uses anything but the default portredis.password
to the password of your Redis server. You MUST have authentication enabled as it's enforced for security reasons 4/oa link
won't work, instead, you'll need to do oa vistas-eval link
to link your account to the vistas server. This will also link your account to all sub servers.plugins/
folder of your serverOpenAudioMc/modules/
vistas-client.jar
from OpenAudioMc/modules at master · Mindgamesnl/OpenAudioMc · GitHub, and place it in the plugins/OpenAudioMc/modules/
directoryconfig.yml
file from your vistas-server, and place it in the plugins/OpenAudioMc/
folder. MAKE SURE THAT YOUR REDIS AND MESSAGES ARE VALID!data.yml
in the plugins/OpenAudioMc/
folder and set its contents to# If the user agreed to the TOS and Privacy statement. # Having any value representing "true" filled (either manually changed or through software after manual trigger or third party input) means # That you read, understood and agree to everything mentioned in # https://github.com/Mindgamesnl/OpenAudioMc/blob/master/LICENCE_and_PRIVACY.md legal: accepted: true regions: aliases: speakers: keyset: key-version: -1 private: not-set link-mode: true server-ip: not-set server-cc: not-set debug: log-state-changes: false
config.yml
and data.yml
are safe to be used as templates for scalable sub servers)