All Projects → janusvr → Janus Server

janusvr / Janus Server

Licence: mit
JanusVR Presence Server

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to Janus Server

Nakama Unity
Unity client for Nakama server.
Stars: ✭ 222 (+204.11%)
Mutual labels:  multiplayer, chat
space
A SCI-FI community game server simulating space(ships). Built from the ground up to support moddable online action multiplayer and roleplay!
Stars: ✭ 25 (-65.75%)
Mutual labels:  multiplayer, multithreading
Nakama Godot
Godot client for Nakama server written in GDScript.
Stars: ✭ 240 (+228.77%)
Mutual labels:  multiplayer, chat
Rpc Websockets
JSON-RPC 2.0 implementation over WebSockets for Node.js and JavaScript/TypeScript
Stars: ✭ 344 (+371.23%)
Mutual labels:  multiplayer, chat
RavEngine
A fast, easy to use C++20 3D game library for modern computers
Stars: ✭ 122 (+67.12%)
Mutual labels:  multiplayer, multithreading
Gophergameserver
🏆 Feature packed, easy-to-use game server API for Go back-ends and Javascript clients. Tutorials and examples included!
Stars: ✭ 61 (-16.44%)
Mutual labels:  multiplayer, chat
Pastebin Scraper
Live-scraping pastebin to fight boredom.
Stars: ✭ 66 (-9.59%)
Mutual labels:  multithreading
Lance
Multiplayer game server based on Node.JS
Stars: ✭ 1,161 (+1490.41%)
Mutual labels:  multiplayer
Tdp
The Darkest Pipeline - Multithreaded pipelines for modern C++
Stars: ✭ 67 (-8.22%)
Mutual labels:  multithreading
Easychatandroidclient
EasyChat是一个开源的社交类的App。主要包含消息、好友、群组等相关的IM核心功能。部分界面参照了QQ、微信等相关社交APP。EasyChat APP整体采用MVVM模式,基于JetPack(Lifecycle,LiveData,ViewModel,Room)构建
Stars: ✭ 64 (-12.33%)
Mutual labels:  chat
Element Rpm
Providing the Element messaging desktop client packaged for the Fedora, Red Hat(IBM), and OpenSUSE families of linux desktop operating systems.
Stars: ✭ 73 (+0%)
Mutual labels:  chat
Webbybot
chatterbot written in es6 (es2015), fork from hubot
Stars: ✭ 71 (-2.74%)
Mutual labels:  chat
Matrixcli
Command line matrix client
Stars: ✭ 69 (-5.48%)
Mutual labels:  chat
Mqtt Chat
MQTT Chat Using Mosca
Stars: ✭ 67 (-8.22%)
Mutual labels:  chat
Jarvis On Messenger
💬 A community-driven python bot that aims to be as simple as possible to serve humans with their everyday tasks
Stars: ✭ 1,167 (+1498.63%)
Mutual labels:  chat
Gochat
goim server write by golang !🚀
Stars: ✭ 1,144 (+1467.12%)
Mutual labels:  chat
Mage
Magic Another Game Engine
Stars: ✭ 1,180 (+1516.44%)
Mutual labels:  multiplayer
Android Java Chat App
Open-source Voice & Video Calling and Text Chat App for Java (Android)
Stars: ✭ 66 (-9.59%)
Mutual labels:  chat
Evenk
A C++ library for concurrent programming
Stars: ✭ 68 (-6.85%)
Mutual labels:  multithreading
Movim
Movim - Decentralized social platform
Stars: ✭ 1,171 (+1504.11%)
Mutual labels:  chat

Janus VR Presence Server

This version is the one that VR Sites runs, which is the default server unless another is specified in your <Room> code. Read here to learn how your room can specify a different server.

Introduction

The Janus VR Presence Server is an open source project started by Lisa Croxford which allows one JanusVR client to share information with another client. It enables multiplayer. The server software is what allows each of the JanusVR clients know where other avatars are geographically and who else is in the same virtual space. It is also what enables things like chat.

If you need more information or would like to get involved, you will find most JanusVR enthusiasts on the JanusVR subreddit. You can also read the CONTRIBUTORS.md file in the root of this repository.

If you want to understand how a client interacts with the Janus VR Presence Server then checkout the API Documentation.md in the root of this repository.

Installation

  1. Download and install node from nodejs.org
  2. Clone this repo or download the latest release via the releases page on GitHub.
  3. cd into the root of the repository where server.js is located and run npm install to install all module dependencies listed in package.json. The modules will be placed into the node_modules folder and are required for the server to start.
  4. Copy config-example.js to config.js and change any of the variables you require to run your server. It's fairly well commented to guide you.

SSL

SSL is not required to run your server, but it is recommended. At the very least you should go through the self-signed SSL process outlined below.


Self-signed SSL

Run the ./generate_key script in the root of the repository to generate a SSL certificate for the server.

  • When asked to provide a Common Name for the server enter the domain name the server will be running on. I.e. yourdomain.com. If running a development version of the server on OSX you can also use your Bonjour name i.e. yourcomputer.local. On OSX you can see your computer's Bonjour name by going to System Preferences -> Sharing and looking under the Computer Name field.
  • When asked to provide a challenge password while generating the SSL certificate press enter to skip setting a password.

Certified SSL

If you have a valid SSL certificate:

  1. Save the key file as cert/server-key.pem
  2. Save the certificate file as cert/server-cert.pem
  3. Save your CA's intermediate certificates as cert/cabundle.pem

Running the Server

  1. cd to the root of the repository where server.js is located.
  2. Run the following command to start the server: node server.js. If you want this to run continually, you may want to look into using forever or pm2 which are node modules built specifically for running other node server applications.
  3. Launch the JanusVR client with paramters to connect to your server.
  • Windows Create a shortcut to JanusVR and add the following arguments after the path to the JanusVR executable
    • -server my.server.com -port 5566 where my.server.com is the IP address of your computer (127.0.0.1 or localhost should also work here) and where 5566 is the port that the server is running on as defined in config.js.
  • OSX You can run the client from the command line by navigating to janusvr.app/Contents/MacOS/ and running
    • ./janusvr -server my.server.com -port 5566 for non-ssl
    • ./janusvr -server my.server.com -port 5567 for ssl

Contributing

We have a contributors guide in the CONTRIBUTORS.md file found in this directory.

Troubleshooting

I cannot see other people when using JanusVR and I know others have the same server configured.

Press / once JanusVR has started. JanusVR will list all the servers you are trying to connect to or ARE connected to. You should see your server in this list. If your server is red then it means that JanusVR cannot connect to it. Check firewall settings on the server to make sure that port 5566 and 5567 (for SSL) are open and able to receive traffic. Check the server.log file on the server to see if there are any errors.

I entered the wrong details in for my key after executing ./generate_key.

./generate_key will generate 3 files based on your input:

  • /cert/server-key.pem
  • /cert/server-cert.pem
  • /cert/cabundle.pem
    Just delete these and execute './generate_key' again.

I have a general problem and need some troubleshooting info about the server application.

Check out the server.log file. Just tail it and you will see the log being written to as activities take place - e.g. logging on etc.

License

This project is licensed under the MIT license. See the LICENSE.txt file in this directory for complete text.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].