Multiple domain servers run on a large number of systems are part of the distributed and scalable design of High Fidelity…
Image from High Fidelity
- https://highfidelity.io/blog/2014/04/high-fidelity-system-architecture/
- https://github.com/highfidelity/hifi/wiki/Running-Local-Servers
Running a Domain Server
On 1st August 2014 a Windows version of the HiFi Domain server was made available on hifi://eriskay.aiai.ed.ac.uk and that now has an alias of hifi://hifi.aiai.ed.ac.uk
It is listed on the HiFi Domains page at
It may be the case that ports 40100 for http and Json requests and port 40102 for most services both need to be open externally to our firewall.
Initial tests by @Judas and @Richardus indicated they could reach the server and domain without many firewall ports being opened up, but that remains to be verified.
A web interface on port 40100 shows the following:
We are questioning on the High Fidelity alpha tester forums whether thus should be on a more secure port or provided via secure access methods.
Further Tests with Ports 40100 and 40102 Open
Errors related to fetching settings are now corrected with port 40100 open as at 4-Aug-2014, but there will be issues of the security of the HTML/JSON admin, status and setting pages also on that port and which currently are unprotected.
Models can be deleted by selecting them with the mouse and hitting the backspace key. The list of models on the domain are listed in the models.svo file in the AppData Stack Manager/resources/ folder.
Firewall and ports for HiFi Domain Server/Stack Manager
At 15:31 04/08/2014, @leo (High Fidelity) wrote:
Ports for all assignments are randomly chosen at runtime from unprivileged ports. However, they should not require being explicitly open since they’re expected to punch a hole for themselves when first registering, a hole that should be available to other assignments trying to reach it.
Port range that must be open (or properly forwarded if behind NAT) is 40100-40105 (both TCP and UDP).
Offering Server Resources to a Domain
It is possible to offer services to another domain via the “assignment client” via
...\assignment-client.exe -n [number of AC's] -t [type of AC] -a [domain you want to point to] --wallet [wallet id, if you are pointing to a domain that is giving out credits e.g. alpha.hifidelity.io] --pool [the name of the queued assignment]
e.g.
"C:\Users\username\AppData\Local\High Fidelity\Stack Manager\assignment-client.exe" -n 1 -t 2 -a alpha.highfidelity.io --wallet WalletUUID --pool credits
Here are the different types of the assignment clients and corresponding numbers:
- AudioMixerType 0
- AvatarMixerType 1
- AgentType 2
- VoxelServerType 3
- ParticleServerType 4
- MetavoxelServerType 5
- ModelServerType 6
- AllTypes 7
So, currently the assignment client, which type is 2, Agent, is the one that actually does something. If you start assignment client with -t parameter set as 7 you would also get some action since the Agent type is included. The Agent type is the one that can run JS scripts and that is the only type of assignment client you actually can have at this point of development.