HF Sandbox on Multiple PC?


#1

hi HF folks!

I was wondering if it is possible to run the sandbox using multiple computers? I have a pair of old laptops that have win7 home on them and just figured I could link them somehow to a single sandbox instance

is this possible using the website settings page for the sandbox?

thanks!


HiFi deployment
Downstream Servers
#2

Yes I think that @AlphaVersionD has done this he can probably explain how


#3

I don’t believe it is possible to do this via Windows at this time.

Let’s get the official ruling on this from the devs because I TOO am waiting on this functionality for the ConsoleSandboxDomainStackManager. lol :stuck_out_tongue:

cc: @b, @coal, @huffman


#4

There is no way to do this, as far as I am aware, from the web interface, or in any other user-friendly way. Making it easier to do this sort of thing (and contribute compute resources in general) is something that will come eventually, but is not currently on the short-term timeline.

That said, you should be able to run assignment-client.exe directly (with the appropriate arguments) and have them connect to the domain server on your primary machine. If this is something you are interested in doing I can look into providing steps on how to do this.

Ryan


#5

I won’t speak for the others, but I would absolutely welcome this! I’m comfortable in the command line and super shell of Windows, and have experience launching apps in this manner. If you could outline those arguments, I would be most grateful, and if I become familiar with the process I will no doubt make a video tutorial on it.

Last time I did coin-mining I was using Linux, and then did a bit of Windows command line stuff due to efficiency in the AMD drivers. Nevermind that; on with the example code! :smiley:

Thanks a million @huffman!


#6

To do this, you have the choice of compiling the domain-server and assignment-client or using the ones that come with the sandbox. I’d recommend using the ones from the sandbox.

On windows, assuming a default install, those are located at the following locations:

C:\Program Files\High Fidelity\domain-server.exe
C:\Program Files\High Fidelity\assignment-client.exe

You’ll need to run the domain-server separately from the Sandbox as well since there isn’t a way to tell the Sandbox not to run the assignment-client instances at the same time (and you wouldn’t be guaranteed to get the assignment via your manual assignment-client).

The domain-server you should be able to run with no parameters. It will still have a web interface accessible at http://localhost:40100 for you to change any settings.

The assignment-client will need special parameters to point at the domain-server machine. Depending on how you want to split up the assignments, you may also need a parameter to specify the assignment type. You can use ./assignment-client.exe to see an overview of the available parameters. I’ll try to cover the base of what you’d need to split assignments across machines here.

If you just want to run all of the assignments on a different machine, you can do the following, from that machine:

assignment-client.exe -n 5 -a $DOMAIN_MACHINE_IP --server-port $DOMAIN_SERVER_PORT

In that example, the domain-server port can be omitted if you are using the default (40102).

The -n option tells the assignment-client to start with 5 assignments of any type. It will dynamically grow to handle more assignments if your domain-server has scripts it needs assigned.

The -a option tells the assignment-client which assignment-server to use.

If you want to run specific assignments on specific machines, you’ll need to specify the assignment type when running the assignment-client.

First, let’s start with the assignment types. They are:

0 - Audio Mixer
1 - Avatar Mixer
2 - Agent (scripts)
3 - Asset Server
4 - Messages Mixer
5 - Currently Unused
6 - Entity Server

So, let’s say I wanted to run an audio-mixer for the domain-server running at 10.0.0.125. Here’s how I would do that.

assignment-client.exe -t 0 -a 10.0.0.125

I’ve omitted the server port because I know that the domain-server running at 10.0.0.125 is listening on the default port of 40102.

If you want to run some of the assignment-client instances from the same machine as the domain-server, you can specify the type as above and simply omit the -a option. The default assignment server is localhost.

As @huffman mentioned, adding support for this type of setup in a more user friendly way is definitely on Sandbox roadmap. In the meantime, if you’re comfortable getting your hands dirty with the command prompt, this is a great option for you to have a more customized domain setup.


#7

Excellent! This is extremely helpful. Thank you all!


#8

Also, with powershell and bash now available on windows 10, it may be possible to automate the process. So, yes, let’s see the steps and maybe we can help stitch together an alphabetical script. Yes, it would be an alpha-ish multi-server domain, but a nice feather in the HF capabilities portfolio.


#10

Help?

@b, @huffman, @OmegaHeron

I think I have this working across 2 machines, I have done this differently than the screenshot above making sure to follow the directions to a tee… but the number of servers shown is still the default of 5. If I have configured this correctly, will the correct number of assignment clients be shown?

Machine 1:
domain-server.exe
assignment-client.exe -t 0 -a localhost
assignment-client.exe -t 1 -a localhost
assignment-client.exe -t 2 -a localhost
assignment-client.exe -t 3 -a localhost
assignment-client.exe -t 4 -a localhost
assignment-client.exe -t 6 -a localhost

Machine 2:
assignment-client.exe -t 0 -a [my domain ip ((i double checked)) ]
assignment-client.exe -t 1 -a [my domain ip ((i double checked)) ]
assignment-client.exe -t 4 -a [my domain ip ((i double checked)) ]

Expected: 9
Actual: 5

Help?


#11

There is currently not a way to force there to be two audio-mixers or two avatar-mixers in a domain. Running two assignment-client instances with type 0 or type 1 will lead to only one of them getting the assignment and the other sitting unassigned.

I believe that would also be the case for the messages mixer.

Are you hoping to have multiple of each assignment type or were you just hoping to split the ACs across two machines?


HiFi deployment
#12

At this point; beggars can’t be choosers sir. :wink: I’ll take what I can get. :smiley:

Knowing this, I can plan for 5 machines for each type instead of splitting the assignments. I made the incorrect assumption that I could run double-or-multiple instances…

So I cannot run 5 per machine, but 1 assignment type per machine UP TO 5 MACHINES ONLY.

I think I get that now… Does that sound accurate?

Reason: I had people in my domain yesterday and the audio was failing REALLY hard on my modest sandbox rig. @Judas and @M.L were there. I figured I’d just throw more machines at it… but I guess a person needs 2 VR rigs 1 for Sandbox and 1 for Interface. Or… just wait for distributed computing?

As politely as possible, may I ask the timeframe for that? We have steam users coming, and I want the best performance possible.


#13

We’ve seen that machines that hit our min spec typically run into bandwidth limitations for their home connections before they hit the limit of what their machine is able to do running the Sandbox and Interface simultaneously.

I’m surprised it sounds like yours was falling over with 3 sources/listeners. Is it better when you run the audio-mixer separately but on the same network?

No short-term news on split servers, hopefully the real work on that will start next year.


#14

Well, the Sandbox machine is not min-spec for Interface. It would never be able to hit that mark at around a 10 year old machine. :slight_smile: so that’s why I’ve begun off-loading the assignment-clients.

Yes. Yes it is appreciably better.

If I may also ask, in order of processor load, can you list the assignment client servers?
-t = 0 - Audio Mixer
-t = 1 - Avatar Mixer
-t = 2 - Agent (scripts)
-t = 3 - Asset Server
-t = 4 - Messages Mixer
-t = 5 - Currently Unused
-t = 6 - Entity Server
I’d like to obviously dedicate the more taxing ones on a higher end machine. I’ve also found out by accident that which ever machine has the assignment-client for assets, it sends ATP assets from it’s machine and not the primary target. Was an interesting “feature” but totally makes logical sense.

Thanks!


#15

It’s probably 6, 0, 1, 2, 3, 4 though that really depends on what is actually happening in your domain.


#16

It’s odd, back a few months ago (June?) during the first music show @ open it was the same hardware but was able to serve everything to 18 avatars before getting choppy.

Have there been that many drastic changes to Sandbox since then that would account for the unexpected strangulation of resources? I ask because looking at cloud droplets from digital ocean, it would seem my hardware set aside for this should be MORE than efficient. Or could something else be going on?

@Twa_Hinkle have you noticed any issues on your domains; if so, what was the number of avatars, and would you mind sharing your specs? There may be others hosting-at-home but I know of no others. Thanks in advance.

Domain: "open"
WIn10 Pro x64 on Intel Core 2 Duo @ ~ 3.? GHz
8GB RAM
1Gb/s Network
Standard HDD (no ssd here)


#17

I’ve mainly had problems with sound a long time ago and most of that was either my mistakes or bugs that have been fixed. Even with 6 or more here I have not noticed any problems, but I am connected locally, not running interface on the same machine but they are both on the same local network here.

The machine I use is an old gigabyte brix I got for serving web stuff and then for running Open Sim etc.
It has:

Win 7 pro 64bit sp1

on an Intel Core i7-4500u cpu
I think it’s just two core / 4 thread

8gb ram, (I should have gone for 16, but now hardly worth the effort)

with a small SSD and flash drive for extra storage.

One thing I think makes a big difference is: all my assets are on amazon s3. For me, paying tiny amount per month to off load the bandwidth to amazon is worth it. No ATP for me.

Although I’ve got 180 down here, only 12 or so up. My local network here is fast but all that really matters for others on HiFi is your up/down external bandwidth.
gigabit local network doesn’t help other users. The bottleneck is my connection to the internet speed (ping/up/down). At least that is what I’ve thought.

Hope this helps.


#18

But then again, maybe things have changed. Since they removed all my place names from the address bar, no one sees it, no one visits. So I’ve got no way to know if it still works with multiple people.