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