Easily self-host your own FNLB cluster using this minimal setup. FNLB is a powerful and scalable system for managing Fortnite bots at scale.
Before you begin, make sure you have the following installed and ready:
- Node.js (version 22 or newer) – Download Node.js
- A valid FNLB API Token – required to authenticate with FNLB services
- (Optional) Bun – A fast JavaScript runtime that can be used as an alternative to Node.js
Follow these steps to get your FNLB cluster up and running:
Download or clone the FNLB self-hosting project to your local machine:
git clone https://github.com/Fortnite-LobbyBot/Self-Hosted.git
cd Self-Hosted💡 Alternatively, you can manually copy the files into a folder or download the source code as a ZIP.
Install required packages with your preferred runtime:
-
Using Node.js:
npm install
-
Using Bun:
bun i
Rename the .env.example file to .env:
cp .env.example .envEdit the .env file with your actual values:
API_TOKEN=your_token_here
CATEGORIES=12345678,98765432
NUMBER_OF_SHARDS=2
BOTS_PER_SHARD=32
RESTART_INTERVAL=3600
CLUSTER_NAME=Self Hosted Cluster💡 API Token: Obtain this from your FNLB Account under “API Tokens”.
💡 Category IDs: Visit the FNLB Bots Page, select a bot, and locate the “Category ID” in the “About this bot” section.
Once configured, start your FNLB instance:
-
With Node.js:
npm start
-
With Bun:
bun start:bun
The cluster will initialize using your configuration and automatically restart on the interval you defined, ensuring long-term stability and uptime.
Below is a breakdown of each environment variable used in the setup:
| Variable | Description | Default |
|---|---|---|
API_TOKEN |
Your personal FNLB API token | Required |
CATEGORIES |
Comma-separated list of bot category IDs | Required |
NUMBER_OF_SHARDS |
Number of individual shards (instances) to spawn | 2 |
BOTS_PER_SHARD |
Maximum number of bots assigned to each shard | 32 |
RESTART_INTERVAL |
Cluster restart interval in seconds (for stability/maintenance) | 3600 |
CLUSTER_NAME |
The name of the cluster that will appear in the app | Self Hosted Cluster |
Ensure you're always using the latest and most stable version of FNLB:
-
Pull the latest changes from the Git repository:
git pull origin main
-
Update dependencies:
-
With Node.js:
npm update fnlb
-
With Bun:
bun update --latest
-
Restart the cluster to apply changes:
npm start # or bun start:bun
✅ Regular updates provide access to new features, performance boosts, and essential bug fixes.
Once started, the script performs the following:
- Initializes FNLB using your API credentials and environment settings
- Configures:
- Number of shards (isolated bot processes)
- Maximum bots per shard
- Allowed category IDs
- Implements automatic restarts for resilience, using the configured time interval