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 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 the default database information is username server password password database ir engine hostname 127 0 0 1 port 3306 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 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 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