Wiki » History » Version 15
Josip Almasi, 04/28/2021 03:24 PM
| 1 | 4 | Josip Almasi | {{toc}} |
|---|---|---|---|
| 2 | |||
| 3 | 1 | Josip Almasi | h1. Welcome! |
| 4 | 2 | Josip Almasi | |
| 5 | 4 | Josip Almasi | External resources: |
| 6 | |||
| 7 | 14 | Josip Almasi | Demo site: https://www.vrspace.org/ |
| 8 | |||
| 9 | 15 | Josip Almasi | Github project page: https://github.com/jalmasi/vrspace |
| 10 | 2 | Josip Almasi | |
| 11 | Facebook page: https://fb.com/vrspace.org |
||
| 12 | 3 | Josip Almasi | |
| 13 | 15 | Josip Almasi | VR Days video (features, technologies): https://vimeo.com/475142708 |
| 14 | 3 | Josip Almasi | |
| 15 | 15 | Josip Almasi | Youtube channel: https://www.youtube.com/channel/UCLdSg22i9MZ3u7ityj_PBxw |
| 16 | 1 | Josip Almasi | |
| 17 | 14 | Josip Almasi | OpenSource.com article (motivation): https://opensource.com/article/20/12/virtual-reality-server |
| 18 | |||
| 19 | Client API jsdoc: https://www.vrspace.org/docs/jsdoc/index.html |
||
| 20 | |||
| 21 | Server javadoc: https://www.vrspace.org/docs/javadoc/index.html?overview-summary.html |
||
| 22 | 4 | Josip Almasi | |
| 23 | h1. Setting up development environment |
||
| 24 | |||
| 25 | Here's all you need to start development on Windows. |
||
| 26 | |||
| 27 | h2. Basic setup |
||
| 28 | |||
| 29 | h3. Git bash |
||
| 30 | |||
| 31 | IDEs can work with github directly, but whatever you ask, you'll get a command line answer. |
||
| 32 | Command line git is simply a must have. Bash also includes a lot of goodies like ssh. |
||
| 33 | |||
| 34 | https://git-scm.com/downloads |
||
| 35 | |||
| 36 | h3. Java |
||
| 37 | |||
| 38 | Java 8 will work, java 11 recommended. Get it either from Oracle or elsewhere, e.g. Zulu OpenJDK: https://www.azul.com/downloads/zulu-community/?package=jdk |
||
| 39 | |||
| 40 | h3. Node.js |
||
| 41 | |||
| 42 | Node is used by IDE to evaluate javascript. You'll also may need it if you modify any of babylon.js source. |
||
| 43 | Mind that IDE will complain if you installed unsupported version of Node; should that happen, remove Node, and install latest one supported. |
||
| 44 | |||
| 45 | Get it from https://nodejs.org/ |
||
| 46 | |||
| 47 | h3. IDE |
||
| 48 | |||
| 49 | Eclipse for Java developers (not enterprise), with Spring and Web plugins: |
||
| 50 | |||
| 51 | Download eclipse here: https://www.eclipse.org/ |
||
| 52 | |||
| 53 | And then go to Help -> Eclipse Marketplace |
||
| 54 | Search and install Spring Tools 4 and Wild Web Developer plugins. |
||
| 55 | |||
| 56 | 6 | Josip Almasi | You'll also need to download and install https://projectlombok.org/ |
| 57 | 8 | Josip Almasi | Once done, restart the eclipse. |
| 58 | 6 | Josip Almasi | |
| 59 | 5 | Josip Almasi | h2. Import and start the project |
| 60 | |||
| 61 | In Eclipse, you can use either default or new workspace for the project. |
||
| 62 | Assuming you have cloned the project from the github, |
||
| 63 | Go to File -> Open Projects From the Filesystem |
||
| 64 | Then choose vrspace directory. |
||
| 65 | |||
| 66 | This will import vrspace folders and project subfolders, click Finish. |
||
| 67 | |||
| 68 | In vrspace project folder, in src/main/java, there's org.vrspace.server.ServerApplication.java. |
||
| 69 | Open it, then right click on the code. |
||
| 70 | From the menu, choose either Run as or Debug as -> Spring Boot App. |
||
| 71 | |||
| 72 | Open http://localhost:8080/babylon/connect.html with two browsers, and navigate around. |
||
| 73 | |||
| 74 | That's all, you're all set! |
||
| 75 | 4 | Josip Almasi | |
| 76 | h2. Advanced setup |
||
| 77 | |||
| 78 | 12 | Josip Almasi | h3. SSL |
| 79 | 4 | Josip Almasi | |
| 80 | 12 | Josip Almasi | HTTPS is required for pretty much everything - WebXR, camera, mic access. |
| 81 | By default, the server runs on 8080 port with plain HTTP. To enable HTTPS, edit application.properties (found in src/main/resources), and change following properties: |
||
| 82 | 1 | Josip Almasi | |
| 83 | 12 | Josip Almasi | <pre> |
| 84 | server.ssl.enabled=false |
||
| 85 | # default port 8080 |
||
| 86 | #server.port=8443 |
||
| 87 | 13 | Josip Almasi | </pre> |
| 88 | 12 | Josip Almasi | |
| 89 | h3. Apache |
||
| 90 | |||
| 91 | Apache reverse proxy setup, linux, windows, TBD |
||
| 92 | 4 | Josip Almasi | |
| 93 | h3. Docker and OpenVidu |
||
| 94 | |||
| 95 | OpenVidu voice/video chat server runs as docker image. This is only required for development of voice chat functions. |
||
| 96 | |||
| 97 | 10 | Josip Almasi | Local execution (development): |
| 98 | 11 | Josip Almasi | docker run -p 4443:4443 --rm -e OPENVIDU_SECRET=YOUR_SECRET -e DOMAIN_OR_PUBLIC_IP=YOUR_IP openvidu/openvidu-server-kms:2.17.0 |
| 99 | 10 | Josip Almasi | |
| 100 | Running on server: |
||
| 101 | 1 | Josip Almasi | https://docs.openvidu.io/en/2.17.0/deployment/deploying-on-premises/ |
| 102 | 11 | Josip Almasi | |
| 103 | Then either modify openvidu.publicurl and openvidu.secret in application.properties, or run server.jar with -Dopenvidu.publicurl=YOUR_URL and -Dopenvidu.secret=YOUR_SECRET |