Basilisk Logo
BasiliskDocs

Quick Start

Get started with Basilisk in just a few minutes.

Overview

Basilisk is a cloud-based Content Management Platform for Live Service applications. The workflow consists of three main steps:

Define

Create a Basilisk Definition using BDL (Basilisk Definition Language) to define your data structures

Build

Create Data Builds from Google Spreadsheets using your definitions

Deploy

Publish Data Builds to Environments where your application can fetch them

Creating an Environment: Production

Environments are deployment targets where your Data Builds are published. To create a Production environment:

  1. Navigate to Environments in the Web Console
  2. Click "Create New Environment"
  3. Name it "Production" (or your preferred name)
  4. Configure safety features like forced diff review for production environments

Creating a Data Source

Data Sources are Google Spreadsheets that contain your content data. To set up a Data Source:

  1. Set Google Platform Credentials in Basilisk Web Console
  2. Create a Google Spreadsheet with your data
  3. Invite the Basilisk Worker service account (gserviceaccount) to the spreadsheet with read access
  4. Fill the spreadsheet with your data following the structure defined in your Basilisk Definition

Creating a Basilisk Definition

A Basilisk Definition describes the structure of your data using BDL. It defines Entities, Variables, Indexes, and Data Bundles.

DescriptionTypes of ExamplesReal Examples
EntitiesMain data structures that define collections of variablesCharacter, Weapon, Item, QuestHello, Character, Weapon
VariablesProperties of entities with specific data typesid, name, level, health, damageid, value, name, damage
IndexesDefine how to look up entities in datasetsCharacterIndex, WeaponIndexhello (index), CharacterIndex
Data BundlesGroup entities into deployable unitsCharacters, Weapons, Itemsclient (databundle), Characters

Your First Definition

Edit the spreadsheet and click Build. This prototype simulates Basilisk by validating the required columns (id, value) and producing a deterministic JSON output.

Spreadsheet
Sheet: hello
AB
1
2
Definition
Read-only
entity Hello {
  id: string,
  value: string
}

index {
  hello: {
    sheet: "hello",
    entity: Hello
  }
}

databundle client {
  hello: hello
}
Result
JSON preview
Not built
Click Build to generate output.

Creating a new Basilisk Data Build

To create a Data Build:

  1. Select the created environment
  2. Select the data source (Google Spreadsheet)
  3. Select the data definition
  4. Create a successful build

Fetching Data Builds in Binary or JSON Format

Once a data build is published to an environment, you can fetch it using various methods. Here are examples for different languages:

import axios from 'axios';

// Fetch binary data build
const response = await axios.get('https://your-environment-endpoint/data-build', {
  responseType: 'arraybuffer',
  headers: {
    'Accept': 'application/octet-stream'
  }
});

// Deserialize using Protocol Buffers
const dataBuild = YourProtobufClass.decode(new Uint8Array(response.data));

Next Steps

Now that you understand the basics, explore these resources: