Sharkhex Spaces
Documentation
Everything to install, run and extend Sharkhex Spaces.
Getting started
Self-hosting
A client installs the product on a server of their own from one release archive, natively or in Docker, and upgrades it from the next one.
Licensing
What a license key is, how an install activates it, how to move it to another server, and what happens when a check fails.
Configuration
Every setting comes from an environment variable, and an empty variable counts as unset. A secret can instead be read from a file: set <NAME>_FILE to its path.
Operations
How vws runs against its database and how a running process reports its state. Configuration variables are listed in Configuration.
Administration
Central admin
A multi-tenant platform (VWS_TENANCY=multi) has a central admin above its tenants, where its operators create, suspend and delete tenants, define plans and give them to tenants, invite their first admins, manage the identity providers every tenant may offer, and read the platform's health and log.
Tenancy
The host of a request selects its tenant.
Identity
The product is the OAuth 2.0 authorization server for its own clients: the web client and the iOS and Android apps.
Languages
The client speaks English (en-US, the base), German (de-DE) and Arabic (ar-SA), which reads from right to left.
Maps and content
Map format
A map is a Tiled document plus a layout of our own. The Tiled document draws the map: tiles, layers, collisions and text.
Avatars
An avatar is a stack of sprite sheets, one per part, that the client draws over each other at the player's position.
Entities
An entity is an object placed on a map, such as a desk, a plant or a screen.
Developers
Scripting API
Map scripts and the pages a map allows talk to the room through one global, world, version 1. This document is its specification.
Extensions
This is how tenants extend the product. Modules and calendars and tasks are built.
Partner API and webhooks
A tenant's own systems, such as its intranet, booking tool or CRM, work with its worlds through the partner API, and hear what happens in them through webhooks.
HTTP API
The HTTP API of the web client, the mobile apps and the administration: versions, errors, pagination, idempotency and the resources.
Found a mistake? Tell us.