All posts
by Renzom Team5 min read

Discord-Bot bei Renzom hosten: Schritt-für-Schritt-Deploy mit echtem Code

Wie du einen Discord-Bot auf Renzoms Discord-Bot-Node deployst — von Token zu 24/7-Uptime in 10 Minuten. Inklusive Tipps zu Logs, Restart und Updates.

  • #discord-bot
  • #tutorial
  • #hosting
Also available in English

Bei Discord-Bot-Hosting will man eigentlich nur drei Dinge: 24/7-Uptime, automatischer Restart bei Crash, einfaches Code-Deployment. Mehr nicht. Trotzdem werden Discord-Bot-Hosting-Pläne oft mit irrelevanten "Gameserver-Features" überfrachtet — Slot-Limits, RCON-Zugang, Anti-Cheat-Tooling — die für einen Bot komplett sinnlos sind.

Bei Renzom haben wir eine eigene Discord-Bot-Node gebaut, die nichts davon mitbringt: einfach ein Node.js-/Python-/Java-Container mit SFTP-Zugang, Schedule-Cron, automatischem Restart und genug RAM für reale Bot-Workloads. So nutzt du sie.

Was du brauchst

Schritt 1: Bot-Node bestellen und einrichten

Bei Bestellung wählst du:

  • RAM: 1 GB für die meisten Bots; 2 GB wenn du eine Datenbank im selben Container fährst
  • Node.js Default: unsere Renzom-Discord-Bot-Egg-Variante kommt mit discord.js und dotenv als vorinstallierten Packages. Python- oder Java-Bots? Wähl die entsprechende Egg-Variante; wir richten dir das ein.
  • Dedicated IP: nicht nötig für Standard-Bots (siehe unseren Dedi-IP-Guide). Discord-Bots sind outgoing-only.

Nach dem Checkout läuft das Container-Setup automatisch durch. Du bekommst per E-Mail Login-Daten fürs Panel und SFTP.

Schritt 2: Code hochladen

Du hast zwei Optionen:

Option A: Per SFTP

Im Panel siehst du SFTP-Credentials. Verbinde dich mit deinem SFTP-Client (FileZilla, WinSCP, Cyberduck) und lade dein Bot-Projekt in /home/container/ hoch.

Minimaler Beispiel-Bot (index.js):

require('dotenv').config();
const { Client, GatewayIntentBits } = require('discord.js');

const client = new Client({
  intents: [
    GatewayIntentBits.Guilds,
    GatewayIntentBits.GuildMessages,
    GatewayIntentBits.MessageContent,
  ],
});

client.once('ready', () => {
  console.log(`Bot online als ${client.user.tag}`);
});

client.on('messageCreate', (msg) => {
  if (msg.content === '!ping') msg.reply('pong');
});

client.login(process.env.DISCORD_TOKEN);

package.json:

{
  "name": "renzom-bot",
  "version": "1.0.0",
  "main": "index.js",
  "scripts": { "start": "node index.js" },
  "dependencies": {
    "discord.js": "^14.16.3",
    "dotenv": "^16.4.5"
  }
}

.env (mit deinem echten Token):

DISCORD_TOKEN=dein-token-hier

Option B: Per Git

Im Panel hast du Konsolen-Zugang. Du kannst:

cd /home/container
git clone https://github.com/dein-user/dein-bot.git .
npm install

Dann im Panel den Start-Command auf node index.js setzen (oder was auch immer dein Entry-Point ist).

Schritt 3: Den Token sicher hinterlegen

Niemals den Token committen. Wir sehen das ständig — Bots werden gehackt, weil ein Token in einem öffentlichen GitHub-Repo lag.

Korrekter Weg:

  1. Token in .env ablegen
  2. .env in .gitignore
  3. Im Panel oder per SFTP die .env direkt auf den Server packen

Alternativ kannst du im Renzom-Panel Environment Variables setzen — die werden dem Bot beim Start automatisch übergeben, ohne dass du eine .env-Datei brauchst. Sicherer und einfacher.

Schritt 4: Bot starten

Im Panel auf "Start" klicken. Du siehst die Konsole live mit:

[INFO] Container starting...
[INFO] Running: node index.js
Bot online als RenzomBot#1234

Wenn das nicht erscheint:

  • MissingPermissions / Invalid Token: Token ist falsch oder Bot wurde nicht zum Server eingeladen
  • Cannot find module: npm install wurde nicht ausgeführt
  • Heap out of memory: RAM-Tier zu klein — upgrade

Schritt 5: Auto-Restart bei Crash

Im Panel unter "Schedules" eine Regel anlegen:

  • Trigger: Container Crash
  • Action: Restart Server

Das ist der Default bei Renzom für Discord-Bots, du musst es meistens nicht selbst setzen. Verifiziere trotzdem, dass es aktiv ist.

Damit kommt dein Bot innerhalb von Sekunden zurück, falls er crashed — ohne dass du eingreifen musst.

Schritt 6: Logs anschauen

Konsole im Panel zeigt Live-Output. Für persistente Logs:

const fs = require('fs');
function log(msg) {
  const line = `[${new Date().toISOString()}] ${msg}\n`;
  fs.appendFileSync('/home/container/bot.log', line);
  console.log(line.trim());
}

Die bot.log siehst du dann per SFTP oder im Panel-File-Manager.

Schritt 7: Updates deployen

Per SFTP: neue Datei hochladen, im Panel "Restart" klicken.

Per Git: in der Konsole git pull && npm install, dann "Restart".

Wir empfehlen Git für alles, was komplexer als ein einzelner File-Bot ist — Rollback ist trivial.

Häufige Probleme und Lösungen

"Bot startet, antwortet aber nicht auf Commands."

  • Intents falsch konfiguriert. Stell sicher, dass MessageContent-Intent aktiviert ist (im Discord Developer Portal und im Code).
  • Bot hat keine Permissions im Server. Prüf, ob er die Channels lesen kann.

"Bot disconnected ständig nach ein paar Stunden."

  • WebSocket-Resume schlägt fehl. Häufig bei alten discord.js-Versionen — update auf 14.x.
  • Memory-Leak im Code. Schau dir die RAM-Usage im Panel über Zeit an.

"Bot startet nicht, kein Fehler."

  • Start-Command falsch gesetzt. Schau im Panel unter "Startup Configuration" und stell sicher, dass dein Entry-Point korrekt ist.

"Bot funktioniert lokal, aber nicht auf dem Server."

  • Meistens fehlende node_modules. Im Panel-Konsole npm install ausführen.
  • Oder: Token in .env lokal vorhanden, aber nicht hochgeladen.

Was beim Discord-Bot-Tier inklusive ist

  • 24/7-Uptime mit Auto-Restart
  • Vorinstalliertes Node.js / Python (optional Java)
  • SFTP- und Konsolen-Zugang
  • Schedules (Cron)
  • DDoS-Schutz
  • Tägliche Backups

Was nicht inklusive ist:

  • Externe Datenbank (für Postgres / MySQL hosten wir das nicht — empfehlen Neon oder PlanetScale für kleine Bots)
  • Voice-Bot-Audio-Streaming (technisch geht das, aber 1 GB RAM ist knapp; für aktive Voice-Bots nimm 2 GB)

Preise

Live-priced, ab 2,49 €/GB/Monat (Spitzenlast max. 3,99 €/GB):

  • 1 GB RAM: ab ~2,65 €/Monat — reicht für ~95 % aller Bots
  • 2 GB RAM: ab ~5 €/Monat — wenn du SQLite oder Voice machst
  • 4 GB RAM: ab ~10 €/Monat — Music-Bots in vielen Servern, große Audio-Pipelines

Aktueller Preis im Konfigurator.

Keine Setup-Gebühr. Keine versteckten Slot-Limits. Kein Aufpreis für Scheduler oder DDoS-Schutz. Was du im Konfigurator siehst, zahlst du.

Discord-Bot-Node konfigurieren.

Nächste Schritte

  • Falls du einen komplexeren Bot baust (Slash-Commands, Voice, externe APIs), schreib uns auf Discord — wir helfen beim Setup
  • Lies unseren Beitrag zu Dedicated IPs, falls dein Bot mit IP-gewhitelisteten Webhooks arbeitet
  • Discord.js-Guide ist die beste offizielle Doku für Node-Bots

Discord-Bot-Hosting ist 2026 keine Wissenschaft. Du brauchst einen kleinen Container, der nicht stirbt, und einen einfachen Weg, Code reinzubringen. Genau das liefern wir, ohne Schnörkel.