A Discord bot only runs as long as the program behind it runs. On your own PC it goes offline when you close the laptop, the power drops or Windows installs an update. To keep a bot online 24/7 you need a machine that is always on: a free bot host, a paid bot plan, or a VPS. All three work. The difference is what you get back and how much you have to do yourself.
How much memory does a bot actually need?
Less than most people think. A discord.js bot on Node.js idles at around 50 to 80 MB, a discord.py bot on Python at 40 to 60 MB. A regular moderation or command bot with a handful of servers stays well under 512 MB. What pushes memory up:
- Music. Streaming and decoding audio costs memory and CPU. Count on 1 GB or more.
- Caching. A bot that keeps messages or members of hundreds of servers in memory grows with those servers. Turn off caching for what you do not use.
- A database in the same process. In-memory SQLite or a large JSON file you keep reloading.
- Memory leaks. A bot that is twice as large after three days as after an hour is leaking. An automatic restart hides it; fixing it is better.
For almost any bot, 1 GB is plenty. The smallest HostValues plan has exactly that, for €1.40 a month.
Free bot hosting: what you get and what you do not
Some providers run a bot for free. That can be a fine choice for a hobby bot on one server. Do read the terms, because free almost always comes with one of these catches:
- Renewals. Some free hosts require you to click a button every day or every few days, or the bot stops. Forget over the weekend and it is gone.
- Sleep mode. With little activity the process is paused. The first command after a quiet period responds slowly or not at all.
- Shared, limited resources. Little memory, slow CPU, and when the host is busy your bot notices first.
- No guarantee. A free service can stop or change without notice. For a bot that serves a community of a thousand members, that is a risk.
Our honest rule: if the bot is for you and a few friends, try free. If others depend on it, pay for it. One and a half euros a month is less than the time you lose figuring out once why it went offline.
Paid bot plan versus VPS
| Bot plan (game panel) | KVM VPS | |
|---|---|---|
| What you do | Upload files, pick the start file, start | Install Node or Python yourself, manage the process, run updates |
| Restart on crash | Automatic | Set up yourself with pm2 or systemd |
| Multiple bots | One per plan, or in one process with pm2 | As many as memory allows |
| Database | MySQL included | Install yourself |
| Run something else too | No | Yes: website, API, second project |
| From | €1.40 a month (1 GB) | €4.50 a month (2 GB, 2 vCores) |
In short: if you only want to run a bot and not think about it, take the bot plan. If you want to learn how a server works, or you also run a website or API, take the VPS.
Your bot online in fifteen minutes on the game panel
- Upload your files through the Files tab or via SFTP. Not the
node_modulesfolder: that is rebuilt on the server frompackage.json. Python works the same withrequirements.txt. - Set the start file in the Startup tab, for example
index.jsorbot.py. - Put your bot token in a
.envfile on the server or in the startup variables. Never in code you share on GitHub. - Start from the Console tab. If you see "Ready" or "Logged in as", it is online.
The step-by-step guide is in the knowledge base: getting your Discord bot online.
The three mistakes we see most
- Invalid token. The bot starts and immediately stops with "An invalid token was provided". Create a new token in the Discord Developer Portal and put it in
.env. A token that has ever been on GitHub is leaked by definition; Discord revokes it itself. - Intents not enabled. The bot is online but does not react to messages. Enable the "Message Content Intent" under Bot in the Developer Portal, and request that intent in your code too.
- Wrong runtime. Your code uses Node 22 syntax but the server is on Node 18. Pick the right version in the Startup tab. The panel offers Node.js 20 and 22, Python 3.12, Java 21, PHP 8.3, .NET 8, Go and Rust.
Can I run my bot 24/7 for free?
Yes, free hosts exist. Expect mandatory renewals, sleep mode and limited resources. Fine for a hobby bot, not for a bot a community relies on.
How much RAM does my Discord bot need?
A regular moderation or command bot: under 512 MB, so 1 GB is plenty. A music bot or a bot on hundreds of servers: 2 GB or more.
Can I run several bots on one plan?
Yes, with a process manager like pm2 that starts several scripts in one container. Mind the memory: three small bots fit fine in 2 GB, a music bot on top does not.
What if my bot crashes at night?
The panel restarts it automatically. In the console you see the error from just before the crash; that is almost always the cause. If you cannot work it out, include that line in a ticket.
Ready to put it online? See the Discord bot plans, or the KVM VPS if you want to run more than just a bot.