Required software:
- Node.js v20+
- Either corepack enabled (recommended) or manually installed pnpm
- Git
- Visual Studio Code (recommended)
For more detailed steps you can follow Pandora asset creation tutorial: Development tools installation
If you don't want to run your own Server & Shard alongside the client, you can connect directly to the official server by editing the pandora-client-web/.env
(not the .template
!) file, replacing
DIRECTORY_ADDRESS="http://127.0.0.1:25560"
With:
DIRECTORY_ADDRESS="https://project-pandora.com"
And then skip to the step 4 of the "Initial setup" section, selecting "Run Client" instead of "Local Pandora Stack".
These steps need to only be done once to setup Pandora stack locally:
-
Clone the pandora-assets repository to the same directory you cloned this repository into.
-
Build the assets by opening
pandora-assets
in VSCode, waiting for setup to finish, then pressing Ctrl+Shift+B. Alternatively you can build them by running following command in thepandora-assets
folder:
git submodule update --init; pnpm i; pnpm build
- After doing that, your folder structure should look like this (note the
out
folder inpandora-assets
):
(Your Pandora project folder)
├── pandora
│ ├── pandora-client-web
│ ├── pandora-common
│ ├── pandora-server-directory
│ └── pandora-server-shard
└── pandora-assets
├── out
└── src
- Open the
pandora
folder with VSCode, select "trust" and wait for setup to finish. Alternatively you can run the following command in thepandora
folder:
pnpm i
If you are using VSCode and the setup finished, simply press F5 and wait for all 4 components to start.
If want to start Pandora in console, then run following command in the pandora
folder and then navigate to http://localhost:6969:
pnpm dev
Congratulations, you've ran the entire pandora stack locally.
You are most likely missing C++ redistributables required by MongoDB on your computer and no other application required them yet. Download and install them from here.
Please refer to the documentation repository for more details.
Individual components and their repository:
Documentation
- Assets (
pandora-assets
) - Common (
pandora-common
) - shard library for all components. - Directory server (
pandora-server-directory
) - Shard server (
pandora-server-shard
) - Web Client (
pandora-client-web
)
- Code styles:
- Not part of this document, enforced by linting; TODO: Writeup.
- Review process:
- No direct pushes to master.
- 2 Approving reviews required (can be blocked by anyone, requires resolving).
- Preferred reviews by peers (code things by coders, assets by asset makers).