How to Setup Proxy - plasmoapp/plasmo-voice GitHub Wiki

This is not a guide on how to install voice chat on Bungee, Waterfall or Velocity. If you are using one of those, you just need to install Plasmo Voice in each of the backend servers.

This guide is on using a different server as a proxy if you want to hide the IP of your Minecraft server or using TCP Shield or a similar service for DDOS protection. This way, players will connect to the voice chat through the proxy server and won't be able to leak your server's IP.

You need a proxy server with the ability to forward UDP ports. In this case, we will be using Nginx with the module stream.

Setting up the plugin on your main server

Config doesn't have the lines you need by default, so you need to add the lines proxy_ip and proxy_port by hand.

udp:
  ip: 0.0.0.0
  port: 54212 # Port for the voice chat, that your proxy is going to connect to
  proxy_ip: 192.168.0.23 # IP of the proxy server, the IP players will connect to, instead of main IP, when connecting to the voice chat
  proxy_port: 25560 # Port for the proxy

Setting up Nginx on your proxy server

In the main config of Nginx nginx.conf you need to add these lines:

stream {
  server {
    listen     25560 udp; # Port, that you've set in `proxy_port` line in the config
    proxy_pass 0.0.0.0:54212; # IP of the voice chat server and its port
  }
}