Games
Discord bots
Run a Node.js, Python or other bot around the clock.
Rackvane keeps your Discord bot online around the clock, restarts it if it crashes, and gives you a console to see what it's doing.
#Runtimes
| Runtime | Typical libraries | Starts from |
|---|---|---|
| Node.js | discord.js, Eris | The main file you set (default index.js) |
| Python | discord.py, Nextcord, Pycord | The main file you set; requirements.txt is installed on start |
| Java | JDA, Javacord | Your .jar |
| Bun / Deno | TypeScript or JavaScript bots | Your entry file |
| Go | discordgo | A Go package, built on install |
| Rust | Serenity, Twilight | Your crate, compiled on start |
There are also ready-made bots you don't have to code, like Red-DiscordBot, JMusicBot and Muse: you only enter the bot token at checkout.
#Get your code onto the server
- Upload the project with the file manager or SFTP. Leave out
node_modules,venvand similar folders; they're installed on the server. - Or connect a repository on the Git tab and deploy from GitHub, even on every push.
For Node.js, a package.json in the server folder means npm install runs on every start, so new dependencies are picked up automatically. Set the Main file in Settings if your bot doesn't start from index.js.
#Tokens and secrets: use .env
Never put your bot token in the code or in Git. Keep it in a .env file in the server folder instead. The Environment variables card edits .env for you: add DISCORD_TOKEN and anything else, save, and restart the bot.
DISCORD_TOKEN=your-token-here
DATABASE_URL=jdbc:mysql://...
In Node.js 22 and newer, process.loadEnvFile() reads it without extra packages; in Python use python-dotenv.
#Databases
Bots that store data can use a MySQL database from the Databases tab. Copy the JDBC URL or build a mysql:// address from the details shown.
#Before you start
In the Discord Developer Portal:
- Bot › Reset Token to get the token.
- Turn on the privileged intents your bot uses (Message Content, Server Members, Presence). Without them the bot fails to log in with "disallowed intents".
- OAuth2 › URL Generator with the
botandapplications.commandsscopes to invite it.
#Troubleshooting
- "Cannot find module": the dependency isn't in
package.json, or the main file path is wrong. - "Used disallowed intents": switch on the intent in the Developer Portal.
- Bot starts, then stops: read the console from the top; the first error is usually the real one.
Still stuck? Our team reads every ticket and usually answers within a few hours.
Open a ticket