A Pi is enough.

A Raspberry Pi, or a small machine you already leave on, can hold the room. Ryme only passes the voice along, so the game stays on the big computers and the server can sit in the corner.

Friends paste the invite. You are the only one who opens the port. The site stays on Cloudflare. The room itself is one UDP port, 1542 unless you change it.

That port goes out through a router forward, playit.gg, or Portwarp. A website tunnel will not carry it. Cloudflare Tunnel and a normal ngrok tunnel are for pages, and a voice packet sent there never arrives.

On a public address

Forward UDP 1542 on the router to the machine running Ryme. Set RYME_PUBLIC to that public host and port, then restart so the printed invite matches. If Docker published 1542:1542/udp, the forward still targets the host.

playit.gg

  1. Install the agent from playit.gg/download on the same machine as Ryme. Open the claim link it prints and approve the agent.
  2. Add a tunnel. Type UDP. Port count 1. Local port 1542. Local address 127.0.0.1 when the agent and Ryme share a machine.
  3. Copy the hostname and the public port from the tunnel page. That port is often not 1542.
  4. Set RYME_PUBLIC to that-host:that-port and restart Ryme. Share the invite it prints.

Ryme does not need a TCP tunnel. If the account cannot create a UDP tunnel, use Portwarp.

Portwarp

  1. In the Portwarp dashboard, create a tunnel. Protocol UDP. Local port 1542. Local host 127.0.0.1.
  2. On the server machine, install the CLI, then pwrp login and pwrp connect. Select that tunnel. The CLI quickstart covers install and keeping it running.
  3. Set RYME_PUBLIC to the public host and port shown for the tunnel. Restart Ryme and share the new invite.

Leave Ryme on local port 1542. The public port Portwarp assigns is only for the invite.

A private network

Tailscale, NetBird, and ZeroTier also carry UDP. Every friend has to join that network, and RYME_PUBLIC is the host's address on it. playit and Portwarp avoid that second install.