#Dynamic solution with ALVR client and Streamer

21 messages · Page 1 of 1 (latest)

modest tinsel
#

Hi everyone. I have 10 headsets and 10 PCs using ALVR and SteamVR. I have registered all 10 headsets on each PC by authorizing them via their IP addresses. I would like to allow each headset to connect to one of the PCs dynamically, following this logic:

Headset 1 connects to PC1.
Headset 2 tries to connect to PC1, but since it is already occupied, Headset 2 attempts to connect to PC2, which is available.
Headset 3 tries PC1, then PC2, but as both are occupied, it connects to PC3, which is free, and so on.
The idea is to dynamically allocate the connection process.

My issue seems to be related to the listening port (default: 9944), as this setup does not work if all PCs are listening on the same port. However, if I could change the port on the ALVR client side (on the headset), I could assign each headset to a specific PC, but this approach essentially dedicates one headset to one PC.

I am looking for a dynamic solution. Is this achievable? If it were possible to add multiple ports on the client side (on the headset), I imagine the headsets could attempt to connect to several PCs.

Do you have any suggestions by any chance? Thank you in advance.

queen pendant
#

this is for some kind of vr arcade?

#

i believe @jaunty pelican does consultancy work in this area

jaunty pelican
#

@modest tinsel why do you need that approach exactly instead of statically assigning IPs?

modest tinsel
# jaunty pelican <@974312682742222929> why do you need that approach exactly instead of staticall...

Hi Zee. In fact, I want to set up an autonomous system that allows a headset to be easily assigned to a PC. In the event that one of the PCs is not available (due to failure, disconnection, or system issues), a headset could dynamically connect to another available PC. This is to provide VR content on an autonomous kiosk system, where when someone picks up a headset, they don't have to touch the PC or the headset settings. Everything would launch automatically.

jaunty pelican
modest tinsel
# jaunty pelican Ok. This system is not available yet, but it is possible to setup either only as...

That's why I thought it might be possible to modify client-side parameters to "test" other listening ports. For example, if on the client side I can define a range of ports to listen to instead of just port 9944, we could imagine a way to switch from one occupied PC to another. I looked into network solutions like a reverse proxy, but I would need to be able to define a destination address with a port on the client side of the headset. This way, my reverse proxy could link to a "pool of available PCs." But this is just theory.

jaunty pelican
#

You don't need to change the ports. You can setup clients entries on the server side allowing only certain headset ips

#

You can also programmatically toggle on and off the discovery of headsets to check which headset wants to connect

#

You could make this system where each pc tries to connect to each headset "antagonistically", or you could make a separate program which directs how connections should happen, but this requires the "master" pc to never fail

modest tinsel
jaunty pelican
#

The way you interact with ALVR is through a webserver, the same one used by the dashboard. There is a command to change the discovery of clients, one to change clients in the clients list and you can receive events from the ALVR server using a websocket and you can listen for session events (which contains the client list)

#

It would be straightforward to implement this as a python script for example

modest tinsel
jaunty pelican
#

Do you think you are up to the task if i give you the commands to interact with the ALVR server?

modest tinsel
jaunty pelican
#

Ok, in a bit i can send you the commands

modest tinsel
#

i try to interact with ALVR server. Should http://localhost:8082/ respond? Because I am getting a 404 error. i'm using Stable release ALVR v20.11.1

queen pendant
#

404 is a response 🙂

#

telling you the url you look for is invalid

modest tinsel
#

i have resolve the issue, with ALVR 20.11.1. It works fine, i can add/remove device dynamically with Python script. But now, with ALVR 20.12.0 ...doesn't work ....ALVR server not responding with my Python script.