Skip to content
This repository has been archived by the owner on Feb 27, 2023. It is now read-only.
/ kernel Public archive

Kernel is the glue code between the OS, comms and the Renderer of Decentraland

License

Notifications You must be signed in to change notification settings

decentraland/kernel

Repository files navigation

IMPORTANT! This repository is no longer maintained. Migrated to unity-renderer

This repository was merged to the unity-renderer repository on the following path: https://github.com/decentraland/unity-renderer/tree/dev/browser-interface

Decentraland Explorer

This is the decentraland explorer official repository.

This repository covers mainly the Kernel component of the explorer product.

Kernel component responsibility includes running the SDK scenes, handling back-end business logic and more. This said, you can clone this repo and run the browser version of Explorer. If you want to contribute to our renderer, please check out the unity-renderer repo: https://github.com/decentraland/unity-renderer/pulls. Unity-renderer repo outputs a npm package that's used on this one for publishing the Explorer.

Before you start

  1. Contribution Guidelines
  2. Coding Guidelines
  3. Code Review Standards

Running the Explorer

IMPORTANT: If your path has spaces the build process will fail. Make sure to clone this repo in a properly named path.

Manually (Mac/Linux)

Make sure you have the following dependencies:

  • Latest version of GNU make, install it using brew install make
  • Node v10 or compatible installed via sudo apt install nodejs or nvm

With Docker (Windows/Mac/Linux) (Recommended)


When all the dependencies are in place, you can start building the project.

First off, we need the npm package dependencies. In most of the cases this should be done only once:

npm install

By now, you can run and watch a server with the kernel build by typing:

make watch

The make process will take a while. When its finished, you can start debugging the browser's explorer by going to https://localhost:8080/

Update local renderer build version

The unity build used when accessing through localhost can be changed with several commands:

  • make update-renderer downloads the renderer build for the master branch and installs it, overwriting the previous build.

Keep in mind that a make watch should be run and keep the server up before updating the local build, otherwise it will be replaced by the make watch command.

Run kernel tests

To see test logs/errors directly in the browser, run:

make watch

Now, navigate to https://localhost:8080/test

Troubleshooting

Missing xcrun (macOS)

If you get the "missing xcrun" error when trying to run the make watch command, you should download the latest command line tools for macOS, either by downloading them from https://developer.apple.com/download/more/?=command%20line%20tools or by re-installing XCode


Testing your branch using automated builds

When any commit is pushed to a branch on the server, a build is generated and deployed to:

https://play.decentraland.zone/branch/<branch-name>/index.html

If the CI succeeds, you can browse to the generated link and test your changes. Bear in mind that any push will kick the CI, and there's no need to create a pull request.


Technical how-to guides and explainers

For more advanced topics, don't forget to check out our Architecture Decisions Records (ADR) repository.

Copyright info

This repository is protected with a standard Apache 2 license. See the terms and conditions in the LICENSE file.