Newer
Older
[](https://travis-ci.org/mozilla/hubs)
A prototype client demonstrating a multi-user experience in WebVR. Built with
[A-Frame](https://github.com/aframevr/aframe/)
```
## Building Static Files
To bundle javascript and generate the html templates, run:
```sh
## Sharing Your Changes
When running a local copy of Hubs as-is, you'll use Mozilla's "dev" Reticulm and Janus servers
for storing your room information and relaying messages between users in the room.
This also means you can upload a modified copy of Hubs to a hosting provider as-is, and use it
without having to set up your own servers. Simply run:
```
npm run build
```
and then upload the files in the `dist` folder to your hosting provider.
If you are running your own servers, you can modify the environment variables `JANUS_SERVER` and
`RETICULUM_SERVER` when building to point Hubs to your own infrastructure.
See `.env.defaults` for the full set of environment variables that can modify
## hubs.local Host Entry
When running the full stack for Hubs (which includes [Reticulum](https://github.com/mozilla/reticulum))
locally it is necessary to add a `hosts` entry pointing `hubs.local` to your local server's IP.
This will allow the CSP checks to pass that are served up by Reticulum so you can test the whole app.
- `allow_multi` - Allow multiple instances off the app in the same browser session
- `enable_screen_sharing` - Enable screen sharing
- `accept_screen_shares` - Display screens shared by other users
- `avatar_scale` - Scale your self!
- `quality` - Either "low" or "high". Force assets to a certain quality level
- `mobile` - Force mobile mode
- `no_stats` - Disable performance stats
- `vr_entry_type` - Either "2d", "vr", or "daydream". Used internally to force a VR entry type. Add "_now" to the end of the value to skip the audio check.
- `disable_telemetry` - If `true` disables Sentry telemetry.
- `log_filter` - A `debug` style filter for setting the logging level.
- `debug` - If `true` performs verbose logging of Janus and NAF traffic.
- `disableTunnel` - Tunnel vision is on by default. Disable the tunnel vision by this parameter.
## Additional Resources
* [Reticulum](https://github.com/mozilla/reticulum) - Phoenix-based backend for managing state and presence.
* [NAF Janus Adapter](https://github.com/mozilla/naf-janus-adapter) - A [Networked A-Frame](https://github.com/networked-aframe) adapter for the Janus SFU service.
* [Janus Gateway](https://github.com/meetecho/janus-gateway) - A WebRTC proxy used for centralizing network traffic in this client.
* [Janus SFU Plugin](https://github.com/mozilla/janus-plugin-sfu) - Plugins for Janus which enables it to act as a SFU.
* [Hubs-Ops](https://github.com/mozilla/hubs-ops) - Infrastructure as code + management tools for running necessary backend services on AWS.
[](http://waffle.io/mozilla/socialmr)