A terminal-styled web application for managing LANCER RPG missions and your mercenary company. Features password-protected access with separate client and admin interfaces for managing jobs, base modules, factions, pilots, reserves, and currency (Manna).
As this is a standalone web app, you can either:
- Download it and run it yourself locally, or
- Host it online using a free website hosting service using this guide.
I'd recommend the online hosting guide for most people. Otherwise, hosting locally will do just fine if you're comfortable with port-forwarding or using a reverse proxy.
-
Go to releases on the right and download the latest
Lancer_Bloodmoney_Companion_X.X.X.zip. -
Unzip into an empty folder.
-
Run the executable for your OS (probably windows, which would be the
.exe)
-
You will need Node Package Manager (NPM) and therefore Node.js to use this.
For Windows at least, you'll want to install Node.js through the installer on their website here: https://nodejs.org/en/download
You will also need Git installed, which can be done from their website here: https://git-scm.com/install/
0.5 Open a Terminal or CMD and cd to a folder of your preference where this will be stored.
-
Clone the repository:
git clone https://github.com/Shteb/LANCER-Bloodmoney-Merc-Board.git cd LANCER-Bloodmoney-Merc-Board -
Install dependencies:
npm install
-
Start the server:
npm start
-
Open your browser and navigate to
http://localhost:3000 -
Login with one of the following access codes:
- CLIENT Mode: Enter
IMHOTEP(view-only access) - ADMIN Mode: Enter
TARASQUE(full management access)
- CLIENT Mode: Enter
For most people, download the latest release and transfer your data folder over to the new version.
For those using git, at the same folder level you ran npm install, now run git pull.
Voting.Demo.mp4
- 4 color themes to choose from (Grey, Orange, Green, Blue)
- CLIENT (password: IMHOTEP) – View and interact with company info
- ADMIN (password: TARASQUE) – Full management and editing
- Overview: See your company's Manna balance, last 5 transactions, and operation progress
- Job Board: Browse active missions, see details, payment, and client/faction info
- Base: View all 15 base modules (core, major, minor), see which are enabled/disabled
- Factions: Track relationships, see standings, completed/failed jobs, and emblems
- Pilots: View all pilots, edit reserves, see job history, and pilot status
- Live Updates: All info updates in real time—no refresh needed
Everything CLIENTs can see, plus:
- Manage Jobs: Create, edit, delete, and progress jobs; assign to factions; upload emblems
- Setup Job Voting: Start, set timing for and view Job votes
- Manage Manna: Set balance, add transactions, view and edit full history
- Manage Base: Edit all modules, enable/disable minor modules, write descriptions
- Manage Factions: Add/edit/delete factions, set standings, upload emblems, track job stats
- Manage Pilots: Add/edit/delete pilots, set status, assign jobs, manage reserves
- Settings: Change portal title, date, color scheme, and galactic position
- Instant Updates: All changes appear instantly for everyone
All data is stored in JSON files in the data/ folder (not tracked by git). Files are auto-created on first run with sample content. All changes are persist across restarts.
LANCER-Bloodmoney-Merc-Board/
├── server.js # Express server and API routes
├── helpers.js # Validation and helper functions
├── package.json # Project dependencies
├── views/
│ ├── landing.ejs # Password entry page
│ ├── admin.ejs # Admin panel with tabbed interface
│ ├── client-overview.ejs # Client landing page (Manna balance + navigation)
│ ├── client-jobs.ejs # Job board listing
│ ├── client-base.ejs # Base modules display
│ ├── client-factions.ejs # Faction relations display
│ ├── client-finances.ejs # Full transaction history view
│ ├── client-pilots.ejs # Pilot list with notes and owned reserves
│ ├── client-reserves.ejs # Reserve management page with deployment status tracking
│ └── client-shop.ejs # Shop page for purchasing reserves and resupply items
├── public/
│ ├── css/
│ │ ├── terminal.css # Terminal styling with color scheme support
│ │ └── currency.css # Currency icon styling
│ └── js/
│ ├── sse-client.js # SSE client for real-time updates
│ └── shared-handlers.js # Shared SSE event handlers
├── logo_art/ # Emblem/logo SVG files (shared by jobs and factions)
├── default_data/ # Default initialization data
│ └── default_reserves.json # Default reserve items for first-run initialization
│ ├── default_base_core_major_facilities.json # Default Core/Major facilities
│ └── default_base_minor_facilities.json # Default minor facility options
└── data/ # JSON data files (gitignored)
├── jobs.json # Job postings with state and faction relationships
├── manna.json # Manna balance and transaction history
├── base_core_major_facilities.json # Core and Major facilities with upgrades
├── minor_facilities_slots.json # Minor facility slots configuration
├── factions.json # Faction data with standings
├── pilots.json # Pilot roster with related jobs, notes, and owned reserves (with deployment status)
├── reserves.json # Reserve items available for shop
├── store-config.json # Store configuration (current stock and resupply settings)
└── settings.json # Global settings including operation progress
- Node.js: Runtime
- Express: Web framework
- express-session: Session and authentication
- EJS: Templating
- Multer: File uploads
- Potrace: Image to SVG conversion
- CSS3: Terminal effects and color themes
- Server-Sent Events (SSE): Real-time updates
- App runs on port 3000 by default (set
PORTto change) - Passwords and settings are in
data/settings.json - All data is file-based (no database needed)
I have no idea how licensing works, but I'm using default emblems from https://icon-sets.iconify.design/.