Files
blitzkit/README.md
T

75 lines
2.5 KiB
Markdown
Raw Normal View History

2025-09-28 13:44:15 -05:00
# BlitzKit
2024-12-23 12:37:12 -06:00
2026-10-04 13:11:36 -05:00
Your Blitz experience, elevated. https://blitzkit.app/.
2025-09-28 14:10:34 -05:00
2026-10-04 13:21:21 -05:00
## Developing: Prerequisites
2026-10-04 13:11:36 -05:00
2026-10-04 13:21:21 -05:00
There's a few things you'll need to get started. If this is your first time working with BlitzKit, it's completely safe to ignore all optional prerequisites below to get things running as quickly as possible.
2026-10-04 13:11:36 -05:00
2026-10-04 13:21:21 -05:00
### Bun
2026-10-04 13:11:36 -05:00
[Bun](https://bun.sh/) is the package manager and runtime that BlitzKit uses.
Ideally, you should also uninstall Node.js if you have it installed to avoid any cases where Node.js is used to run code instead of Bun which happens in some cases. But, this is not required and is unlikely to cause issues.
2026-10-04 13:21:21 -05:00
### Protocol Buffer
BlitzKit uses [Protocol Buffer's protoc CLI](https://protobuf.dev/installation/) to generate efficiently packed data structures to serve data to clients in place of JSON.
2026-10-04 13:27:46 -05:00
### World of Tanks Blitz
You will need a local installation of [World of Tanks Blitz](https://wotblitz.com/) for BlitzKit to build off.
2026-10-04 13:21:21 -05:00
### aria2 (Optional)
If you plan to use BlitzKit's client-management CLI for BlitzKit Previews, you will need to [get aria2](https://aria2.github.io/) to speed up your downloads.
### libarchive (Optional)
If you plan to use BlitzKit's client-management CLI for BlitzKit OpenTests, you will need to [get libarchive](https://www.libarchive.org/) to keep your downloads completely in-memory.
### Linux (Optional)
2026-10-04 13:11:36 -05:00
All work on BlitzKit is done on Linux and macOS. It is theoretically possible to work on Windows; please feel free to try and share your discoveries with us!
2026-10-04 13:21:21 -05:00
## Developing: Setting Up
2026-10-04 13:11:36 -05:00
Start by cloning the repository and changing directories.
```bash
git clone https://github.com/blitzkit/blitzkit.git
cd blitzkit
```
2026-10-04 13:27:46 -05:00
> [!NOTE]
2026-10-04 13:11:36 -05:00
> There is a closed source submodule under `packages/closed` that you can safely ignore. This sole purpose of this submodule is to provide `dvp.ts`, a proprietary Wargaming game asset tree compression tool. You will not need this at any point.
2026-10-04 13:21:21 -05:00
2026-10-04 13:27:46 -05:00
Then, download the dependencies with Bun.
```bash
bun install
```
Finally, compile the proto files into TypeScript.
```bash
build build-protos
```
2026-10-04 13:36:33 -05:00
## Developing: Environment
Go through the different packages in the `packages` directory and clone their respective `template.env`'s to `.env` files. Follow the instructions in the `.env` files to fill them out as much as you can.
2026-10-04 13:21:21 -05:00
## Developing: Running
2026-10-04 13:27:46 -05:00
2026-10-04 13:37:21 -05:00
Launching the website is as easy as running the `dev` script.
2026-10-04 13:27:46 -05:00
```bash
bun dev
```
2026-10-04 13:37:21 -05:00
If you ever make a change to any proto file, make sure to rebuild them.
```bash
build build-protos
```