Wollte mein Discord bot (JDA) auf vserver laufen lassen (24/7)?

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

Woher ich das weiß:eigene Erfahrung – Nutzer seit 2015, Admin eigener Server, Dev eines Bots
Noshiiiift 
Fragesteller
 15.09.2022, 21:01

ok, gibts es irgendwie ein Tutorial oder so ? das man es nachmachen kann

0
xxxcyberxxx  15.09.2022, 21:04
@Noshiiiift
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

0

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.

Woher ich das weiß:eigene Erfahrung