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 |