Wollte mein Discord bot (JDA) auf vserver laufen lassen (24/7)?
Hallo, wollte mein Discord bot auf ein Vserver laufen lassen (habe es mit JDA gecodet) wie kann ich jetzt den bot auf mein vserver laufen lassen ? was muss ich alles installieren etc ?
3 Antworten
was muss ich alles installieren etc ?
Wenn du ihn mit Java programmiert hast, braucht der Server offensichtlich auch eine kompatible Java-Version mit allen nötigen Paketen.
Um ihn 24/7 laufen zu lassen, gibt es mehrere Methoden. Man kann das über systemd realisieren, über screen / tmux und weitere Wege
gibts es irgendwie ein Tutorial oder so ? das man es nachmachen kann
gibt es bestimmt.
Offensichtlich wären die man-Pages zu systemd, tmux und screen. Sonst halt einfach mal Google nutzen ...
Oder, wenn du ganz fancy sein willst, Docker
Zum Ausführen deiner Java Anwendung brauchst du auf jeden Fall eine passenden Java Runtime Environment (JRE).
Falls du ein Ubuntu/Debian Server hast, kannst du die JRE von OpenJDK über folgenden Befehl installiern:
sudo apt install openjdk-11-jre
Falls du dein Projekt mit z.B. Java 17 entwickelt haben solltest, musst du die 11 mit einer 17 austauschen.
Wenn deine gebaute Jar eine gesetzte MainClass hat und keine externe Konfiguration benötigt, reicht folgender Befehl zum Starten:
java -jar <Pfad zu Jar>
Mit dem Befehl läuft deine Anwendung nur so lange, wie das Terminal offen ist.
Zum 24/7 Laufen lassen, gibt es verschiedene Möglichkeiten. Hier ein Beispiel für systemd.
Du musst zuerst eine Service Datei anlegen.
/etc/systemd/system/<dicord-bot>.service
Der Inhalt:
[Unit]
Description=<Beschreibung für dein Service>
After=network.target
[Service]
User=<Linux User für dein Service>
ExecStart=java -jar <Absoluter Pfad zur Jar>
[Install]
WantedBy=multi-user.target
Es empfiehlt sich einen eigenen Linux User für den Dienst anzulegen. Den User musst du noch anlegen. Die Jar kannst du dann dort im Home Verzeichnis ablegen.
Die Platzhalter "<>" und den Inhalt musst entsprechend austauschen. Die <> müssn am Ende weg sein.
Zum Hinzufügen bzw. Entfernen vom Autostart gibt es folgende Befehle:
sudo systemctl enable <dicord-bot>.service
sudo systemctl disable <dicord-bot>.service
Mit den folgenden Befehlen kannst du dein Dienst Starten, Stoppen oder Neustarten:
sudo systemctl start <dicord-bot>.service
sudo systemctl stop <dicord-bot>.service
sudo systemctl restart <dicord-bot>.service
Da ein paar grundlegende Infos zum Server fehlen, bin ich von einem Ubuntu/Debian System ausgegangen. Ubuntu/Debian ist nur für den Paket Manager Befehl wichtig. systemd wird auch von anderen Linux Distros benutzt, sodass dieser Teil auch dort gilt.
Falls du Windows auf deinem Server nutzen solltest, musst du eine andere Anleitung suchen.
Ich würde dafür einen Hosting Anbieter benutzen.
Ich kann dir Zap-Hosting (https://zap-hosting.com) dafür sehr empfehlen.
ok, gibts es irgendwie ein Tutorial oder so ? das man es nachmachen kann