Deploy a Node.js Discord bot
Get a discord.js / Node.js bot running on Victus: upload or clone your code, point the Startup tab at your entry file, set the token, and start it.
A Victus Discord bot is just a panel server running a Node.js egg. You get a Console, a Files tab, a Startup tab and power controls — the same layout as a game server, but the process it runs is your bot instead of a game. You will need a bot application + token from the Discord Developer Portal (discord.com/developers/applications), your code (in Git or ready to upload), and a bot plan ordered from billing.victuscloud.com (it provisions into control.victuscloud.com automatically). This guide takes a discord.js bot from zero to online.
Step 1 — Get your code onto the server
- 1Git (recommended): open the Startup tab and set the Git repository address (and branch) variable to your repo. On the next start/reinstall the egg clones it, and you can turn on auto-update to pull the latest on every restart.
- 2Upload: open the Files tab, drag in your project (or upload a .zip and use the "Unarchive" action). Make sure package.json and your entry file (for example index.js) sit in the server root, not inside an extra nested folder.
Do not upload node_modules
Never zip and upload the node_modules folder — it is huge and platform-specific. Upload only your source plus package.json / package-lock.json; Victus installs the dependencies on the server. See "Install dependencies (npm / pip / requirements)".
Step 2 — Point the Startup tab at your entry file
The Node.js egg runs a command like node <file>. In the Startup tab, set the main-file / bot-JS-file variable to your entry point (commonly index.js, bot.js, or src/index.js). The dependency install runs automatically on start, so the effective startup usually resolves to npm install && node index.js. Keep a valid package.json in the server root, and never hardcode your token — provide it via a Startup variable or .env (see "Set your bot token (environment variables)").
Step 3 — Start it and watch the Console
- 1Press Start. The Console shows dependency installation, then your bot booting.
- 2A healthy discord.js bot logs something like "Ready! Logged in as MyBot#1234".
- 3If it exits immediately, read the last lines of the Console — see "View logs and debug a crashing bot".
Enable privileged intents if needed
If your bot reads message content or member lists, enable the matching Gateway Intents (Message Content Intent, Server Members Intent) on the Bot page of the Discord Developer Portal — otherwise discord.js throws a "disallowed intents" error on login.