Technical manual
Installation
Advanced setup
18 min
the advanced setup is recommended for users who want to understand the internals of how the ir engine's deployment stack works these instructions will explain how to manually setup ir engine docker instances, client, server and/or instance server 1 install dependencies cd path/to/ir engine npm install note how you don't need to use sudo for any of these commands if you find errors with mediasoup follow the mediasoup installation https //mediasoup org/documentation/v3/mediasoup/installation/ instructions check that your version of python is up to date python version make sure that the path where you installed ir engine has no whitespaces 2 start the mysql database make sure you have a mysql database installed and running our recommendation is mariadb we provide a docker container for easily setting up the database this command will create a docker container of mariadb named ir engine db npm run dev docker note you must have docker installed on your machine for this script to work if you do not have docker installed, and do not wish to install it, you will have to manually create a mariadb server the default database information is username server password password database ir engine hostname 127 0 0 1 port 3306 note if you have errors connecting to the local database, you might need to shut off your local firewall 3 start the server in database seed mode several tables in the database need to be seeded with default values to do so, run unix npm run dev reinit windows npm run dev reinit windows there should be no more logging after several seconds if the database has been correctly seeded, some of the final lines should read like this server ready executing (default) set foreign key checks = 1 server exit 4a run all processes in separate tabs from script (optional) you can start all of the processes in separate tabs with a single command from the project root, run npm run dev tabs this will start agones, the client, the api server, the world and media instanceservers, and the local file server in separate tabs if you do this, you do not need to manually run steps 4b, 5, and 6, and can skip to step 7 4b start agones (if you did not run step 4a) open a new terminal and start the agones sidecar in local mode npm run dev agones alternatively, you can also go to ir engine/vendor/agones/ and run linux /sdk server linux amd64 local windows sdk server windows amd64 exe local mac /sdk server darwin amd64 local 5 local file server configuration (optional) if the env local file you have has this line, the scene editor will save components, models, scenes, etc locally, instead of storing them on the s3 cloud server storage provider=local you will need to start a local server to serve these files and make sure that your env local file has this line local storage provider="localhost 8642" in a new terminal, go to packages/server and run npm run serve local files this will start up the http server that will serve local files from packages/server/upload on localhost 8642 note you may have to accept the invalid self signed certificate in the browser the first time it is loaded see the allow local file http server connection with invalid certificate section below 6 start the api server, two instanceservers, and client (if you did not run step 4a) open two/three separate terminals and run run npm run dev inside packages/server this will launch the api, world, media and file servers note if you are not using instanceservers, you can instead run npm run dev api server inside the api server folder run npm run dev inside packages/client note if you are on windows you need to use npm run dev windows instead of npm run dev 7 open the engine if everything went well, you can now open the engine by navigating to https //localhost 3000/location/default https //localhost 3000/location/default in your browser the database seeding process creates a default empty location called default , which can be accessed by opening https //localhost 3000/location/default 8 accept the certificates when loading the engine's website for the first time you'll have to tell your browser to ignore insecure connections open the developer tools of your browser by clicking the side menu with three dots, then go to more tools > developer tools (or use either ctrl+shift+i or f12 ) and then go to the console tab you will see some errors in url addresses starting with wss replace wss with https and open that url in a new tab accept the certificate reload your ir engine's tab you will see some errors in url addresses starting with https //localhost 9000 open the url linked in one of those errors accept the certificate reload your ir engine's tab you need to do this for the following domains wss\ //api local theinfinitereality io > https //api local theinfinitereality io https //api local theinfinitereality io wss\ //instanceserver local theinfinitereality io > https //instanceserver local theinfinitereality io https //instanceserver local theinfinitereality iohttps //localhost 9000 https //localhost 9000 if the engine's website keeps displaying loading routes progress for a long time, it means that you have to allow the engine's certificates web browsers will throw warnings when navigating to pages with unknown certificates (aka insecure pages) you should be able to tell the browser to ignore these warnings by opening your browser's advanced options , but during development it is easier to just ignore the browser's warnings and accept the default certificates note you will be able to create signed certificates to replace the default ones when you deploy your own ir engine stack