Hallo allerseits!
Ich bin seit ein paar Tagen dabei, ein kleines Tool zu programmieren, dass die Einschränkungen des Spiel-Chats ein wenig umgeht/erweitert. Mittlerweile ist ein Ende der Alphaphase in Sicht und sobald ich das Tool in einem Zustand, den man als Beta bezeichnen kann, sehe, werde ich es auch hier veröffentlichen.

Wie funktioniert es:
Das Tool ist ein eigenständiges Programm, dass als Fenster vor BDO läuft (BDO muss dazu im Fenstermodus oder rahmenlosen Fenstermodus laufen). Anstatt dass man seine Chateingaben direkt in BDO macht, tippt man sie im Tool ein. Somit hat man die Möglichkeit, den Text während der Eingabe sinnvoll zu korrigieren - etwas, das in BDO nicht gut geht, sobald der Text länger als die Eingabezeile ist. Sendet man den Text ab, dann holt das Tool BDO in den Vordergrund und sendet die Tasten an das Spiel (wie eine virtuelle Tastatur).
Technisch gesehen besteht es aus zwei Programmen:
Kann man das Tool ohne Bedenken nutzen und ist es legal? Jein. Es ist nicht zu 100% legal. Genaugenommen geht es um diese Passagen in den Nutzungsbestimmungen:
Da ich das Tool selbst schon seit ca. zwei Wochen sporadisch und seit gestern häufig einsetze, schon seit einem Jahr immer wieder per Remote-Control oder TeamViewer hin und wieder das Spiel steuere und bisher noch nie Probleme bekam, gehe ich davon aus, dass das Tool toleriert wird und dass es wahrscheinlich keine Möglichkeit gibt, festzustellen, dass das Tool genutzt wurde. Dennoch kann ich keine hundertprozentige Sicherheit garantieren.
Was kann das Tool:
Ich liste hier stichpunktartig die Funktionen und Features des Tools auf. Sehr vieles ist für den Benutzer konfigurierbar:


Derzeitige Hürden:
Zukünftiges:
Folgende Features will ich noch einbauen. Manches wird vielleicht bald kommen, manches wird noch etwas dauern:
Open Source?
Derzeit habe ich nicht vor, den Source-Code des Tools zu veröffentlichen. Das hat zwei Gründe:
Ich bin natürlich offen für Ideen und Feedback und es würde mich interessieren, ob ihr grundsätzlich an so einem Tool interessiert seid oder nicht.
lg Kinman
Ich bin seit ein paar Tagen dabei, ein kleines Tool zu programmieren, dass die Einschränkungen des Spiel-Chats ein wenig umgeht/erweitert. Mittlerweile ist ein Ende der Alphaphase in Sicht und sobald ich das Tool in einem Zustand, den man als Beta bezeichnen kann, sehe, werde ich es auch hier veröffentlichen.
Wie funktioniert es:
Das Tool ist ein eigenständiges Programm, dass als Fenster vor BDO läuft (BDO muss dazu im Fenstermodus oder rahmenlosen Fenstermodus laufen). Anstatt dass man seine Chateingaben direkt in BDO macht, tippt man sie im Tool ein. Somit hat man die Möglichkeit, den Text während der Eingabe sinnvoll zu korrigieren - etwas, das in BDO nicht gut geht, sobald der Text länger als die Eingabezeile ist. Sendet man den Text ab, dann holt das Tool BDO in den Vordergrund und sendet die Tasten an das Spiel (wie eine virtuelle Tastatur).
Technisch gesehen besteht es aus zwei Programmen:
- Dem Eingabetool: die komplette Oberfläche als normale Windowsanwendung.
- Dem Sendetool: ein kleines Programm, das in der Kommandozeile funktioniert und die Tastenkommandos an BDO sendet. Dieses wieder vom Eingabetool unsichtbar beim Senden aufgerufen.
Kann man das Tool ohne Bedenken nutzen und ist es legal? Jein. Es ist nicht zu 100% legal. Genaugenommen geht es um diese Passagen in den Nutzungsbestimmungen:
Genaugenommen ist es eine Automatisierung der Spielkontrolle, jedoch gehe ich stark davon aus, dass es Kakao/PA relativ egal ist, ob man den Chat nun selbst befüllt oder auf diese Art und Weise befüllen lässt, denn kritisch wäre es nur, wenn man es z.B. vollkommen automatisiert für Werbung nutzen würde (funktioniert mit dem Tool nicht) oder wenn man das Gameplay selbst damit steuert (funktioniert ebenfalls nicht). Zudem ist die max. erlaubte Zeichenmenge von mir begrenzt, sodass man auch nicht ewig lang den Chat zuspammen kann. Zumindest nicht einfacher, als es im Spiel selbst dank Kopieren & Einfügen möglich ist.Black Desert Online Nutzungsbestimmungen schrieb:
11.1.
Der Nutzer ist nicht berechtigt, Software zu erstellen, zu verwenden oder zur Verfügung zu stellen, die einen unfairen Vorteil im Spiel gegenüber Mitspielern, Endkunden und sonstigen Dritten ermöglicht. Um die Balance des Spiels zu erhalten, ist Kakao Games Europe befugt allein zu entscheiden, was als "unfairer Vorteil" angesehen wird.
[...]
12.1.3.
Der Nutzer darf nicht versuchen, das Gameplay des Spiels zu ändern, indem er:
- Software oder eine Folge von Anweisungen (einschließlich Makros) verwendet, die die Spielkontrolle automatisieren kann;
- Software oder Codes verwendet, die dem Benutzer ermöglichen, das Spiel auf eine Weise zu spielen, die sonst nicht möglich oder spielbar ist.
Da ich das Tool selbst schon seit ca. zwei Wochen sporadisch und seit gestern häufig einsetze, schon seit einem Jahr immer wieder per Remote-Control oder TeamViewer hin und wieder das Spiel steuere und bisher noch nie Probleme bekam, gehe ich davon aus, dass das Tool toleriert wird und dass es wahrscheinlich keine Möglichkeit gibt, festzustellen, dass das Tool genutzt wurde. Dennoch kann ich keine hundertprozentige Sicherheit garantieren.
Was kann das Tool:
Ich liste hier stichpunktartig die Funktionen und Features des Tools auf. Sehr vieles ist für den Benutzer konfigurierbar:
- Standard-Windows-Texteingabefeld, sodass eingegebener Text sinnvoll bearbeitet werden kann. Kopieren und Einfügen in/aus der Zwischenablage ist möglich.
- Farbliche Hervorhebung von Emotes, die mittels * eingegeben werden. (optional und Farben einstellbar)
- Texteingaben über die Zeichenbegrenzung von BDO hinaus. Wird der Text zu lang für das Spiel, wird er autom. in Textblöcke unterteilt und die Blöcke einzeln gesendet
- Man kann einstellen, nach viele Zeichen ein Textblock lang sein soll (max. 345 Zeichen; das Spiel nimmt max. 350 Zeichen).
- Man kann einstellen, ob ein(e) Verbindungszeichen(folge) an den Textblock angehängt wird, wenn noch ein weiterer kommt.
- Man kann einstellen, wie viele Textblöcke max. erlaubt sind. Somit ergibt sich auch die max. Zeichenanzahl aus Textblocklänge * Textblöcke (max. 10 Textblöcke; ergo max. 3450 Zeichen gesamt).
- Man kann einstellen, nach viele Zeichen ein Textblock lang sein soll (max. 345 Zeichen; das Spiel nimmt max. 350 Zeichen).
- UI & TastenkürzelMan kann das Programm mit einem Hotkey [STRG]+[SHIFT]+einstellbare Taste in den Vordergrund holen (kann auch generell deaktiviert werden) [ist noch zu testen]
- Man kann einstellen, ob das Programm nach dem senden des Texts an das Spiel autom. wieder in den Fokus geholt werden sollte
- Es gibt zwei Indikatoren: einer zeigt, ob das Spiel läuft, der andere, ob der Fokus gerade auf dem Eingabefeld liegt und man somit tippen kann oder nicht
- Man kann einstellen, ob das Tool immer im Vordergrund sein sollte oder nicht
- Man kann einstellen, ob das Tool transparent wird, wenn es nicht den Fokus hat und wie stark e transparent wird
- Man kann einstellen, ob man den Text mit [ENTER] oder [STRG]+[ENTER] absenden will. Die jeweils andere Kombination erzeugt einen Zeilenumbruch.
- Man kann zwischen zwei Varianten wählen:
- Text wird getippt (Vorteil: funktioniert zuverlässig; Nachteil: man kann keine Zeilenumbrüche oder eckigen bzw. geschwungenen Klammern übertragen)
- Text wird aus Zwischenablage eingefügt (Vorteil: jegliche Zeichen sind möglich; Nachteil: es funktioniert bei mehreren Textblöcken nicht immer zuverlässig, wenn man z.B. gerade reitet)
- Text wird getippt (Vorteil: funktioniert zuverlässig; Nachteil: man kann keine Zeilenumbrüche oder eckigen bzw. geschwungenen Klammern übertragen)
- Man kann einstellen, ob das Programm nach dem senden des Texts an das Spiel autom. wieder in den Fokus geholt werden sollte
- Automatische Kanalauswahl durch das Tool
- Derzeit werden Allgemein, Gruppe und Gilde unterstützt. Bei Bedarf werden weitere Kanäle hinzugefügt.
- Autom. Kanalauswahl kann jedoch auch deaktiviert werden und man wählt den Kanal nur im Spiel selbst aus.
- Derzeit werden Allgemein, Gruppe und Gilde unterstützt. Bei Bedarf werden weitere Kanäle hinzugefügt.
- Logging der eigenen Eingaben in eine Textdatei
- Man kann auswählen, welche Kanäle geloggt werden sollen (z.B. nur Allgemein)
- Logging ist deaktivierbar
- Es werde logischerweise nur die eigenen Eingaben geloggt, was andere Spieler schreiben, kann von dem Tool nicht erfasst werden.
- Anhand der Textfarbe des Kanals kann man erkennen, ob in diesen Kanal gerade geloggt wird oder nicht (grün = Logging aktiv; weiß = Logging inaktiv)
- Man kann auswählen, welche Kanäle geloggt werden sollen (z.B. nur Allgemein)
- Vorbereitung auf WebService
- Derzeit ist es testweise möglich, die eigenen Eingaben an einen Webservice zu schicken. Die Idee dahinter ist es, sollten alle (oder zumindest mehrere) RP-Teilnehmer das Tool nutzen, dass man autom. einen vollkommenen Chatverlauf zur Verfügung hat. Ich werde eine Web-API erstellen, mit der das in weiterer Zukunft mal möglich ist. Die Idee dahinter ist, dass man eine ID hat, die man teilen kann. Habe ich z.B.: einen Abend nur mit Mikarion rpt, kann ich dann eine ID generieren, die den Zeitraum des RPs einschließt, ihm dann die ID geben und umgekehrt er mir die seine und wir beide haben dann den kompletten RP-Chatverlauf.
- Es werden nur die Eingaben von den Kanälen übermittelt, die auch geloggt werden. Sodass z.B. nur der Allgemein-Chat übertragen wird.
- Die Funktion ist standardmäßig deaktiviert und somit überträgt das Tool keine Eingaben irgendwohin. Ich gebe derzeit auch noch keine Konfiguration dafür her.
- Derzeit ist es testweise möglich, die eigenen Eingaben an einen Webservice zu schicken. Die Idee dahinter ist es, sollten alle (oder zumindest mehrere) RP-Teilnehmer das Tool nutzen, dass man autom. einen vollkommenen Chatverlauf zur Verfügung hat. Ich werde eine Web-API erstellen, mit der das in weiterer Zukunft mal möglich ist. Die Idee dahinter ist, dass man eine ID hat, die man teilen kann. Habe ich z.B.: einen Abend nur mit Mikarion rpt, kann ich dann eine ID generieren, die den Zeitraum des RPs einschließt, ihm dann die ID geben und umgekehrt er mir die seine und wir beide haben dann den kompletten RP-Chatverlauf.
Derzeitige Hürden:
- Das Tool benötigt derzeit noch Adminrechte, sonst kommt bei jedem Senden (Aufruf des Sendetools) eine Warnung, ob man das wirklich starten will, da ich leider noch keine Möglichkeit gefunden habe, einen Autor bei der Ausführungsdatei zum Sendetool zu hinterlegen.
Zukünftiges:
Folgende Features will ich noch einbauen. Manches wird vielleicht bald kommen, manches wird noch etwas dauern:
- Derzeit nutzt das Tool immer die Zwischenablage, entweder um den Text mittels Zwischenablage an BDO zu bringen oder um den Text zum Sendetool zu bringen. Von dort aus wird es dann Buchstabe für Buchstabe getippt. In Zukunft sollte es bei der letzteren Variante ohne Zwischenablage funktionieren, damit die Zwischenablage nicht gebraucht wird.
- Rechtschreibprüfung: ich habe vor von Windows Forms auf die moderne WPF-Variante umzustellen, dann kann ich auch (einstellbar) eine Rechtschreibprüfung/Korrektur (wie man es z.B. von Browsereingabefenstern kennt) aktivieren.
- Schöneres UI: mit der Umstellung auf WPF will ich auch das UI etwas schöner gestalten (z.B. keine dicke, helle Titelleiste mehr, etc.)
- Notizen: Notizen zum RP -> hier habe ich erst ein paar sehr grobe Ideen
- Web-API um kombinierte Chatverläufe zu erstellen
Open Source?
Derzeit habe ich nicht vor, den Source-Code des Tools zu veröffentlichen. Das hat zwei Gründe:
- Ich bin zwar erfahren in der Programmierung allgemein, habe aber eher wenig Erfahrung in C# im speziellen. Im Laufe der Zeit werden ich den Code noch mehrmals überarbeiten. Wenn er dann meiner gewünschten Qualität entspricht, denke ich auch darüber nach, ihn zu veröffentlichen.
- Mit dem Knowhow aus dem Programmcode vom Sendetool könnte man auch Programme erstellen, die das Spiel richtiggehend fernsteuern und somit ganz klar gegen die Nutzungsbestimmungen des Spiel sind und Spielern unfaire Vorteile verschaffen können. Das ist etwas, das ich auf keinen Fall will.
- Will jemand dennoch Einsicht auf den Source nehmen, weil man dem Tool nicht traut, bitte ich einfach darum, Kontakt mit mir aufzunehmen. Ich bin mir sicher, dass wir dann eine Möglichkeit finden.
Ich bin natürlich offen für Ideen und Feedback und es würde mich interessieren, ob ihr grundsätzlich an so einem Tool interessiert seid oder nicht.
lg Kinman
BDO Chat Tool - Kleines Programm, um die Chatfunktionalität für das RP massiv zu verbessern
______________________
Meine Bilder bei Flickr
______________________
Meine Bilder bei Flickr