Main Menu
Menu

Show posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Show posts Menu

Topics - UncleSam

#1
Hi,


I have no real experience in running jts3servermod using docker, but I found a ways for me which seems to work fine. Feel free to try it. Of course this is NOT official - so use at your own risk.


Regarding the license system I have no clue at the moment if this is working as expected or not. Basically it has the same ip address but could have different hardware specs every time you delete the container and respawn it again.

I am not using a special docker container which contains the hosting files. Instead I am using the official openjdk image and just mount the bot-files inside. The benefit is also that this is not exposing any hosted files.


Requirements:


       
  • knowledge about docker and docker compose
  • working bot
  • reachable database (in my case I also host the database inside docker)
  • installed "docker compose" (or the old "docker-compose")
How To:

       
  • Create a new folder
  • Inside create the "docker-compose.yaml" files (see below)
  • Stop your bot and copy your bot folder in the subfolder "botfiles"
  • Add the "entrypoint.sh" inside this folder
Also make sure to update the binding and telnet whitelist.


After performin this steps start the container using "docker compose" and check if it fails for something.


docker-compose.yaml
version: '3.5'
services:
        jts3servermod:
                container_name: jts3servermod
                image: openjdk:22
                volumes:
                        - ./botfiles:/botfiles
                restart: unless-stopped
                environment:
                        TZ: Europe/Berlin
                entrypoint: ["/botfiles/entrypoint.sh"]



entrypoint.sh
#!/bin/sh
cd /botfiles


# delete pid and lock file which could lead into the bot not starting
rm -f /botfiles/config/jts3servermod.pid
rm -f /botfiles/config/JTS3ServerMod_InstanceManager.cfg.lock


# run the bot
/usr/bin/java -Xms1G -Xmx2G -jar JTS3ServerMod.jar
#2
Hi there,
if you want you can use my start/stop script for Systemd:
1. Create a new file: /lib/systemd/system/jts3servermod.service2. Fill it like this sample:[Unit]Description=JTS3ServermodAfter=network.target[Service]
PIDFile=/path/to/JTS3ServerMod_HostingEdition/jts3servermod.pid
WorkingDirectory=/path/to/JTS3ServerMod_HostingEdition/
ExecStart=/usr/bin/java -Xms1G -Xmx2G -jar JTS3ServerMod.jar
Type=simple
Restart=always
RestartSec=15
User=botusername
Group=botgroupname

[Install]
WantedBy=multi-user.target

Description (just of some entries):

       
  • Restart always: if bot was stopped for any reasons other then 'service jts3servermod stop' or 'systemctl stop jts3servermod' it starts this service again
  • RestartSec 15: if the above happens it waits 15 seconds between crash and start
  • User: linux username the bot should run under
  • Group: optional, if not used comment it using "#" or delete it
3. enable it to auto start systemctl daemon-reload
systemctl enable jts3servermod.service

4. Have fun :-)service jts3servermod start/stop/restart
Image already added
#3
Für alle die sowas benötigen:
Ich habe eine temporäre Lösung für mich geschaffen. Wer will kann es gerne verwenden (auf eigene Gefahr!).

Nachfolgend ist beschrieben, wie man in einer Ubuntu 14.04 Umgebung ein Startscript erstellt, welches den Bot unter einem definierten Benutzer ausführt. Außerdem ist damit auch der Start des Bots beim Systemstart möglich. Dabei benutzt das Script lediglich das Start/Stop Script von Stefan1200 (sprich es leitet alle Anfragen weiter).

Changelog:
Quote
pre 01.05.2016

       
  • Initial release
01.05.2016

       
  • Command "java" now gets executed under current user, so root is able to install java

Installationsanleitung:
Script (speichern in /etc/init.d/jts3servermod):
Code (Bash) Select
#!/bin/sh
### BEGIN INIT INFO
# Provides:
# Required-Start:    $remote_fs $syslog
# Required-Stop:     $remote_fs $syslog
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: JTS3ServerMod init.d script
# Description:      JTS3ServerMod by stefan1200.de
### END INIT INFO


dir="/home/tsbots/JTS3ServerMod_HostingEdition"
cmd="./jts3servermod_startscript.sh"
user="tsbots"


case "$1" in
        java)
                cd "$dir"
                $cmd java
        ;;
        start)
                cd "$dir"
                sudo -u "$user" $cmd start
        ;;
        stop)
                cd "$dir"
                sudo -u "$user" $cmd stop
        ;;
        restart)
                cd "$dir"
                sudo -u "$user" $cmd restart
        ;;
        status)
                cd "$dir"
                sudo -u "$user" $cmd status
        ;;
        *)
                cd "$dir"
                sudo -u "$user" $cmd
esac
exit 0



Anschließend das Script ausführbar machen:
Quote# chmod u+x /etc/init.d/jts3servermod


Wer den Bot automatisch starten/stoppen lassen möchte muss nur noch folgendes eingeben (Informationen siehe Header des StartScriptes):
Quoteupdate-rc.d jts3servermod defaults


Verwendung:

Du kannst nun den Bot per root starten/stoppen/... im jeweiligen Benutzerkontext. Sofern du den Bot mit dem Benutzer selbst kontrollieren willst kannst du dies mit dem Start/Stop Script im Bot Verzeichnis selber.

Befehl (anstatt von "start" geht auch: stop, restart, status und java):
Quote# service jts3servermod start

Oder alternativ:
Quote# /etc/init.d/jts3servermod start

Edit by Stefan1200: BBCode fixes
#4
Hallo,


könntest du in dein Script die Möglichkeit einbauen dieses unter einem bestimmten Benutzer zu starten?


Grund:
Ich lasse den Bot beim Start des Systems automatisch starten. Da ich nicht will dass dieser als root Benutzer läuft muss dieser unter einem definierbaren User gestartet werden.
#5
Hallo zusammen,

mich würde interessieren, wie man den bot schneller machen kann (vor allem wenn viele einzelne Bots darauf gehostet sind). Grund dafür ist, dass mein Bot letztes mal gelaggt hat und eine Verzögerung von ca. 10 Sekunden hatte.

Meine momentane Lösung:
Den Arbeitsspeicher für den Bot eingestellt auf 1GB direkt beim Start und bis zu 3GB - funktioniert bisher super, aber ob das die Lösung ist weis ich noch nicht zu 100%.
java -Xms1G -Xmx3G -jar JTS3ServerMod.jar

Zum Betreiben des Bots benutze ich das Original Java von Oracle:
Quotejava version "1.8.0_45"
Java(TM) SE Runtime Environment (build 1.8.0_45-b14)
Java HotSpot(TM) 64-Bit Server VM (build 25.45-b02, mixed mode)

Gibt es eine Empfehlung welches Java unter Linux am besten ist für den Bot? (gibt ja auch z.B. OpenJDK oder wie das heist).

Außerdem gibt es ja noch zahlreiche CommandLine Parameter. Kann man hier auch noch was rausholen indem man auf 32/64bit, -server/-client, ... stellt? (http://docs.oracle.com/javase/7/docs/technotes/tools/windows/java.html)

Schonmal vielen Dank im Voraus!
#6
Hallo,

ich persönlich würde es toll finden, wenn bestimmte Funktionen von einige Servergruppen oder auch von allen benutzt werden könnten.

z.B.:


  • AutoMove: Ein Benutzer kann z.B. per !home dem bot sagen, dass er immer hierhin verschoben werden will
  • WelcomeMessage: Abbestellen von welcome message (sofern in der WelcomeMessage das auch als möglich eingetragen wurde)
  • "Gefängnis": Es kann vorkommen, dass sich in einem Channel ein User schlecht verhält. Hier könnte man ein Feature einbauen, welches allen Usern in einem Channel erlaubt gegen einen User abzustimmen. Ist die Abstimmung erfolgreich, dann wird der User aus diesem Raum verbannt (z.B. in einen Sticky channel verschoben oder so)

Ich denke das reich erstmal. Man kann mit Sicherheit einige Spielereien für die User einbauen, aber ich denke sowas wie "AutoMove" wäre für den ein oder anderen User schon ne coole Sache.

Gruß

PS: Was auch noch sinnvoll wäre: Benachrichtigung wenn ein bestimmter user joint. z.B. "!notify Max" -> jedesmal wenn "Max" sich verbindet bekommt der User eine Nachricht (Chat oder Anstuppser)
#7
Hallo,

du hast Interesse an dem Teamspeak Bot und willst ihn auch auf deinem Teamspeak Server zum Einsatz bringen? Leider hast du aber keinen eigenen Server wo du den Bot betreiben kannst? Oder du betreibst ihn von zu Hause aus?

Hier habe ich mir etwas überlegt was auch dir einen gehosteten Teamspeak Bot verschafft!

Da mein Server noch reichlich Kapazitäten hat werde ich Teamspeak Bots für umsonst verteilen. Ohne Einrichtungsgebühr, ohne monatliche Kosten, ohne ..... einfach umsonst  8)

Die Webpage dieses Services findet ihr unter: https://www.tsbots.de (vermutlich folgen noch ein paar kostenlose Services rund um TS3)

Was du bekommst
- Einen Bot für die Verbindung auf einen Teamspeakserver
- Freie Konfiguration deines eigenen Bots
- Geschützten SSL Zugang zum Webinterface

Voraussetzungen
- Ein Teamspeak 3 Server
- Einen Zugang mit Administratorenrechten für den Bot (einen sogenannten Server Query Admin)
- Am besten die Möglichkeit IP-Adressen zur Whitelist hinzuzufügen (ansonsten muss der langsame Modus des Bots ausgewählt werden)

Regeln die beachtet werden müssen
Dieser Service darf von euch ...
- ... nicht kommerziell genutzt oder weitervertrieben werden
- ... nicht für Verteilung von Illegalen Inhalten oder Dateien genutzt werden
- ... nicht gegen geltendes deutsches Recht verstoßen
- ... nicht als Spammer missbraucht werden
Im Prinzip will ich einfach nicht, dass jemand damit Mist baut.

Wie kriege ich so einen Bot?
Ich bin ein großer Fan dieses Bots. Daher möchte ich auch in Zukunft, dass dieser Bot weiter entwickelt wird. Deshalb bekommst du einen Bot wenn du:
- Spende an den Entwickler um dem Projekt zu helfen (https://www.stefan1200.de/forum/index.php?topic=190.0) und sage ihm, dass du einen Bot von mir möchtest.
- Anschließend wird Stefan mir das mitteilen und ich eure E-Mail Adresse freischalten. (Du erhältst von mir alle Infos um auf den Bot zugreifen zu können.)
- Alternativ: Wende dich über das Forum an mich. Wenn du hier als Spender gekennzeichnet bist kannst du bei mir einen Bot bekommen.

FAQ
Wie lange bekomme ich den Bot?
- Voraussichtlich länger als du einen Teamspeak Server hast  ;)
Was kann ich mit dem Bot machen?
- Du hast vollständigen Zugriff auf alle Funktionen des Bots für deinen Server. Einstellungen zur Verwaltung des Dienstes stehen dir natürlich nicht zur Verfügung, darum kümmer ich mich.
Kriege ich einen Bot ohne Spende?
- Knapp und kurz: Nein, ein bisschen müsst ihr das ganze Projekt schon unterstützen

Dieses Angebot gilt nur für Privatpersonen. Keine Vergabe an Firmen!

Euer UncleSam
#8
Hallo,

ist es möglich eigene Erweiterungen für den Bot zu schreiben?

Gruß Stefan
#9
Hallo,

ich würde es toll finden, wenn man bestimmte Channel schützen lassen könnte. Sprich wenn einer den Channel editiert oder löscht, dann wird der Channel wieder zurückgesetzt (und alle Unterchannel).
Als Ausnahme sollte man definieren können welcher User/Gruppe allerdings den Channel bearbeiten darf.

Was denkt Ihr über den Vorschlag?