What you need
- A Linux server, We dont care what distor we use as long as npm/node works on it its fine.
- Node.js v18 or higher
- npm v9 or higher
- Docker installed and running
- Git
The project lives in the airlinklabs org on GitHub. The main repos you will touch are panel, daemon, images, and addons.
Quick install
The fast path. Run it as root and it handles dependencies, database setup, admin account creation, and systemd setup.
bash <(curl -s https://raw.githubusercontent.com/airlinklabs/panel/refs/heads/main/installer.sh)
Follow the prompts. It asks for database credentials and admin account details.
Manual install
Full control over each step.
Panel
cd /var/www/
git clone https://github.com/airlinklabs/panel.git
cd panel
sudo chown -R www-data:www-data /var/www/panel
sudo chmod -R 755 /var/www/panel
cp example.env .env
Edit .env with your database credentials, then run:
npm install -g typescript
npm install --omit=dev
npm run build
npm run migrate:deploy
npm run start
Daemon
The daemon runs on each machine that hosts game servers. It needs Docker.
cd /etc/
git clone https://github.com/airlinklabs/daemon.git
cd daemon
cp example.env .env
npm install
cd /etc/daemon/libs
npm install
cd ..
npm run build
npm run start
Connecting a node
Once the daemon is up on a machine:
- Log into the panel as an admin
- Go to Admin > Nodes > Create Node
- Enter the node IP and daemon port, usually
3002 - Click Configure to get the daemon key
- Copy the command and paste it in the daemon's terminal
- Restart the daemon
The node should show online within a few seconds.
Creating your first server
- Go to Admin > Images > Store and upload or install a game image
- Go to Admin > Servers > Create Server
- Pick a node, assign a user, choose the image, and set resource limits
- The server appears on the user's dashboard right away