Ein Rust-Bot wird auf deinem eigenen Computer gebaut und als ein fertiges Linux-Programm hochgeladen. Auf dem Server wird nichts kompiliert, der gesamte Arbeitsspeicher deines Tarifs geht also an den Bot. So betreibst du einen:
- Bau ihn auf deinem Computer für Linux x86-64.
- Wechsle den Typ: Klick auf der Bot-Seite im Bereich Code neben Laufzeitumgebung auf Ändern, was läuft und wähl Rust Bot.
- Lad das Programm (standardmäßig
botgenannt) in Files hoch, oder setz Download-Link (optional) im Bereich Code. - Füg deinen Token auf der Bot-Seite im Bereich Discord ein und klick auf Verbinden.
- Drück auf Starten und beobachte die Console.
1. Für Linux bauen
rustup target add x86_64-unknown-linux-musl
cargo build --release --target x86_64-unknown-linux-musl
Das Programm landet in target/x86_64-unknown-linux-musl/release/ und heißt nach deinem Crate. Das musl-Target erzeugt eine einzige eigenständige Datei, die nicht von den Systembibliotheken des Servers abhängt. Wenn du unter Windows oder macOS baust, brauchst du einen Linux-Linker: Tools wie cross oder cargo-zigbuild übernehmen das für dich. Eine .exe oder ein macOS-Build läuft auf dem Server nicht.
2. Ein minimaler serenity-Bot
Cargo.toml (Abhängigkeiten)
[dependencies]
serenity = "0.12"
tokio = { version = "1", features = ["macros", "rt-multi-thread"] }
src/main.rs
use serenity::async_trait;
use serenity::model::gateway::Ready;
use serenity::prelude::*;
struct Handler;
#[async_trait]
impl EventHandler for Handler {
async fn ready(&self, _ctx: Context, ready: Ready) {
println!("Logged in as {}", ready.user.name);
}
}
#[tokio::main]
async fn main() {
let token = std::env::var("DISCORD_TOKEN").expect("DISCORD_TOKEN is not set");
let mut client = Client::builder(&token, GatewayIntents::GUILDS)
.event_handler(Handler)
.await
.expect("could not create the client");
if let Err(why) = client.start().await {
println!("Client error: {why:?}");
}
}
Der Token kommt aus DISCORD_TOKEN. Die Ausgabe von Logged in as stellt das Label auf der Übersicht auf Online in Discord. poise- und twilight-Bots funktionieren genauso: bauen, hochladen, starten.
3. Den Typ auf Rust Bot wechseln
Klick auf der Bot-Seite im Bereich Code neben Laufzeitumgebung auf Ändern, was läuft und wähl Rust Bot. Am Computer öffnet die Typbezeichnung oben auf der Seite (zum Beispiel Node.js Bot) denselben Dialog. Lies dazu So wechselst du mit deinem Bot zu einer anderen Sprache oder einem fertigen Bot.
4. Das Programm auf den Server bringen
Hochladen: Benenn dein Programm in bot um (oder setz bei Startdatei seinen Namen), klick dann in Files auf Hochladen und wähl es aus. Lad alle Dateien, die es liest, daneben hoch. Der Server macht es beim Start ausführbar.
Oder den Server herunterladen lassen: Setz auf der Bot-Seite im Bereich Code, Karte Einstellungen, Download-Link (optional) auf einen https-Link zu deinem fertigen Programm, zum Beispiel eine GitHub-Release-Datei, und klick auf Speichern. Bei einem Start lädt der Server das Programm herunter (bis zu 500 MB), wenn die Programmdatei fehlt. Zum Aktualisieren veröffentliche einen neuen Build unter diesem Link, lösch das Programm in Files und drück auf Starten. Ist ein Link gesetzt, funktioniert Bot starten in der Einrichtungskarte schon, bevor die Datei existiert: Der Download läuft als Teil des Starts.

5. Die Einstellungen prüfen und starten
- Startdatei (Karte So läuft er): Name und Ordner des Programms, standardmäßig
bot. - Startargumente (optional) (Karte Einstellungen): zusätzliche Argumente für dein Programm. Shell-Zeichen wie
$,;,&und>sind nicht erlaubt.
Füg deinen Token im Bereich Discord ein, klick auf Verbinden und drück dann auf Starten. Die Console zeigt [PlayNHost] Starting your bot und dann die Ausgabe deines Programms.
Console-Zeilen, die du sehen kannst
| Zeile | Was du tun kannst |
|---|---|
[PlayNHost] Your bot is not set up yet: the program bot was not found. | Lad das Programm hoch, oder trag bei Startdatei seinen genauen Namen und Ordner ein. |
[PlayNHost] bot is not a Linux program. Build it for Linux x86-64 (not Windows or macOS) and upload it again. | Bau es noch mal für x86_64-unknown-linux-musl. |
[PlayNHost] Downloading your program, dann [PlayNHost] The download failed. Check the download link on the Bot page, Code, Settings, then press Start. | Der Link ist falsch, privat oder nicht https. Prüf Download-Link (optional) im Bereich Code, unter Einstellungen. |
DISCORD_TOKEN is not set (aus dem Beispiel) | Füg den Token im Bereich Discord ein und starte dann neu. |
Rust-Bots haben keine Git-Quelle und kein Feld Pakete: Deine Crates stecken im Programm. Schlüssel und Passwörter gehören unter Umgebung und werden mit std::env::var gelesen: Umgebungsvariablen und Secrets für deinen Discord-Bot setzen.



