Hi everyone,
I've been working on a new Node.js/TypeScript module to interact with StarMade's
HSQLDB database. The goal is to give server admins and tool developers a clean,
typed API to read and write game data without having to deal with JDBC or raw SQL.
GitHub: GitHub - blackcancer/StarMade-DB: TypeScript/ESM module for interacting with StarMade's HSQLDB database via JDBC
---
What it does:
StarMade-DB connects directly to the HSQLDB files in your StarMade server
installation. It exposes all tables through dedicated controllers with methods
for read, create, update, delete, bulk operations and more.
Tables supported:
- Players, Entities, Sectors, Systems
- Fleets, Fleet Members
- Effects, Mines, FTL
- Trade Nodes, Trade History
- Visibility, Sectors Items, NPC Stats, Player Messages, ID Gen Table
---
Usage exemple:
---
Features:
- Full CRUD on all StarMade database tables
- Written in TypeScript with complete typings
- Parameterized queries (SQL injection safe)
- Transaction support with savepoints and isolation levels
- Schema and relationship analysis
- Intelligent cache with TTL
- Read-only mode (safe for live servers)
- Connection pooling with auto-reconnect
- HSQLDB driver bundled, no extra setup needed
---
Requirements:
- Node.js 20+
- Java/JDK (11, 17 or 21 recommended)
- A StarMade server with a world database
---
Install:
npm install github:blackcancer/StarMade-DB
The module builds automatically on install.
---
Documentation:
- API guide: StarMade-DB/docs/API.md at main · blackcancer/StarMade-DB
- Table reference: StarMade-DB/docs/database/INDEX.md at main · blackcancer/StarMade-DB
Feel free to ask if you have any questions.
I've been working on a new Node.js/TypeScript module to interact with StarMade's
HSQLDB database. The goal is to give server admins and tool developers a clean,
typed API to read and write game data without having to deal with JDBC or raw SQL.
GitHub: GitHub - blackcancer/StarMade-DB: TypeScript/ESM module for interacting with StarMade's HSQLDB database via JDBC
---
What it does:
StarMade-DB connects directly to the HSQLDB files in your StarMade server
installation. It exposes all tables through dedicated controllers with methods
for read, create, update, delete, bulk operations and more.
Tables supported:
- Players, Entities, Sectors, Systems
- Fleets, Fleet Members
- Effects, Mines, FTL
- Trade Nodes, Trade History
- Visibility, Sectors Items, NPC Stats, Player Messages, ID Gen Table
---
Usage exemple:
JavaScript:
import { HSQLManager, PlayersController } from 'starmade-db';
const manager = new HSQLManager({
starmadeDir: '/path/to/starmade',
worldName: 'world0',
connection: { readOnly: true }
});
await manager.initialize();
const players = new PlayersController();
await players.initialize(manager);
const result = await players.findPlayers({ limit: 10 });
console.log(result);
await manager.destroy();
Features:
- Full CRUD on all StarMade database tables
- Written in TypeScript with complete typings
- Parameterized queries (SQL injection safe)
- Transaction support with savepoints and isolation levels
- Schema and relationship analysis
- Intelligent cache with TTL
- Read-only mode (safe for live servers)
- Connection pooling with auto-reconnect
- HSQLDB driver bundled, no extra setup needed
---
Requirements:
- Node.js 20+
- Java/JDK (11, 17 or 21 recommended)
- A StarMade server with a world database
---
Install:
npm install github:blackcancer/StarMade-DB
The module builds automatically on install.
---
Documentation:
- API guide: StarMade-DB/docs/API.md at main · blackcancer/StarMade-DB
- Table reference: StarMade-DB/docs/database/INDEX.md at main · blackcancer/StarMade-DB
Feel free to ask if you have any questions.