-
-
Notifications
You must be signed in to change notification settings - Fork 1.1k
Configuration de DE
Diese Seite widmet sich der Konfiguration von ASF. Es dient als eine lückenlose Dokumentation des config
Verzeichnisses, sodass Sie ASF auf Ihre Bedürfnisse abstimmen können.
- Einleitung
- Web-basierter Konfigurationsgenerator
- ASF-UI-Einstellungen
- Manuelle Konfiguration
- Globale Konfiguration
- Bot-Konfiguration
- Datei-Struktur
- JSON-Strukturierung
- Kompatibilitätsstrukturierung
- Konfigurationskompatibilität
- Automatisches Nachladen
Die ASF-Konfiguration gliedert sich in zwei Hauptteile – die globale (Prozess-) Konfiguration und die Konfiguration jedes einzelnen Bots. Jeder Bot hat seine eigene Bot-Konfigurationsdatei namens BotName.json
(wobei BotName
der Name des Bots ist), während die globale ASF (Prozess-)Konfiguration eine einzige Datei namens ASF.json
ist.
Ein Bot ist ein einzelnes Steam-Konto welches am ASF-Prozess teilnimmt. Um ordnungsgemäß zu funktionieren, benötigt ASF mindestens eine definierte Bot-Instanz. Es gibt keine prozessbedingte Begrenzung der Bot-Instanzen, sodass Sie theoretisch unendlich viele Bots (Steam-Konten) verwenden können.
ASF verwendet das JSON Format zum Speichern seiner Konfigurationsdateien. Es ist ein benutzerfreundliches, lesbares und sehr universelles Format in dem man das Programm konfigurieren kann. Keine Sorge, Sie müssen sich nicht mit JSON auskennen, um ASF zu konfigurieren. Wir erwähnen es nur, falls Sie bereits daran denken ASF-Konfigurationen mit einer Art Bash-Skript stapelweise zu erstellen.
Die Konfiguration kann auf unterschiedliche Art und Weise erfolgen. Sie können unseren webbasierten Konfigurationsgenerator verwenden, der eine von ASF unabhängige lokale App ist. Sie können unsere ASF-UI IPC-Benutzeroberfläche für die Konfiguration direkt in ASF verwenden. Schließlich können Sie die Konfigurationsdateien immer manuell erzeugen, da sie der unten angegebenen festen JSON-Struktur folgen. Wir werden in aller Kürze die verfügbaren Optionen erklären.
Der Zweck des web-basierten Konfigurationsgenerators ist es, Ihnen ein benutzerfreundliches Frontend zur Verfügung zu stellen, das zum Erzeugen von ASF-Konfigurationsdateien verwendet wird. Der web-basierte Konfigurationsgenerator ist zu 100 % Client-basiert, was bedeutet, dass die von Ihnen eingegebenen Daten ausschließlich lokal verarbeitet werden, ohne diese woanders hin zu versenden. Dies garantiert Sicherheit und Zuverlässigkeit, da es sogar offline funktioniert, wenn zuvor alle Dateien heruntergeladen wurden. Sie müssen dann anschließend lediglich index.html
im Browser öffnen.
Der web-basierte Konfigurationsgenerator wurde unter Chrome und Firefox getestet, sollte aber in allen gängigen JavaScript-fähigen Browsern ordnungsgemäß funktionieren.
Die Verwendung ist denkbar einfach – man wählt über die entsprechenden Registerkarten, ob man eine Konfiguration für ASF
oder Bot
erstellen möchte; überprüft ob die gewählte Version der Konfigurationsdatei zur verwendeten ASF-Version passt; füllt dann die entsprechenden Felder aus und klickt abschließend auf die Schaltfläche „Herunterladen“. Verschieben Sie diese Datei in das ASF-Verzeichnis config
und überschreiben Sie diesen bei Bedarf vorhandene Dateien. Bei allen zukünftigen Anpassungen können diese Schritte jederzeit wiederholt werden. Der Rest dieses Abschnitts erklärt alle zur Verfügung stehenden Konfigurationsmöglichkeiten.
Unsere ASF-UI IPC-Schnittstelle erlaubt es Ihnen auch ASF zu konfigurieren und ist eine bessere Lösung für die Neukonfiguration von ASF nach der Generierung der ersten Konfigurationen aufgrund der Tatsache, dass es die Konfigurationen im direkt bearbeiten kann im Gegensatz zum webbasierten Konfigurationsgenerator, welcher sie statisch erzeugt.
Um ASF-ui verwenden zu können, müssen Sie unsere IPC-Schnittstelle selbst aktivieren. IPC
ist standardmäßig aktiviert, sodass Sie sofort darauf zugreifen können, solange Sie es nicht selbst deaktiviert haben.
Nach dem Start des Programms navigieren Sie einfach zu ASFs IPC-Adresse. Wenn alles richtig funktioniert hat, können Sie auch die ASF-Konfiguration von dort aus ändern.
Im Allgemeinen empfehlen wir dringend entweder unseren Konfigurationsgenerator oder ASF-ui zu verwenden, da es viel einfacher ist und sicherstellt, dass Sie keinen Fehler in der JSON-Struktur machen; aber wenn Sie aus irgendeinem Grund nicht möchten, dann können Sie auch die richtigen Konfigurationen manuell erstellen. Für einen guten Start mit einer angemessenen JSON-Strukturierung, finden Sie die unten entsprechende JSON-Beispiele. Sie können den Inhalt in eine Datei kopieren und ihn als Basis für Ihre Konfiguration verwenden. Da Sie keine unserer Frontends verwenden, stellen Sie sicher, dass die Konfiguration valid (gültig) ist, da ASF diese nicht lädt, wenn es nicht geparst werden kann. Auch wenn es sich um ein gültiges JSON handelt, müssen Sie auch sicherstellen, dass alle Eigenschaften den korrekten Typ haben, wie von ASF verlangt. Mehr Informationen bezüglich der korrekten JSON-Strukturierung aller verfügbaren Felder erhalten Sie im diesbezüglichen Abschnitt JSON-Strukturierung und unserer Dokumentation unten.
Die globale Konfiguration befindet sich in der Datei ASF.json
und hat folgende Struktur:
{
"AutoRestart": true,
"Blacklist": [],
"CommandPrefix": "!",
"ConfirmationsLimiterDelay": 10,
"ConnectionTimeout": 90,
"CurrentCulture": null,
"Debug": false,
"DefaultBot": null,
"FarmingDelay": 15,
"FilterBadBots": true,
"GiftsLimiterDelay": 1,
"Headless": false,
"IdleFarmingPeriod": 8,
"InventoryLimiterDelay": 4,
"IPC": true,
"IPCPassword": null,
"IPCPasswordFormat": 0,
"LicenseID": null,
"LoginLimiterDelay": 10,
"MaxFarmingTime": 10,
"MaxTradeHoldDuration": 15,
"MinFarmingDelayAfterBlock": 60,
"OptimizationMode": 0,
"PluginsUpdateList": [],
"PluginsUpdateMode": 0,
"ShutdownIfPossible": false,
"SteamMessagePrefix": "/me ",
"SteamOwnerID": 0,
"SteamProtocols": 7,
"UpdateChannel": 1,
"UpdatePeriod": 24,
"WebLimiterDelay": 300,
"WebProxy": null,
"WebProxyPassword": null,
"WebProxyUsername": null
}
Alle Optionen werden nachfolgend erklärt:
Typ bool
mit dem Standardwert true
. Diese Variable legt fest, ob ASF bei Bedarf einen Selbst-Neustart durchführen darf. Es gibt ein paar Fälle, die von ASF einen Neustart erfordern, z. B. die ASF-Aktualisierung (durchgeführt mit UpdatePeriod
oder dem Befehl update
), sowie das Verändern der ASF.json
Konfiguration, dem restart
Befehl und ähnlich. Normalerweise beinhaltet der Neustart zwei Teile – das Erstellen eines neuen Prozesses und das Beenden des aktuellen Prozesses. Die meisten Benutzer sollten damit einverstanden sein und diese Variable auf dem Standardwert true
behalten – wenn Sie ASF durch ein eigenes Skript und/oder mit dotnet
ausführen; sollten Sie vielleicht die volle Kontrolle über den Start des Prozesses haben und eine Situation vermeiden, in der ein neuer (neu gestarteter) ASF-Prozess irgendwo im Hintergrund und nicht im Vordergrund des Skripts läuft, der zusammen mit dem alten ASF-Prozess beendet wurde. Dies ist besonders wichtig, wenn man bedenkt, dass der neue Prozess nicht mehr ein direkter Unterprozess („Kind“) ist, was Sie z. B. nicht in die Lage versetzen würde, die Standardkonsolen-Eingabe dafür zu verwenden.
Wenn das der Fall ist, ist diese Variable speziell für Sie, weshalb Sie diese auf false
setzen können. Bedenken Sie jedoch, dass Sie in diesem Fall für den Neustart des Prozesses verantwortlich sind. Dies ist einigermaßen wichtig, da ASF sich nur beendet, anstatt einen neuen Prozess zu starten (z. B. nach der Aktualisierung), sodass, wenn Sie keine Logik hinzugefügt haben, ASF einfach stoppt, bis Sie es wieder starten. ASF beendet sich immer mit einem korrekten Fehlercode, der Erfolg (Null) oder Misserfolg (ungleich Null) anzeigt. Auf diese Weise können Sie in Ihrem Skript eine entsprechende Logik hinzufügen, die einen automatischen Neustart von ASF im Fehlerfall vermeiden sollte oder zumindest zur weiteren Analyse eine lokale Kopie von log.txt
erstellt. Beachten Sie ebenfalls, dass der Befehl restart
ASF immer neu startet, unabhängig davon, wie diese Variable eingestellt ist, da diese Variable das Standardverhalten definiert, während der Befehl restart
den Prozess immer neu startet. Wenn Sie keinen Grund dafür haben, diese Funktion zu deaktivieren, sollte dies aktiviert bleiben.
Typ ImmutableHashSet<uint>
mit einem leeren Standardwert. Wie der Name schon verrät, definiert diese globale Konfigurationseigenschaft appIDs (Spiele), die vom automatischen Sammel-Prozesses durch ASF vollständig ignoriert werden. Leider liebt Steam es Sommer/Winter-Sale-Abzeichen als „verfügbar für Kartenabgabe“ zu kennzeichnen, was den ASF-Prozess verwirrt, da es den Eindruck erweckt, dass es sich um ein gültiges Spiel handelt das gesammelt werden sollte. Wenn es keine schwarze Liste gäbe, würde ASF irgendwann beim Sammeln eines Spieles (das eigentlich kein Spiel ist) „hängen“ bleiben und unendlich warten bis die Karten gesammelt wurden, was aber nie passieren wird. Die schwarze Liste von ASF makiert solche Abzeichen als ungeeignet bezüglich des Sammelprozesses, sodass wir diese bei der Entscheidung, was zu Sammeln ist, stillschweigend ignorieren und nicht in die Falle tappen können.
ASF enthält standardmäßig zwei schwarze Listen – SalesBlacklist
, die fest im ASF-Quellcode programmiert und nicht bearbeitet werden kann, sowie die normale Blacklist
die hier definiert ist. Die SalesBlacklist
wird zusammen mit der ASF-Version aktualisiert und enthält typischerweise alle „schlechten“ AppIDs zum Zeitpunkt der Veröffentlichung, sodass Sie, wenn die aktuelle Version von ASF verwendet wird, nicht eine eigene Blacklist
(wie hier erläutert) pflegen müssen. Der Hauptzweck dieser Variable ist es Ihnen die Möglichkeit zu geben, neue, zum Zeitpunkt der ASF-Veröffentlichung unbekannte AppIDs (die nicht gespielt werden sollten) auf die schwarze Liste zu setzen. Die fest definierte SalesBlacklist
wird so schnell wie möglich aktualisiert, daher ist es nicht erforderlich, dass Sie Ihre eigene Blacklist
aktualisieren, wenn Sie die neueste ASF-Version verwenden, aber ohne Blacklist
wären Sie gezwungen, ASF zu aktualisieren, um „weiterzumachen“, wenn Valve ein neues Sale-Abzeichen veröffentlicht. Wir möchten unsere Nutzer nicht zwingen, den neuesten ASF-Code zu verwenden, daher ist diese Variable hier, damit Sie gegebenenfalls ASF selbst zu „reparieren“, wenn du aus irgenIhrem Grund nicht auf neue fest programmierte SalesBlacklist
in der neuen ASF-Version aktualisieren möchten. Wenn Sie keinen triftigen Grund haben diese Variable zu bearbeiten, sollte der Standardwert belassen werden.
Wenn Sie stattdessen auf der Suche nach einer bot-basierten Sperrliste sind, werfen Sie einen Blick auf die Befehle fb
, fbadd
und fbrm
.
Typ string
mit einem Standardwert !
. Diese Variable spezifiziert das größensensitive Präfix, das für Befehle in ASF verwendet wird. Mit anderen Worten: Sie sollten es jedem ASF-Befehl voranstellen, damit ASF auch zuhört. Es ist möglich, diesen Wert auf null
oder leer zu setzen, damit ASF kein Befehlspräfix verwendet, in diesem Fall geben Sie die Befehle jeweils mit Ihren einfachen Bezeichnern ein. Dies kann jedoch die Leistung von ASF beeinträchtigen, da ASF optimiert ist, um Nachrichten nicht weiter zu analysieren, sobald diese nicht mit CommandPrefix
beginnen; wenn Sie sich absichtlich dazu entscheiden, sie nicht zu verwenden, wird ASF gezwungen sein, alle Nachrichten zu lesen und darauf zu reagieren, selbst wenn es sich nicht um ASF-Befehle handelt. Daher wird empfohlen, weiterhin irgenIhr CommandPrefix
zu verwenden, z. B. /
, wenn Sie den Standardwert !
nicht mögen. Aus Konsistenzgründen betrifft CommandPrefix
den gesamten ASF-Prozess. Wenn Sie keinen Grund haben diese Variable zu bearbeiten, sollte der Standardwert belassen werden.
Typ byte
mit einem Standardwert 10
. ASF wird sicherstellen, dass mindestens ConfirmationsLimiterDelay
Sekunden zwischen zwei aufeinanderfolgenden 2FA-Bestätigungen liegen, die Anfragen abrufen, um eine Auslösung des Anfragelimits zu vermeiden – diese werden von ASF-2FA während z. B. des Befehls 2faok
, sowie bei verschiedenen handelsbezogenen Operationen nach Bedarf verwendet. Der Standardwert wurde auf Basis unserer Tests festgelegt und sollte nicht verringert werden, wenn Sie auf keine Probleme stoßen möchten. Sofern Sie keinen triftigen Grund haben diese Variable zu bearbeiten, sollte der Standardwert belassen werden.
Typ byte
mit einem Standardwert 90
. Diese Variable definiert die Auszeiten (timeouts) für verschiedene Netzwerkaktionen, die von ASF ausgeführt werden, in Sekunden. Im Einzelnen definiert ConnectionTimeout
die Auszeit in Sekunden für HTTP- und IPC-Anfragen, ConnectionTimeout / 10
definiert die maximale Anzahl der fehlgeschlagenen Heartbeats, während ConnectionTimeout / 30
die Anzahl der Minuten definiert, die wir für die initiale Steam-Netzwerkverbindungsanforderung berücksichtigen. Der Standardwert 90
sollte für die Mehrheit der Benutzer in Ordnung sein, aber wenn Sie eine eher langsame Netzwerkverbindung oder einen PC haben, sollte diese Zahl vielleicht um etwas erhöhet werden (wie 120
). Beachten Sie, dass höhere Werte langsame oder sogar unzugängliche Steam-Server nicht auf magische Weise reparieren, also sollten wir nicht unendlich auf etwas warten, das nicht passieren wird, und es einfach später noch einmal versuchen. Eine zu hohe Einstellung dieses Wertes führt zu einer übermäßigen Verzögerung bei der Erfassung von Netzwerkproblemen und zu einer Verringerung der Gesamtleistung. Wenn Sie diesen Wert zu niedrig einstellen verringert sich auch die Gesamtstabilität und -leistung, da ASF eine gültige Anfrage abbricht, die noch verarbeitet wird. Daher hat das Setzen dieses Wertes unter dem Standardwert im Allgemeinen keinen Vorteil, da Steam-Server von Zeit zu Zeit sehr langsam sind und mehr Zeit für das Verarbeiten von ASF-Anfragen benötigen könnten. Der Standardwert ist eine ausgewogene Balance zwischen dem Vertrauen, dass unsere Netzwerkverbindung stabil ist, und dem Misstrauen des Steam-Netzwerks, unsere Anfrage innerhalb einer bestimmten Auszeit zu bearbeiten. Wenn Sie Probleme früher erkennen und die ASF-Wiederverbindung bzw. -Antwort beschleunigen möchten, sollte der Standardwert dies tun (oder ganz knapp darunter, z. B. 60
, wodurch ASF weniger geduldig wird). Sollten Sie stattdessen bemerken, dass ASF auf Netzwerkprobleme stößt (z. B. fehlgeschlagene Anfragen, Heartbeats, die verloren gehen oder die Verbindung zu Steam unterbrochen wird) könnte es sinnvoll sein, diesen Wert zu erhöhen, wenn Sie sicher sind, dass es sich um einen Problem mit Steam und nicht um einen Fehler in Ihrem Netzwerk; da zunehmende Auszeiten ASF mehr „geduldig“ machen und sich nicht entscheiden, die Verbindung sofort wieder herzustellen.
Eine Beispielsituation, die eine Erhöhung dieser Variable erfordern könnte, ist die Möglichkeit, ASF mit einem sehr großen Handelsangebot zu beauftragen, das gut 2+ Minuten dauern kann, um von Steam vollständig akzeptiert und bearbeitet zu werden. Durch die Erhöhung des Standard-Timeout wird ASF geduldiger und wartet länger, bevor es entscheidet, dass der Handelsversuch erfolglos und die ursprüngliche Anfrage aufgibt.
Eine weitere Situation könnte durch eine sehr langsame Maschine oder Internetverbindung verursacht werden, die mehr Zeit benötigt, um die zu übertragenden Daten zu verarbeiten. Dies ist eine ziemlich seltene Bedingung, da die CPU/Netzwerkbandbreite fast nie ein Engpass ist, aber dennoch eine erwähnenswerte Möglichkeit.
Kurz gesagt, der Standardwert sollte in den meisten Fällen angemessen sein, aber Sie können ihn bei Bedarf erhöhen. Trotzdem macht es keinen großen Sinn, weit über den Standardwert hinauszugehen, da größere Auszeiten unzugängliche Steam-Server nicht magisch beheben. Wenn Sie keinen Grund haben diese Variable zu bearbeiten, sollte der Standardwert belassen werden.
Typ string
mit einem Standardwert null
. Standardmäßig versucht ASF, die Sprache des Betriebssystems zu verwenden, und wird es vorziehen, übersetzte Zeichenketten (falls verfügbar) in dieser Sprache zu verwenden. Dies ist möglich dank unserer Community, die versucht, ASF in allen gängigen Sprachen zu übersetzen. Wenn Sie aus irgendeinem Grund die Standardsprache des Betriebssystems nicht verwenden möchten, können Sie diese Konfigurationseigenschaft verwenden, um eine gültige Sprache auszuwählen, die Sie stattdessen verwenden möchten. Für eine Liste aller verfügbaren Sprachen besuche Sie bitte MSDN und suchen nach Language tag
. Es ist erwähnenswert, dass ASF sowohl spezifische Sprachen wie en-GB
, als auch neutrale Sprachen wie en
akzeptiert. Die Angabe der aktuellen Sprache kann auch andere sprachspezifische Aspekte beeinflussen, z. B. das Währungs-/Datumsformat und ähnliches. Es muss beachtet werden, dass möglicherweise zusätzliche Schrift-/Sprachpakete erforderlich sind, um sprachspezifische Zeichen richtig darzustellen, wenn Sie eine nicht-native Sprache gewählt haben. Normalerweise möchten Sie diese Konfigurationseigenschaft verwenden, wenn Sie ASF auf Englisch anstelle Ihrer Muttersprache bevorzugen.
Typ bool
mit dem Standardwert false
. Diese Variable legt fest, ob der Prozess im Debug-Modus laufen soll. Im Debug-Modus erstellt ASF ein spezielles Verzeichnis debug
neben dem config
Verzeichnis, das die gesamte Kommunikation zwischen ASF und den Steam-Servern verfolgt. Debug-Informationen können helfen, lästige Probleme im Zusammenhang mit der Vernetzung und dem allgemeinen ASF-Arbeitsablauf zu erkennen. Darüber hinaus werden einige Programmroutinen viel ausführlicher sein, z. B. WebBrowser
, die den genauen Grund für das Scheitern einiger Anfragen angeben – diese Einträge werden in das normale ASF-Protokoll geschrieben. Sie sollten ASF nicht im Debug-Modus ausführen, es sei denn, Sie werden von einem Entwickler dazu aufgefordert. Das Ausführen von ASF im Debug-Modus verringert die Leistung, beeinträchtigt die Stabilität negativ und ist weitaus ausführlicher an verschiedenen Stellen, daher sollte es nur gewollt und kurzfristig, für das Debuggen bestimmter Probleme, die Reproduktion des Problems oder das Erhalten von mehr Informationen über eine fehlgeschlagene Anfrage und ähnliches verwendet werden, aber nicht für die normale Programmausführung. Sie werden viele neue Fehler, Probleme und Ausnahmen sehen – stellen Sie sicher, dass Sie ein gutes Wissen über ASF, Steam und seine Besonderheiten haben, wenn Sie alles selbst zu analysieren; da nicht alles relevant ist.
WARNUNG: Das Aktivieren dieses Moduses beinhaltet das Protokollieren von potenziell sensiblen Informationen wie Anmeldeinformationen und Passwörter, die Sie für die Anmeldung bei Steam verwenden (aufgrund der Netzwerkprotokollierung). Diese Daten werden sowohl in das Verzeichnis debug
, als auch in die normale log.txt
Datei geschrieben (diese ist nun absichtlich viel umfangreicher, um diese Information zu protokollieren). Sie sollten keine Debug-Inhalte, die von ASF generiert wurden, an einem öffentlichen Ort posten; der ASF-Entwickler sollte Sie immer daran erinnern, diese an seine E-Mail oder einen anderen sicheren Ort zu senden. Wir speichern diese sensiblen Details nicht und verwenden sie auch nicht, sie werden als Teil von Debug-Routinen geschrieben, da deren Anwesenheit für das Problem, welches Sie betrifft, relevant sein könnte. Wir würden es vorziehen, wenn Sie das ASF-Logging in keiner Weise ändern würden, aber wenn Sie besorgt sind, können Sie diese sensiblen Details entsprechend überarbeiten.
Beim Editieren werden sensible Details, z. B. durch Sterne, ersetzt. Sie sollten darauf verzichten, sensible Zeilen ganz zu entfernen, da Ihre reine Existenz relevant sein könnte und erhalten werden sollte.
Typ string
mit einem Standardwert null
. In einigen Szenarien funktioniert ASF mit einem Konzept eines Standardbots, der für die Handhabung von Dingen verantwortlich ist (z. B. IPC-Befehle oder interaktive Konsole), wenn Sie keinen Zielbot angeben. Mit dieser Variable können Sie den Standardbot auswählen, der für den Umgang in solchen Szenarien verantwortlich ist, indem Sie seinen BotName
hier setzen. Falls der angegebene Bot nicht existiert, oder Sie einen Standardwert null
verwenden, wird ASF stattdessen den ersten registrierten Bot alphabetisch sortieren. Üblichlerweise möchten Sie diese Konfigurationseigenschaft verwenden, wenn Sie das Argument [Bots]
in IPC- und interaktiven Konsolenbefehlen weglassen möchten, um immer den gleichen Bot für solche Anrufe als Standard zu verwenden.
Typ byte
mit einem Standardwert 15
. Damit ASF funktioniert, wird es alle FarmingDelay
Minuten das aktuell gesammelte Spiel überprüfen, ob es vielleicht schon alle Karten erhalten hat. Wenn Sie diese Variable zu niedrig einstellen, kann dies dazu führen, dass eine übermäßige Anzahl von Steam-Anfragen gesendet wird, während eine zu hohe Einstellung dazu führen kann, dass ASF immer noch den vorgegebenen Titel für bis zu FarmingDelay
Minuten, nachdem es vollständig gesammelt wurde, „sammelt“. Der Standardwert sollte für die meisten Benutzer hervorragend sein, aber wenn Sie viele Bots im Einsatz haben, können Sie ihn auf etwa 30
Minuten erhöhen, um das Senden von Steam-Anfragen zu begrenzen. Es ist gut zu wissen, dass ASF einen ereignisbasierten Mechanismus verwendet und die Spiel-Abzeichen-Seite für jeden gesammelten Steam-Gegenstand überprüft, sodass wir im Allgemeinen nicht einmal in festen Zeitabständen überprüfen müssen; aber da wir dem Steam-Netzwerk nicht voll vertrauen – überprüfen wir die Spiel-Abzeichen-Seite trotzdem, wenn wir es nicht überprüft haben, indem die Karte im letzten FarmingDelay
Minuten gesammelt wurde (falls das Steam-Netzwerk uns nicht über den gesammelten Gegenstand oder dergleichen informiert hat). Angenommen, das Steam-Netzwerk funktioniert ordnungsgemäß, wird die Herabsetzung dieses Wertes in keiner Weise die Effizienz des Sammelns verbessern, während die Erhöhung des Netzwerkaufwandes dies signifikant tut – es wird empfohlen, es nur (falls erforderlich) vom Standardwert aus auf 15
Minuten zu erhöhen. Wenn Sie keinen triftigen Grund haben diese Variable zu bearbeiten, sollte der Standardwert belassen werden.
Typ bool
mit dem Standardwert true
. Diese Variable legt fest, ob ASF automatisch Handelsangebote ablehnt, die von bekannten und markierten bösartigen Akteuren empfangen werden. Dazu wird ASF bei Bedarf mit unserem Server kommunizieren, um eine Liste von Steam-Identifikatoren zu erhalten, die auf der schwarzen Liste stehen. Die aufgeführten Bots werden von Personen betrieben, die von uns als schädlich für die ASF-Initiative eingestuft werden. Etwa diejenigen, die unseren Verhaltenskodex verletzen; die von uns bereitgestellte Funktionalität und Ressourcen wie PublicListing
verwenden, um andere Personen zu schaden und auszunutzen; oder direkte kriminelle Aktivitäten wie das Starten von DDoS-Attacken auf dem Server ausführen. Da ASF eine starke Haltung zur allgemeinen Fairness, Ehrlichkeit und Zusammenarbeit zwischen seinen Nutzern einnimmt, um die gesamte Gemeinschaft zu unterstützen, ist diese Variable standardmäßig aktiviert und filtert Bots die wir von angebotenen Diensten als schädlich eingestuft haben. Sofern Sie keinen triftigen Grund haben, diese Variable zu bearbeiten, z. B. nicht mit unserer Erklärung einverstanden zu sein und diesen Bots absichtlich das Betreiben zu erlauben (einschließlich der Nutzung Ihrer Konten), sollten Sie diese standardmäßig beibehalten.
Typ byte
mit einem Standardwert 1
. ASF wird sicherstellen, dass mindestens GiftsLimiterDelay
Sekunden zwischen zwei aufeinanderfolgenden Anfragen zur Handhabung (Einlösen) von Geschenken/Produktschlüsseln/Lizenzen liegen, um zu vermeiden, dass ein Anfragen-Limit ausgelöst wird. Darüber hinaus wird es auch als globale Beschränkung für Spiele-Listen-Anfragen verwendet, z. B. die vom owns
Befehl. Sofern Sie keinen triftigen Grund haben diese Variable zu bearbeiten, sollte der Standardwert belassen werden.
Typ bool
mit dem Standardwert false
. Diese Variable legt fest, ob der Prozess im Headless-Modus laufen soll. Im Headless-Modus geht ASF davon aus, dass es auf einem Server oder in einer anderen nicht interaktiven Umgebung läuft, daher wird es nicht versuchen Informationen über die Konsolen-Eingabe zu lesen. Dazu gehören On-Demand-Details (Konto-Anmeldeinformationen wie 2FA-Code, SteamGuard-Code, Passwort oder jede andere Variable, die für den Betrieb von ASF erforderlich ist) sowie alle anderen Konsolen-Eingaben (z. B. interaktive Befehlskonsole). Mit anderen Worten: der Headless
Modus ist gleichbedeutend mit der schreibgeschützten ASF-Konsole. Diese Einstellung ist vor allem für Benutzer nützlich die ASF auf Ihren Servern ausführen, da ASF, anstatt z. B. nach 2FA-Code zu fragen, den Vorgang stillschweigend abbricht, indem es ein Konto stoppt. Wenn Sie ASF nicht auf einem Server ausführen und vorher bestätigt haben, dass ASF im Nicht-Headless-Modus funktionieren kann, sollten Sie diese Variable deaktiviert lassen. Jegliche Benutzerinteraktion wird im Headless-Modus verweigert, und Ihre Konten werden nicht ausgeführt, sobald diese beim Start irgendwelche Konsolen-Eingaben erfordern. Dies ist für Server nützlich, da ASF den Versuch, sich am Konto anzumelden, wenn nach Anmeldeinformationen gefragt wird, abbrechen kann, anstatt (unendlich) darauf zu warten, dass der Benutzer diese bereitstellt. Wenn dieser Modus aktiviert ist, kann auch ein input
Befehl verwendet werden, der als Ersatz für die standardmäßige Konsolen-Eingabe dient. Wenn Sie sich nicht sicher sind, wie Sie diese Variable einstellen sollen, belassen Sie diese bei dem Standardwert false
.
Typ byte
mit einem Standardwert 8
. Wenn ASF nichts zu sammeln hat, wird es regelmäßig alle IdleFarmingPeriod
Stunden überprüfen, ob dem Konto vielleicht einige neue Spiele zum Sammeln zur Verfügung stehen. Dieses Feature ist nicht erforderlich, wenn es sich um neue Spiele handelt, die wir erhalten, da ASF intelligent genug ist, um in diesem Fall automatisch die Abzeichen-Seiten zu überprüfen. IdleFarmingPeriod
ist hauptsächlich für Situationen wie alte Spiele gedacht, bei denen wir bereits Karten hinzugefügt haben. In diesem Fall gibt es kein Ereignis, weshalb ASF regelmäßig die Abzeichen-Seiten überprüfen muss, wenn wir dies berücksichtigen möchten. Der Wert von 0
deaktiviert dieses Feature. Überprüfen Sie auch die Einstellung ShutdownOnFarmingFinished
in den FarmingPreferences
.
Typ byte
mit einem Standardwert 4
. ASF will ensure that there will be at least InventoryLimiterDelay
seconds in between of two consecutive web inventory requests to avoid triggering rate-limit - those are being used for example during marking inventory notifications as read, might also be used by third-party plugins fetching inventory of other users. This property is not used for fetching our own inventory, as ASF is using much more efficient internal network call for that, so it'll not affect commands like loot
or transfer
in any way. Default value of 4
was set based on marking inventories of over 100 consecutive bot instances, and should satisfy most (if not all) of the users. You may however want to decrease it, or even change to 0
if you have very low amount of bots, so ASF will ignore the delay and mark Steam inventories much faster. Be warned though, as setting it too low will result in Steam temporarily banning your IP, and that will prevent you from making any calls at all. Sie müssen diesen Wert möglicherweise auch erhöhen, wenn Sie viele Bots mit vielen Inventar-Anfragen ausführen, obwohl Sie in diesem Fall wahrscheinlich versuchen sollten, die Anzahl dieser Anfragen zu begrenzen. Wenn Sie keinen triftigen Grund haben diese Variable zu bearbeiten, sollte der Standardwert belassen werden.
Typ bool
mit dem Standardwert true
. Diese Variable definiert, ob der ASF-IPC-Server zusammen mit dem Prozess gestartet werden soll. IPC ermöglicht die Kommunikation zwischen den Prozessen, einschließlich der Nutzung von ASF-ui durch das Starten eines lokalen HTTP-Servers. Wenn Sie nicht beabsichtigen, eine externe IPC-Integration mit ASF zu verwenden, einschließlich unserer ASF-ui, können Sie diese Option problemlos deaktivieren. Ansonsten ist es eine gute Idee, diese Option aktiviert zu lassen (Standardoption).
Typ string
mit einem Standardwert null
. Diese Variable definiert das obligatorische Passwort für jeden API-Aufruf über die IPC-Schnittstelle und dient als zusätzliche Sicherheitsmaßnahme. Wenn auf einen nicht-leeren Wert gesetzt, benötigen alle IPC-Anfragen eine zusätzliche password
-Variable, die auf das hier angegebene Passwort eingestellt ist. Der Standardwert null
überspringt die Notwendigkeit des Passwortes, sodass ASF alle Anfragen akzeptiert. Darüber hinaus ermöglicht die Aktivierung dieser Option auch den eingebauten IPC-Anti-Bruteforce-Mechanismus, der die gegebene IPAdress
vorübergehend blockiert, nachdem zu viele nicht autorisierte Anfragen in sehr kurzer Zeit gesendet wurden. Wenn Sie keinen Grund haben diese Variable zu bearbeiten, sollte der Standardwert belassen werden.
Typ byte
mit einem Standardwert 0
. Diese Variable legt das Format der Variable IPCPassword
fest und nutzt EHashingMethod
als zugrunde liegenden Typ. Bitte lesen Sie den Abschnitt Sicherheit, für mehr Informationen, um sicherzustellen, dass die Variable IPCPassword
tatsächlich ein Passwort im passenden IPCPasswordFormat
enthält. Mit anderen Worten: wenn Sie IPCPasswordFormat
ändern, dann sollte das IPCPassword
bereits im richtigen Format sein und nicht nur darauf abzielen, lediglich zu existieren. Wenn Sie nicht wissen, was Sie tun, sollten der Standardwert bei 0
belassen werden.
Typ Guid?
mit dem Standardwert null
. Diese Variable ermöglicht unseren Sponsoren um ASF mit optionalen Funktionen zu verbessern, die bezahlte Ressourcen erfordern. Im Moment können Sie die Funktion MatchActively
im ItemsMatcher
-Plugin verwenden.
Während wir Ihnen empfehlen, GitHub zu verwenden, da es monatliche und einmalige Bezahloptionen bietet, sowie volle Automatisierung ermöglicht und Ihnen sofortigen Zugriff gewährt; unterstützen wir auch alle derzeit verfügbaren Spendenoptionen. Weitere Informationen gibt es in in diesem Beitrag (für Anweisungen, wie man mit anderen Methoden spenden kann, um eine manuelle Lizenz für einen bestimmten Zeitraum zu erhalten).
Unabhängig von der verwendeten Methode, können Sie als ASF Sponsor Ihre Lizenz hier erwerben. Sie müssen sich bei GitHub anmelden, um Ihre Identität zu bestätigen. Wir fragen nur nach öffentlichen einsehbaren Informationen, also Ihrem Benutzernamen. LicenseID
besteht aus 32 Hexadezimalzeichen, z. B. f6a0529813f74d119982eb4fe43a9a24
.
Stellen Sie sicher, dass Sie Ihre LicenseID
nicht an andere Personen teilen. Da es auf persönlicher Basis ausgegeben wird, könnte es widerrufen werden, wenn dieses durchgesickert. Wenn Ihnen dies zufällig passiert ist, können Sie eine neue von demselben Ort aus generieren.
Sofern Sie keine zusätzlichen ASF-Funktionen aktivieren möchten, ist es nicht erforderlich, dass Sie die Lizenz eingeben.
Typ byte
mit einem Standardwert 10
. ASF stellt sicher, dass zwischen zwei aufeinanderfolgenden Verbindungsversuchen mindestens LoginLimiterDelay
Sekunden liegen, um eine Auslösung des Anfrage-Limits zu vermeiden. Der Standardwert 10
wurde basierend auf der Verbindung von über 100 Bot-Instanzen festgelegt und sollte die meisten (wenn nicht alle) Benutzer zufrieden stellen. Sie können es aber auch verringern oder sogar zu 0
wechseln, wenn eine sehr geringe Anzahl von Bots eingerichtet sind, sodass ASF die Verzögerung ignoriert und sich viel schneller mit Steam verbindet. Aber seien Sie gewarnt, da das Setzen einer zu niedrigen Einstellung garantiert dazu führt, dass Steam Ihre IP vorübergehend sperrt, während zu viele Bots gleichzeitig benutzt werden. Das wird in einem InvalidPassword/RateLimitExceeded
-Fehler resultieren und Sie komplett daran hindern, sich anzumelden. Das betrifft dann auch den normalen Steam-Client, nicht nur ASF. Gleichermaßen gilt, wenn Sie eine übermäßige Anzahl von Bots verwenden, insbesondere zusammen mit anderen Steam-Clients/Programmen, welche die gleiche IP-Adresse verwenden, muss dieser Wert höchstwahrscheinlich erhöht werden, um die Anmeldungen über einen längeren Zeitraum verteilen zu können.
Nebenbei bemerkt, wird dieser Wert auch als Load-Balancing-Puffer in allen ASF-geplanten Aktionen verwendet, z. B. Handelsangebote in SendTradePeriod
. Wenn Sie keinen triftigen Grund haben diese Variable zu bearbeiten, sollte der Standardwert belassen werden.
Typ byte
mit einem Standardwert 10
. Wie Sie wissen sollten, funktioniert Steam nicht immer richtig. Manchmal können seltsame Situationen auftreten, z. B. dass unsere Spielzeit nicht aufzeichnet, obwohl tatsächlich ein Spiel gespielt wird. ASF erlaubt es, ein einzelnes Spiel im Einzelmodus für maximal MaxFarmingTime
Stunden zu spielen und betrachtet es nach diesem Zeitraum als vollständig gesammelt. Dies ist erforderlich, um den Sammel-Prozess nicht einzufrieren, wenn es zu seltsamen Situationen kommt, aber auch, wenn Steam aus irgendeinem Grund ein neues Abzeichen veröffentlicht hat, das ASF daran hindern würde, weiter voranzukommen (siehe: Blacklist
). Der Standardwert 10
Stunden sollte ausreichen, um alle Steam-Karten aus einem Spiel zu sammeln. Wenn Sie diese Variable zu niedrig einstellen, kann dies dazu führen, dass gültige Spiele übersprungen werden (und ja, es gibt gültige Spiele, die sogar bis zu 9 Stunden zum Sammeln benötigen), während eine zu hohe Einstellung dazu führen kann, dass der Sammel-Prozess eingefroren wird. Bitte beachten Sie, dass diese Variable nur ein einzelnes Spiel in einer einzigen Spiel-Sitzung betrifft (sodass ASF nach dem Durchlaufen der gesamten Warteschlange zu diesem Titel zurückkehrt), auch basiert sie nicht auf der Gesamtspielzeit, sondern auf der internen ASF-Sammel-Zeit, sodass ASF auch nach einem Neustart zu diesem Titel zurückkehrt. Wenn Sie keinen triftigen Grund haben diese Variable zu bearbeiten, sollte der Standardwert belassen werden.
Typ byte
mit einem Standardwert 15
. Diese Variable definiert die maximale Dauer der Handelssperre in Tagen, die wir bereit sind zu akzeptieren – ASF lehnt Handelsangebote ab, die länger als MaxTradeHoldDuration
Tage gehalten werden, wie im Abschnitt Handel definiert. Diese Option ist nur für Bots mit TradingPreferences
von SteamTradeMatcher
sinnvoll, da sie Master
/ SteamOwnerID
Handelsangebote und keine Spenden betrifft. Handelssperren sind für alle ärgerlich, und niemand will sich wirklich mit Ihnen befassen. ASF soll nach liberalen Regeln arbeiten und jedem helfen, egal ob er sich in einer Handelssperre befindet oder nicht. Deshalb ist diese Option standardmäßig auf 15
gesetzt. Wenn Sie stattdessen lieber alle von Handelssperren betroffene Handelsangebote ablehnen möchten, können Sie hier 0
angeben. Bitte bedenken Sie, dass Karten mit kurzer Lebensdauer von dieser Option nicht betroffen sind und für Personen mit Handelssperren automatisch abgelehnt werden, wie im Abschnitt Handel erläutert, sodass es nicht notwendig ist, jeden nur deshalb global abzulehnen. Wenn Sie keinen Grund haben diese Variable zu bearbeiten, sollte der Standardwert belassen werden.
Typ byte
mit dem Standardwert 60
. Diese Variable bestimmt (die minimale Zeit in Sekunden), wie lange ASF mit dem Sammeln wartet, bis sollten Sie zuvor die Verbindung mit LoggedInElsewhere
verliert; dies geschieht, sobald Sie sich dazu entscheiden ein Spiel zu starten und somit den Sammelprozess von ASF zwangsweise zu unterbrechen. Diese Verzögerung dient hauptsächlich der Bequemlichkeit und der Überlastungsprävention; etwa um das Spiel neu zu starten, ohne dass ASF (wegen einer kurzen Spielsperre) Ihr Konto blockiert. Aufgrund der Tatsache, dass das Zurückfordern der Sitzung LoggedInElsewhere
die Verbindung unterbrochen hat, muss ASF das ganze Prozedere zur Verbindungswiederherstellung durchlaufen. Dies führt zu einer zusätzlichen Belastung des Geräts und des Steam-Netzwerks. Deshalb sollten weitere Trennungen möglichst vermieden werden. Standardmäßig ist dies bei 60
Sekunden konfiguriert, was ausreichen sollte, um das Spiel ohne große Schwierigkeiten neu zu starten. Es gibt jedoch Szenarien, bei denen Sie daran interessiert sein könnten, diesen Wert zu vergrößern (z. B. wenn Ihr Netzwerk oft trennt und ASF zu früh das Konto übernimmt, was dazu führt, dass Sie selbst den Wiederherstellungsprozess durchlaufen müssen). Wir erlauben einen maximalen Wert von 255
für diese Variable, was für alle gängigen Szenarien genügen sollte. Zusätzlich zu den oben genannten ist es auch möglich, die Verzögerung zu verringern, oder sogar komplett mit einem Wert 0
entfernen, obwohl dies in der Regel aus den oben genannten Gründen nicht empfohlen wird. Wenn Sie keinen Grund haben diese Variable zu bearbeiten, sollte der Standardwert belassen werden.
Typ byte
mit einem Standardwert 0
. Diese Variable definiert den Optimierungsmodus, den ASF während der Ausführung bevorzugt. Derzeit unterstützt ASF zwei Modi – 0
, der so genannte MaxPerformance
, und 1
, der so genannte MinMemoryUsage
. Standardmäßig bevorzugt ASF es, möglichst viele Aufgaben parallel auszuführen, was die Leistung durch Load-Balancing-Arbeiten (über alle CPU-Kerne, mehrere CPU-Threads, mehrere Sockel und mehrere Thread-Pool-Aufgaben hinweg) erhöht. Zum Beispiel fragt ASF nach Ihrer ersten Abzeichen-Seite, um nach Spiele zum Sammeln zu suchen. Sobald die Anfrage eingetroffen ist, überprüft ASF, wie viele Abzeichen-Seiten Sie tatsächlich haben, und fordert schließlich nacheinander an. Das ist es, was Sie eigentlich fast immer möchten, da der Aufwand in den meisten Fällen minimal ist und die Vorteile des asynchronen ASF-Codes auch auf der ältesten Hardware mit einem einzigen CPU-Kern und stark eingeschränkter Leistung sichtbar sind. Da jedoch viele Aufgaben parallel verarbeitet werden, ist die ASF-Laufzeit für Ihre Wartung verantwortlich, z. B. Sockets offen zu halten, Threads am Leben zu erhalten und Aufgaben zu bearbeiten, was gelegentlich zu einer erhöhten Speicherauslastung führen kann. Wenn der verfügbare Speicher häufig extrem eingeschränkt ist, sollten Sie diese Variable auf 1
(MinMemoryUsage
) umschalten, um ASF zu zwingen, so wenig Aufgaben wie möglich auszuführen und typischerweise asynchronen (possible-to-parallel/ parallel ausführbarer) Code synchron zu verwenden. Sie sollten erwägen, diese Variable nur zu ändern, wenn Sie vorher mehr über das speichereffizientes Setup gelesen haben und absichtlich gigantische Leistungssteigerung (für eine sehr kleine Verringerung des Speicher-Aufwands) opfern möchten. Normalerweise ist diese Option viel schlechter als das, was mit anderen Methoden möglich wäre (z. B. indem Sie eine ASF-Nutzung einschränken oder die Ausführung des Garbage Collector einstellen), wie fürs speichereffiziente Setup erklärt. Daher sollte MinMemoryUsage
als letztes Mittel verwendet werden, kurz vor der Neukompilierung der Laufzeitumgebung, wenn Sie mit anderweitigen (viel besseren) Optionen keine zufriedenstellende Ergebnisse erzielen können. Sofern Sie keinen triftigen Grund haben diese Variable zu bearbeiten, sollte der Standardwert unangetastet bleiben.
ImmutableHashSet<string>
Typ mit einem leeren Standardwert. Diese Eigenschaft definiert die Liste der Plugin-Assemblynamen, die entweder auf der Sperrliste oder auf der Whitelist stehen, um für automatische Aktualisierungen in Betracht gezogen zu werden, gemäß den unten definierten PluginsUpdateMode
.
Wenn Sie keinen Grund haben diese Variable zu bearbeiten, sollte der Standardwert belassen werden.
Typ byte
mit einem Standardwert 0
. Diese Eigenschaft/Variable definiert den Aktualisierungsmodus für Erweiterungen, der PluginsUpdateList
einen Sinn gibt. Durch Angabe dieser Variable können Sie automatische Aktualisierungen für alle Erweiterungen (mit Ausnahme der deklarierten) aktivieren/deaktivieren.
- Standardwert
0
(entsprichtWhitelist
), deaktiviert die automatische Aktualisierung aller Erweiterungen, mit Ausnahme derPluginsUpdateList
. - Standardwert
1
(entsprichtBlacklist
), aktiviert die automatische Aktualisierung aller Erweiterungen, mit Ausnahme derPluginsUpdateList
.
ASF-Team möchte Sie daran erinnern, dass Sie zu Ihrer eigenen Sicherheit automatische Updates nur von vertrauenswürdigen Anbietern aktivieren sollten. Beachten Sie, dass böswillige Erweiterungen entscheiden können, sich selbst zu aktualisieren oder entfernte Befehle auszuführen, **unabhängig ** von dieser Einstellung. Dies ist der Grund, warum diese Einstellung ausschließlich für die ASF-bereitgestellte Plugin-Update-Funktionalität gilt; Sie sollten trotzdem sicherstellen, dass Sie jede Erweiterung, dass Sie zu verwenden beschlossen haben, entsprechend überprüfen.
Erweiterungsaktualisierungen werden standardmäßig zusammen mit der ASF-Update-Routine UpdateChannel
und UpdatePeriod
durchgeführt. Standard ASF Update-Mechanismen – wie Update
Befehl wird auch optionale Erweiterungen aktualisieren. Wenn Sie stattdessen Erweiterungen manuell aktualisieren möchten (ohne die gleichzeitige Prüfung der ASF-Version), bietet Ihnen der Befehl updateplugins
diese Möglichkeit.
Wenn Sie keinen Grund haben diese Variable zu bearbeiten, sollte der Standardwert belassen werden.
Typ bool
mit dem Standardwert false
. Wenn diese Option aktiviert ist, wird ASF versuchen den eigenen Prozess sobald als möglich zu beenden, was heißt, dass alle registrierten Bots gestoppt sind. Dies kann nützlich sein, wenn es mit ShutdownOnFarmingFinished
in allen Botinstanzen kombiniert wird, da es automatisch dazu führen wird, dass sich ASF beendet sobald der letzte Bot mit dem Sammeln fertig ist.
Da die Erwartung der meisten Nutzer ist, dass der Prozess jederzeit läuft - zum Beispiel zur Nutzung der IPC
Schnittstelle - ist diese Option standardmäßig aktiviert.
Typ string
mit einem Standardwert "/me "
. Diese Variable definiert ein Präfix, das allen Steam-Nachrichten, die von ASF gesendet werden, vorangestellt wird. Standardmäßig verwendet ASF das Präfix "/me "
, um Bot-Nachrichten leichter zu unterscheiden, da sie im Steam-Chat in verschiedenen Farben angezeigt werden. Eine weitere erwähnenswerte Variable ist das Präfix "/pre "
, das ein ähnliches Ergebnis mit einer anderen Formatierung erzielt. Sie können diese Variable auch auf eine leere Zeichenkette oder null
setzen, um die Verwendung des Präfixes vollständig zu deaktivieren und alle Nachrichten von ASF auf traditionelle Weise auszugeben. Es ist gut zu wissen, dass diese Variable nur Steam-Nachrichten betrifft – Antworten, die über andere Kanäle (z. B. IPC) zurückgegeben werden, sind nicht betroffen. Wenn Sie das normale ASF-Verhalten nicht anpassen möchten, ist es eine gute Idee, es bei den Standardeinstellungen zu belassen.
Typ ulong
mit einem Standardwert 0
. Diese Variable bestimmt die Steam-ID in 64-Bit-Form des ASF-Prozessinhabers und ist sehr ähnlich der Berechtigung Master
einer gegebenen Bot-Instanz (aber stattdessen global). Für gewöhnlich tragen Sie hier fast immer auf die ID des eigenen (Haupt-) Steamkontos ein. Die Berechtigung Master
beinhaltet die volle Kontrolle über seine Bot-Instanz, aber globale Befehle (wie exit
, restart
oder update
) sind nur für SteamOwnerID
verfügbar. Dies ist praktisch, da Sie vielleicht Bots für Freunde ausführen möchten, ohne ihnen zu erlauben, den ASF-Prozess zu steuern, z. B. das Beenden über den Befehl exit
. Der Standardwert 0
gibt an, dass es keinen Besitzer des ASF-Prozesses gibt, was bedeutet, dass niemand in der Lage sein wird, globale ASF-Befehle auszuführen. Beachten Sie, dass diese Variable ausschließlich für Steam-Chat gilt. IPC, sowie die interaktive Konsole erlauben es Ihnen trotzdem Owner
-Befehle auszuführen, auch wenn diese Variable nicht gesetzt ist.
Typ byte flags
mit einem Standardwert 7
. Diese Variable definiert Steam-Protokolle, welche ASF beim Verbinden mit Steam-Servern verwendet und wird wie folgt definiert:
Wert | Name | Beschreibung |
---|---|---|
0 | None | Kein Protokoll |
1 | TCP | Transmission Control Protocol |
2 | UDP | User Datagram Protocol |
4 | WebSocket | WebSocket |
Bitte bedenken Sie, dass diese Variable das Feld flags
ist, daher ist es möglich, eine beliebige Kombination von verfügbaren Werten auszuwählen. Schlagen Sie gerne JSON-Strukturierung nach, wenn Sie mehr erfahren möchten. Sofern keine der „Flags“ führt zur Option None
, welche an sich bereits ungültig ist.
Standardmäßig verwendet ASF alle verfügbaren Steam-Protokolle als Maßnahme um Ausfälle und ähnliche Steam-Probleme möglichst zu vermeiden. Normalerweise möchten Sie diese Variable ändern, wenn Sie ASF darauf beschränken möchten, nur ein oder zwei bestimmte Protokolle zu verwenden. Eine solche Maßnahme könnte erforderlich sein, wenn Sie z. B. nur TCP-Datenverkehr auf einer Firewall erlauben, und verhindern möchten, dass ASF versucht, eine Verbindung über UDP herzustellen. Wenn Sie jedoch kein bestimmtes Problem debuggen, ist es aber immer in Ihrem Sinne, ASF die Nutzung aller Protokoll zu gestatten, die derzeit unterstützt werden, anstelle von nur ein oder zwei. Wenn Sie keinen triftigen Grund haben diese Variable zu bearbeiten, sollte der Standardwert belassen werden.
Typ byte
mit einem Standardwert 1
. Diese Variable definiert den Aktualisierungskanal, der entweder für automatische Aktualisierungen (wenn UpdatePeriod
größer als 0
ist) oder (Alternativ) Aktualisierungsbenachrichtigungen verwendet wird. Currently ASF supports three update channels - 0
which is called None
, 1
, which is called Stable
, and 2
, which is called PreRelease
. Der Kanal Stable
ist der standardmäßige Veröffentlichungskanal, der von der Mehrheit der Benutzer verwendet werden sollte. PreRelease
channel in addition to Stable
releases, also includes pre-releases dedicated for advanced users and other developers in order to test new features, confirm bugfixes or give feedback about planned enhancements. PreRelease versions often contain unpatched bugs, work-in-progress features or rewritten implementations. Wenn Sie sich nicht als fortgeschrittener Benutzer betrachten, bleiben Sie bitte beim Standard-Aktualisierungskanal 1
(Stable
). PreRelease
channel is dedicated to users who know how to report bugs, deal with issues and give feedback - no technical support will be given. Sehen Sie sich den Veröffentlichungszyklus von ASF an, um mehr darüber zu erfahren. Sie können auch denUpdateChannel
auf 0
(None
) setzen, wenn alle Versionsüberprüfungen vollständig deaktivieren werden sollen. Falls UpdateChannel
auf 0
gesetzt ist, wird die gesamte Funktionalität im Zusammenhang mit Aktualisierungen vollständig deaktiviert, einschließlich des Befehls update
. Es wird ausdrücklich von der Verwendung des None
-Kanals abgeraten, weil Sie sich dadurch allen möglichen Probleme aussetzten (erwähnt in UpdatePeriod
Beschreibung unten).
Wenn Sie nicht wissen, was Sie tun, empfehlen wir ausdrücklich es bei den Standardeinstellungen zu belassen.
Typ byte
mit einem Standardwert 24
. Diese Variable legt fest, wie oft ASF nach automatischen Aktualisierungen suchen soll. Aktualisierungen sind nicht nur für den Erhalt neuer Funktionen und kritischer Sicherheitspatches entscheidend, sondern enthalten zudem Fehlerbehebungen, Leistungssteigerungen, Stabilitätsverbesserungen und mehr. Wenn ein Wert größer als 0
eingestellt ist, lädt ASF sich automatisch herunter, ersetzt und startet sich neu (wenn AutoRestart
es erlaubt), sobald eine neue Aktualisierung verfügbar ist. Um dies zu erreichen, wird ASF alle UpdatePeriod
Stunden überprüfen, ob eine neue Aktualisierung in unserem GitHub Repository verfügbar ist. Ein Wert von 0
deaktiviert automatische Aktualisierungen, ermöglicht es aber dennoch, den Befehl update
manuell auszuführen. Sie könnten auch daran interessiert sein, den entsprechenden UpdateChannel
einzustellen, dem UpdatePeriod
folgen sollte.
Der Aktualisierungsprozess von ASF beinhaltet die Aktualisierung der gesamten Ordnerstruktur, die ASF verwendet, mit Aunsnahme der eigenen Konfigurationen (bzw. Datenbanken) im Verzeichnis config
– das bedeutet, dass alle zusätzlichen Dateien, die nicht mit ASF in seinem Verzeichnis zusammenhängen, während des Aktualisierungsvorgangs verloren gehen können. Der Standardwert 24
ist ein guter Kompromiss zwischen unnötigen Prüfungen und einem aktuellen ASF.
Wenn Sie keinen triftigen Grund haben, diese Funktion zu deaktivieren, sollten Sie die automatischen Aktualisierungen innerhalb einer angemessenen Zeitspanne von UpdatePeriod
aus eigenem Sie Interesse aktiviert lassen. Dies liegt nicht nur daran, dass wir ausschließlich die neueste stabile ASF-Version unterstützen, sondern auch, weil wir unsere Sicherheitsgarantie nur für die neueste Version geben. Wenn Sie eine veraltete ASF-Version verwenden, dann setzten Sie sich absichtlich allen möglichen Problemen aus- von kleinen Fehlern, über defekte Funktionen bis hin zu permanenten Steam-Kontosperren; also empfehlen wir dringend, um Ihren eigenen Vorteil immer sicherzustellen, dass die ASF-Version auf dem neuesten Stand ist. Automatische Aktualisierungen ermöglichen es uns, schnell auf alle möglichen Probleme zu reagieren, indem wir problematischen Quelltext deaktivieren oder beheben, bevor er eskalieren kann. Wenn Sie sich dagegen entscheiden, verlieren Sie sämtliche Sicherheitsgarantien und riskieren Konsequenzen durch das Ausführen von Code, der möglicherweise schädlich sein könnte (nicht nur für das Steam-Netzwerk, sondern auch -per Definition- für das eigene Steam-Konto).
Typ ushort
mit einem Standardwert 300
. Diese Variable definiert die minimale Verzögerung (in Millisekunden) zwischen dem Senden von zwei aufeinanderfolgenden Anfragen an denselben Steam-Webservice. Eine solche Verzögerung ist erforderlich, da der Dienst AkamaiGhost, den Steam intern nutzt, eine Geschwindigkeitsbegrenzung basierend auf der globalen Anzahl der über einen bestimmten Zeitraum gesendeten Anfragen beinhaltet. Unter normalen Umständen ist eine Blockierung des Akamai-Services ziemlich schwer zu erreichen, aber unter sehr hohen Arbeitslasten mit einer riesigen anhaltenden Warteschlange von Anfragen ist es möglich, diese auszulösen, wenn wir immer wieder zu viele Anfragen über einen zu kurzen Zeitraum senden.
Der Standardwert wurde unter der Annahme festgelegt, dass ASF das einzige Programm ist, das auf die Steam-Webdienste zugreift, insbesondere steamcommunity.com
, api.steampowered.com
und store.steampowered.com
. Wenn Sie andere Programme verwenden, die Anfragen an dieselben Webservices senden, dann sollten Sie sicherstellen, dass das Programm ähnliche Funktionen wie WebLimiterDelay
enthält und beide auf das Doppelte des Standardwerts setzen, was 600
wäre. Dies garantiert, dass unter keinen Umstand mehr als 1 Anfrage pro 300
ms gesendet wird.
Im Allgemeinen wird vom Herabsetzen des WebLimiterDelay
unter den Standardwert stark abgeraten, da es zu verschiedenen IP-bezogenen Sperren führen kann, von denen einige dauerhaft sein können. Der Standardwert ist gut genug, um eine einzelne ASF-Instanz auf dem Server auszuführen und ASF im Normalfall zusammen mit dem ursprünglichen Steam-Client zu verwenden. Es sollte für die Mehrzahl an Verwendungen korrekt sein, und Sie sollten es nur erhöhen (nie senken). Kurz gesagt, die globale Anzahl aller Anfragen, die von einer einzelnen IP an eine einzelne Steam-Domäne gesendet werden, sollte nie 1 Anfrage pro 300
ms überschreiten.
Wenn Sie keinen Grund haben diese Variable zu bearbeiten, sollte der Standardwert belassen werden.
Typ string
mit einem Standardwert null
. Diese Variable definiert eine Web-Proxy-Adresse, die für alle internen http/ https-Anfragen verwendet wird, die von ASFs HttpClient
gesendet werden, insbesondere für Dienste wie github.com
, steamcommunity.com
und store.steampowered.com
. Das Umleiten (über Proxy) von ASF-Anfragen im Allgemeinen hat keine Vorteile, aber es ist äußerst nützlich, um unterschiedlicher Weise von Firewalls zu umgehen, insbesondere die große Firewall von China.
Diese Variable ist als uri-Zeichenfolge definiert:
Ein URI-String besteht aus einem Schema (unterstützt: http/https/socks4/socks4a/socks5), einem Host und einem optionalen Port. Ein Beispiel für eine komplette uri-Zeichenkette wäre
"http://contoso.com:8080"
.
Wenn ein Proxy eine Benutzer-Authentifizierung erfordert, müssen auch WebProxyUsername
und/oder WebProxyPassword
eingerichtet sein. Besteht dafür jedoch kein Bedarf, so genügt die alleinige Einrichtung dieser Variable.
Im Moment verwendet ASF den Web-Proxy nur für http
und https
Anfragen, was nicht die interne Steam-Netzwerk-Kommunikation innerhalb des internen Steam-Clients von ASF beinhaltet. Es gibt derzeit keine Pläne dies zu unterstützen, hauptsächlich wegen der fehlenden SK2-Funktionalität. Wenn Sie es benötigen/ möchten, würde ich vorschlagen, von dort aus anzufangen.
Wenn Sie keinen Grund haben diese Variable zu bearbeiten, sollte der Standardwert belassen werden.
Typ string
mit einem Standardwert null
. Diese Variable definiert das Passwortfeld, das bei der Basis-, Digest-, NTLM- und Kerberos-Authentifizierung verwendet wird und von einem Ziel WebProxy
-Rechner mit Proxy-Funktionalität unterstützt wird. Wenn der Proxy keine Benutzer-Anmeldeinformationen benötigt, ist es nicht notwendig, hier etwas einzutragen. Die Verwendung dieser Option ist nur sinnvoll, wenn auch WebProxy
verwendet wird, da sie sonst keine Wirkung hat.
Wenn Sie keinen Grund haben diese Variable zu bearbeiten, sollte der Standardwert belassen werden.
Typ string
mit einem Standardwert null
. Diese Variable definiert das Feld (für den Benutzernamen), das bei der Basis-, Digest-, NTLM- und Kerberos-Authentifizierung verwendet wird und von einem WebProxy
-Rechner (Ziel) mit Proxy-Funktionalität unterstützt wird. Wenn der Proxy keine Benutzer-Anmeldeinformationen benötigt, ist es nicht notwendig, hier etwas einzutragen. Die Verwendung dieser Option ist nur sinnvoll, wenn auch WebProxy
verwendet wird, da sie sonst keine Wirkung hat.
Wenn Sie keinen Grund haben diese Eigenschaft zu bearbeiten, solltest der Standardwert belassen werden.
Wie Sie bereits wissen, sollte jeder Bot eine eigene Konfiguration haben, die auf der folgenden beispielhaften JSON-Struktur basiert. Fangen wir damit an den Bot zu benennen (z. B. 1.json
, main.json
, haupt.json
oder IrgendwasAnderes.json
), und beginnen Sie mit der Konfiguration.
Hinweis: Der Bot kann den Namen ASF
nicht haben (da dieses Schlüsselwort für die globale Konfiguration reserviert ist), ASF ignoriert auch alle Konfigurationsdateien, die mit einem Punkt beginnen.
Die Bot-Konfiguration hat folgende Struktur:
{
"AcceptGifts": false,
"BotBehaviour": 0,
"CompleteTypesToSend": [],
"CustomGamePlayedWhileFarming": null,
"CustomGamePlayedWhileIdle": null,
"Enabled": false,
"FarmingOrders": [],
"FarmingPreferences": 0,
"GamesPlayedWhileIdle": [],
"HoursUntilCardDrops": 3,
"LootableTypes": [1, 3, 5],
"MatchableTypes": [5],
"OnlineFlags": 0,
"OnlinePreferences": 0,
"OnlineStatus": 1,
"PasswordFormat": 0,
"RedeemingPreferences": 0,
"RemoteCommunication": 3,
"SendTradePeriod": 0,
"SteamLogin": null,
"SteamMasterClanID": 0,
"SteamParentalCode": null,
"SteamPassword": null,
"SteamTradeToken": null,
"SteamUserPermissions": {},
"TradeCheckPeriod": 60,
"TradingPreferences": 0,
"TransferableTypes": [1, 3, 5],
"UseLoginKeys": true,
"UserInterfaceMode": 0
}
Alle Optionen werden nachfolgend erklärt:
Typ bool
mit dem Standardwert false
. Wenn aktiviert, akzeptiert und löst ASF automatisch alle Steam-Geschenke (einschließlich Guthaben-Geschenkgutscheine), die an den Bot geschickt werden. Dazu gehören auch Geschenke, die von anderen Benutzern gesendet werden, die nicht in SteamUserPermissions
definiert sind. Bedenken Sie, dass Geschenke, die an die E-Mail-Adresse geschickt werden, nicht direkt an den Client weitergeleitet werden, sodass ASF diese ohne Ihre Hilfe nicht annehmen wird.
Diese Option wird nur für Alternativkonten empfohlen, da es sehr wahrscheinlich ist, dass Sie nicht automatisch alle Geschenke einlösen möchten, die an das Hauptkonto gesendet werden. Wenn Sie sich nicht sicher sind, ob Sie diese Funktion aktivieren möchten oder nicht, belassen Sie bitte den Standardwert false
.
Typ byte flags
mit dem Standardwert 0
. Diese Variable definiert das ASF-Bot-ähnliche Verhalten bei verschiedenen Ereignissen und ist wie folgt definiert:
Wert | Name | Beschreibung |
---|---|---|
0 | None | Kein spezielles Bot-Verhalten, der am wenigsten invasive Modus (Standard) |
1 | RejectInvalidFriendInvites | Führt dazu, dass ASF ungültige Freundschaftseinladungen ablehnt (anstatt sie zu ignorieren) |
2 | RejectInvalidTrades | Wird ASF dazu veranlassen, ungültige Handelsangebote abzulehnen (anstatt sie zu ignorieren) |
4 | RejectInvalidGroupInvites | Führt dazu, dass ASF ungültige Gruppeneinladungen ablehnt (anstatt sie zu ignorieren) |
8 | DismissInventoryNotifications | Veranlasst ASF dazu, alle Inventar-Benachrichtigungen automatisch zu entfernen |
16 | MarkReceivedMessagesAsRead | Führt dazu, dass ASF automatisch alle empfangenen Nachrichten als gelesen markiert |
32 | MarkBotMessagesAsRead | Bewirkt, dass ASF Nachrichten von anderen ASF-Bots automatisch als gelesen markiert (ausgeführt in derselben Instanz) |
Bitte bedenken Sie, dass diese Variable das Feld flags
ist, daher ist es möglich, eine beliebige Kombination von verfügbaren Werten auszuwählen. Schlagen Sie gerne JSON-Strukturierung nach, wenn Sie mehr erfahren möchten. Wenn keines der Flags aktiviert wird, wird die Option None
verwendet.
Im Allgemeinen möchten Sie diese Eigenschaft ändern, wenn Sie von ASF erwarten, dass ein bestimmter Grad an Automatisierung im Zusammenhang mit dessen Aktivität durchführt, wie es von einem Bot-Konto erwartet (aber nicht von einem primären Konto) wird, wenn ASF auf diesen zugreift. Daher ist die Änderung dieser Variable vor allem für Alternativ-Konten sinnvoll, obwohl Sie ausgewählte Optionen auch für Hauptkonten verwenden können.
Das normale (None
) ASF-Verhalten ist es, nur Dinge zu automatisieren, die der Benutzer wünscht (z. B. Karten sammeln oder SteamTradeMatcher
Angebote bearbeiten, sofern in TradingPreferences
eingestellt). Dies ist der am wenigsten eingreifende Modus, und es ist für die Mehrheit der Benutzer von Vorteil, da Sie damit die volle Kontrolle über Ihr Konto haben und selbst entscheiden, ob bestimmte Interaktionen außerhalb des Anwendungsbereichs zulässig sind oder nicht.
Eine ungültige Freundschaftseinladung ist eine Einladung, die nicht vom Benutzer mit FamilySharing
Berechtigung (definiert in SteamUserPermissions
) oder höher kommt. ASF ignoriert diese Einladungen im normalen Modus, wie Sie es erwarten würden, und gibt Ihnen die freie Wahl, ob Sie diese annehmen möchten. RejectInvalidFriendInvites
führt dazu, dass diese Einladungen automatisch abgelehnt werden, was die Option für andere Personen, Sie zu Ihrer Freundesliste hinzuzufügen, praktisch deaktiviert (da ASF alle diese Anfragen ablehnt, mit Ausnahme der in SteamUserPermissions
definierten Personen). Wenn Sie nicht alle Freundeseinladungen direkt ablehnen möchten, sollten Sie diese Option nicht aktivieren.
Ein ungültiges Handelsangebot ist ein Angebot, das nicht durch das eingebaute ASF-Modul angenommen wird. Mehr zu diesem Thema finden Sie im Abschnitt Handel, der explizit definiert, welche Arten von Handelsangeboten ASF bereit ist, automatisch zu akzeptieren. Gültige Handelsangebote werden auch durch andere Einstellungen definiert, insbesondere TradingPreferences
. RejectInvalidTrades
bewirkt, dass alle ungültigen Handelsangebote abgelehnt, anstatt ignoriert zu werden. Wenn Sie nicht alle Handelsangebote, die nicht automatisch von ASF angenommen werden, endgültig ablehnen möchten, sollten Sie diese Option nicht aktivieren.
Eine ungültige Gruppeneinladung ist eine Einladung, die nicht aus der Gruppe SteamMasterClanID
stammt. ASF ignoriert im normalen Modus diese Gruppeneinladungen, wie Sie es erwarten würden, und erlaubt es Ihnen selbst zu entscheiden, ob Sie einer bestimmten Steam-Gruppe beitreten möchten. RejectInvalidGroupInvites
führt dazu, dass alle diese Gruppeneinladungen automatisch abgelehnt werden, was es praktisch unmöglich macht, sich in irgendeine andere Gruppe als SteamMasterClanID
einzuladen. Wenn Sie nicht alle Gruppeneinladungen direkt ablehnen möchten, sollten Sie diese Option nicht aktivieren.
DismissInventoryNotifications
ist äußerst nützlich, wenn Sie sich an den Steam-Benachrichtigung über den Erhalt neuer Gegenstände stören. ASF kann die Benachrichtigung an sich nicht selbst löschen, da diese im Steam-Client integriert ist, aber es ist in der Lage, die Benachrichtigung nach Erhalt automatisch zu entfernen, was dazu führt, dass keine Benachrichtigung über „neue Gegenstände im Inventar“ mehr auftritt. Wenn Sie es bevorzugen alle erhaltenen Gegenstände selbst zu überprüfen (insbesondere Karten, die mit ASF gesammelt wurden), dann sollten Sie diese Option natürlich nicht aktivieren. Sollten Sie durch diese Einstellung unsicher sein – die Aktivierung ist optional.
MarkReceivedMessagesAsRead
markiert automatisch alle Nachrichten, die von dem Konto empfangen werden (egal ob von Gruppen oder Privat), auf dem ASF läuft. Dies sollte typischerweise nur von alternativen Konten verwendet werden, um Benachrichtigungen über „neue Nachrichten“ zu löschen, die z. B. von Ihnen während der Ausführung von ASF-Befehlen erscheinen. Wir empfehlen diese Option nicht für Hauptkonten, es sei denn, Sie möchten sich von jeder Art von Benachrichtigungen über neue Nachrichten befreien, einschließlich derjenigen, die während des Offline-Betriebs erschienen sind, vorausgesetzt, dass ASF immer noch offen gelassen wurde, als es sie ablehnte.
MarkBotMessagesAsRead
funktioniert in ähnlicher Weise, nur werden hier lediglich Bot-Nachrichten als gelesen markiert. Beachten Sie jedoch, dass die Steam-Implementierung beim verwenden dieser Option sowohl Gruppen-Chats mit den Bots und anderen Leuten bestätigt, als auch alle vorherigen Nachrichten. Wenn Sie also aus irgendeinem Grund keine unzusammenhängende Nachricht verpassen möchten, sollten Sie diese Funktion in der Regel vermeiden. Natürlich ist es ebenfalls riskant, wenn mehrere Primärkonten (z. B. von unterschiedlichen Nutzern) in derselben ASF-Instanz ausgeführt werden, besonders weil Sie die normalen Nachrichten (Steam-Benachrichtigungen abseits ASF) verpassen könnten.
Wenn Sie sich nicht sicher sind, wie Sie diese Option konfigurieren, können Sie den Standardwert belassen.
Typ ImmutableHashSet<byte>
mit einem leeren Standardwert. Wenn ASF mit dem vervollständigen eines (hier zuvor) bestimmten Sets von Gegenstandstypen fertig ist, kann es automatisch mit allen fertigen Sets an den Benutzer mit Berechtigung Master
senden. Das ist sehr praktisch, wenn Sie das angegebene Bot-Konto beispielsweise für einen STM-Abgleich verwenden möchten, während fertige Sets auf ein anderes Konto verschoben werden. Diese Option funktioniert genauso wie der loot
-Befehl. Beachten Sie deshalb, dass Sie einen Benutzer mit der Berechtigung Master
benötigen; vielleicht benötigen Sie außerdem einen gültigen SteamTradeToken
, sowie ein Konto, das überhaupt zum Handel zugelassen ist.
Momentan werden folgende Gegenstandsarten in dieser Einstellung unterstützt:
Wert | Name | Beschreibung |
---|---|---|
3 | FoilTradingCard | Glanz-Variante von TradingCard
|
5 | TradingCard | Steam-Sammelkarte, die für die Herstellung von Abzeichen (ohne Glanz) verwendet werden |
Bitte bedenken Sie, dass ASF unabhängig von den obigen Einstellungen nur nach Steam Community-Gegenständen (appID
von 753, contextID
von 6)-Gegenständen fragt, sodass alle Spiel-Gegenstände /-Geschenke und dergleichen per Definition aus dem Handelsangebot ausgeschlossen sind.
Aufgrund der zusätzlichen Mehrbelastung durch Verwendung dieser Option wird es empfohlen, diese Einstellung nur auf Bot-Konten zu verwenden, die eine realistische Chance haben, Sets selbst zu beenden. Es ergibt beispielsweise keinen Sinn, diese Variable zu aktivieren, wenn bereits SendOnFarmingFinished
in den FarmingPreferences
, SendTradePeriod
oder loot
auf üblicher Basis verwendet wird.
Wenn Sie sich nicht sicher sind, wie Sie diese Option konfigurieren, können Sie den Standardwert belassen.
Typ string
mit einem Standardwert null
. Wenn ASF sammelt, kann es sich als „Spielt ein Steam fremdes Spiel anzeigen: CustomGamePlayedWhileFarming
“, anstatt des aktuellen Spiels welches gesammelt wird. Dies kann nützlich sein, wenn Sie Ihre Freunde darüber informieren möchten, dass Sie am Sammeln sind, aber den OnlineStatus
nicht auf Offline
ändern möchten. Bitte bedenken Sie, dass ASF die tatsächliche Anzeige-Reihenfolge des Steam-Netzwerks nicht garantieren kann, daher ist dies nur ein Vorschlag, der richtig angezeigt werden kann oder auch nicht. Insbesondere der benutzerdefinierte Name wird im komplexen
Sammelalgorithmus nicht angezeigt, wenn ASF alle 32
Slots mit Spielen ausfüllt, die stundenlang bummeln müssen. Der Standardwert null
deaktiviert dieses Feature.
ASF bietet einige spezielle Variablen, die Sie optional in Ihrem Text verwenden können. {0}
wird durch die AppID
des derzeit gesammelten Spiele(s) von ASF ersetzt, während {1}
stattdessen den GameName
verwendet.
Typ string
mit einem Standardwert null
. Ähnlich wie CustomGamePlayedWhileFarming
, aber für die Situation, in der ASF nichts zu tun hat (da das Konto vollständig gesammelt wurde). Bitte bedenken Sie, dass ASF die tatsächliche Anzeige-Reihenfolge des Steam-Netzwerks nicht garantieren kann, daher ist dies nur ein Vorschlag, der richtig angezeigt werden kann oder auch nicht. Wenn Sie GamesPlayWhileIdle
zusammen mit dieser Option verwenden, bedenken Sie, dass GamesPlayWhileIdle
Priorität erhält, daher können Sie nicht mehr als 31
von ihnen angeben, da sonst CustomGamePlayedWhileIdle
nicht in der Lage sein wird, den Slot für den benutzerdefinierten Namen zu besetzen. Der Standardwert null
deaktiviert dieses Feature.
Typ bool
mit dem Standardwert false
. Diese Variable definiert, ob der Bot aktiviert ist. Eine aktivierte Bot-Instanz (true
) wird automatisch zusammen mit ASF gestartet, während eine deaktivierte Bot-Instanz (false
) manuell gestartet werden muss. Standardmäßig ist jeder Bot deaktiviert, sodass Sie diese Variable wahrscheinlich auf true
für alle Bots umschalten möchten, die automatisch gestartet werden sollen.
Typ ImmutableList<byte>
mit einem leeren Standardwert. Diese Eigenschaft definiert die bevorzugte Sammelreihenfolge für ein gegebenes Bot-Konto, welche ASF verwendet. Derzeit sind folgende Sammelreihenfolgen verfügbar:
Wert | Name | Beschreibung |
---|---|---|
0 | Unordered | Keine Sortierung, leichte Verbesserung der CPU-Leistung |
1 | AppIDsAscending | Versuche Spiele mit den niedrigsten AppIDs zuerst zu sammeln |
2 | AppIDsDescending | Versuche Spiele mit den höchsten AppIDs zuerst zu sammeln |
3 | CardDropsAscending | Versuchen Sie Spiele mit der niedrigsten Anzahl an verbleibenden Karten zuerst zu sammeln |
4 | CardDropsDescending | Versuchen Sie Spiele mit der höchsten Anzahl an verbleibenden Karten zuerst zu sammeln |
5 | HoursAscending | Versuche Spiele mit der niedrigsten Anzahl an gespielten Stunden zuerst zu sammeln |
6 | HoursDescending | Versuche Spiele mit der höchsten Anzahl an gespielten Stunden zuerst zu sammeln |
7 | NamesAscending | Versuche Spiele in alphabetischer Reihenfolge zu sammeln, beginnend mit A |
8 | NamesDescending | Versuche Spiele in umgekehrter alphabetischer Reihenfolge zu sammeln, beginnend mit Z |
9 | Random | Versuche Spiele in einer komplett zufälligen Reihenfolge zu sammeln (unterschiedlich bei jedem ausführen des Programms) |
10 | BadgeLevelsAscending | Versuche Spiele mit dem niedrigsten Abzeichen-Level zuerst zu sammeln |
11 | BadgeLevelsDescending | Versuche Spiele mit dem höchsten Abzeichen-Level zuerst zu sammeln |
12 | RedeemDateTimesAscending | Versuche die ältenen Spiele auf unserem Konto zuerst zu sammeln |
13 | RedeemDateTimesDescending | Versuche die neuesten Spiele auf unserem Konto zuerst zu sammeln |
14 | MarketableAscending | Versuche Spiele mit nicht marktfähigen Karten zuerst zu sammeln |
15 | MarketableDescending | Versuche Spiele mit marktfähigen Karten zuerst zu sammeln |
Da es sich bei dieser Variable um ein Array (Anordnung) (Anordnung) handelt, können mehrere verschiedene Einstellungen in einer festen Reihenfolge kombiniert werden. Beispielsweise indem Sie Werte von 15
, 11
und 7
einbeziehen; um zuerst nach marktfähigen Spielen, dann nach denen mit dem höchsten Abzeichen-Level, und schließlich alphabetisch zu sortieren. Wie Sie erraten können, dass Ihr die Reihenfolge ist tatsächlich entscheidend; umgekehrt (7
, 11
und 15
) erzielt ein komplett anderes Ergebnis. Wenn zuerst Spiele alphabetisch sortiert werden, dann macht dies die anderen beiden praktisch nutzlos (Spielnamen sind einzigartig). Die Mehrheit der Benutzer wird wahrscheinlich nur eine Reihenfolge aus den Möglichen wählen, aber falls gewünscht, können Sie auch weiter nach zusätzlichen Parametern sortieren.
Beachten Sie, dass das Wort „versuchen“ in allen obigen Beschreibungen vorkommt – die tatsächliche ASF-Reihenfolge wird stark vom ausgewählten Sammelkarten-Algorithmus beeinflusst und die Sortierung wirkt sich nur auf Ergebnisse aus, die ASF leistungsmäßig als gleichrangig betrachtet. Beispielsweise ist beim Algorithmus Simple
die ausgewählte FarmingOrders
in der aktuellen Sammel-Sitzung vollständig zu berücksichtigen, da jedes Spiel den gleichen Leistungswert hat; während der Algorythmus Complex
die tatsächliche Reihenfolge zuerst nach Stunden beeinflusst und erst dann nach der gewählten FarmingOrders
sortiert. Dies führt zu unterschiedlichen Ergebnissen, da Spiele mit vorhandener Spielzeit eine Priorität gegenüber anderen haben, sodass ASF effektiv Spiele bevorzugt, die bereits die erforderlichen HoursUntilCardDrops
durchlaufen haben. Erst dann werden diese Spiele nach der gewählten FarmingOrders
weiter sortiert. Genauso wenn ASF keine bereits angestoßenen Spiele mehr hat, wird die verbleibende Warteschlange zuerst nach Stunden sortiert (da dies die Zeit, die für das Anstoßen eines der verbleibenden Titel benötigt wird, auf HoursUntilCardDrops
verringert). Daher ist diese Konfigurationseigenschaft nur eine Empfehlung, die ASF zu respektieren versucht, solange dies die Leistung nicht negativ beeinflusst (in diesem Fall wird ASF immer die Sammel-Leistung gegenüber FarmingOrders
bevorzugen).
Es gibt auch eine priorisierte Sammel-Warteschlange, die über die iq
Befehle erreichbar ist. Bei Anwendung wird die tatsächliche Sammel-Reihenfolge zuerst nach Leistung, dann nach der Sammel-Warteschlange und schließlich gemäß Ihrer definierten FarmingOrders
sortiert.
Typ byte flags
mit dem Standardwert 0
. Diese Variable definiert das ASF-Sammelverhalten und ist wie folgt definiert:
Wert | Name |
---|---|
0 | None |
1 | FarmingPausedByDefault |
2 | ShutdownOnFarmingFinished |
4 | SendOnFarmingFinished |
8 | FarmPriorityQueueOnly |
16 | SkipRefundableGames |
32 | SkipUnplayedGames |
64 | EnableRiskyCardsDiscovery |
128 | AutoSteamSaleEvent |
256 | AutoUnpackBoosterPacks |
Bitte bedenken Sie, dass diese Variable ein Feld flags
ist, daher ist es möglich, eine beliebige Kombination von verfügbaren Werten auszuwählen. Schlagen Sie gerne JSON-Strukturierung nach, wenn Sie mehr erfahren möchten. Wenn keines der Flags aktiviert wird, wird die Option None
verwendet.
Alle Optionen sind unten beschrieben.
FarmingPausedByDefault
definiert den Ausgangszustand des Moduls CardsFarmer
. Normalerweise startet der Bot automatisch das Sammeln, sobald er (entweder wegen Enabled
oder dem Befehl start
) gestartet wird. Die Anwendung von FarmingPausedByDefault
sollte nur dann erfolgen, wenn Sie manuell den resume
-Befehl verwenden möchten, um den automatischen Sammel-Prozess fortzusetzen, z. B. weil Sie häufig play
nutzen und niemals automatisch das Modul CardsFarmer
verwenden möchten. Das funktioniert genau wie der pause
Befehl.
ShutdownOnFarmingFinished
ermöglicht es Ihnen, den Bot herunterzufahren, sobald der Sammelprozess abgeschlossen ist. Normalerweise ASF „belegt“ ein Konto für die gesamte Zeit des aktiven Prozesses. Wenn ein Konto mit dem Sammeln fertig ist, überprüft ASF regelmäßig (jede IdleFarmingPeriode
Stunden), ob in der Zwischenzeit vielleicht einige neue Spiele mit Steam-Karten hinzugefügt wurden, damit es das Sammeln dieses Kontos fortsetzen kann, ohne den Prozess neu starten zu müssen. Dies ist für die Mehrheit der Menschen nützlich, da ASF bei Bedarf automatisch das Sammeln wieder aufnehmen kann. Jedoch könnten Sie den Prozess tatsächlich stoppen wollen, wenn das angegebene Konto vollständig gesammelt wurde. Sie können das erreichen, indem Sie diese Variable verwenden. Wenn aktiviert, fährt ASF mit der Abmeldung fort, wenn das Konto vollständig gesammelt ist, was bedeutet, dass es nicht mehr regelmäßig überprüft oder belegt wird. Sie sollten selbst entscheiden, ob ASF die ganze Zeit an einer bestimmten Bot-Instanz arbeitet, oder sogar stoppen sollte, wenn der Sammelprozess abgeschlossen ist.
This option makes the most sense to be combined with ShutdownIfPossible
, so when all accounts are stopped, ASF will shutdown as well, putting your machine at rest and allowing you to schedule other actions, such as sleep or shutdown at the same moment of last card dropping.
SendOnFarmingFinished
erlaubt es Ihnen, automatisch ein Steam-Handelsangebot mit allem, was bis zu diesem Punkt gesammelt wurde, an den Benutzer mit der Berechtigung Master
zu senden. Dies ist sehr praktisch, falls Sie sich nicht selbst mit den Handelsangeboten beschäftigen möchten. Diese Option funktioniert genauso wie der loot
-Befehl. Beachten Sie deshalb, dass Sie einen Benutzer mit der Berechtigung Master
benötigen; möglicherweise benötigen Sie zusätzlich einen gültigen SteamTradeToken
, sowie ein Konto, das überhaupt zum Handel zugelassen ist. Zusätzlich zum Einleiten von loot
nach Beendigung des Sammelns initiiert ASF auch loot
bei jeder Benachrichtigung über neue Gegenstände (wenn nicht am Sammeln) und nach Abschluss jedes Handelsangebotes, der zu neuen Gegenständen führt (immer), wenn diese Option aktiv ist. Dies ist besonders nützlich, um erhaltene Gegenstände von anderen Personen an unser Konto „weiterzuleiten“. Normalerweise sollten Sie ASF-2FA zusammen mit dieser Funktion verwenden; obwohl es keine Voraussetzung ist, wenn Sie beabsichtigen, die 2FA Bestätigung manuell und rechtzeitig durchzuführen.
FarmPriorityQueueOnly
legt fest, ob ASF für das automatische Sammeln nur Anwendungen berücksichtigen soll, die Sie selbst mit iq
-Befehlen zur priorisierten Sammel-Warteschlange hinzugefügt haben. Wenn diese Option aktiviert ist, überspringt ASF alle appIDs
, die auf der Liste fehlen, was es effektiv ermöglicht, Spiele für das automatische ASF-Sammeln gezielt auszuwählen. Bedenken Sie, dass ASF für das Konto untätig bleibt, solange Sie keine Spiele zur Warteschlange hinzugefügen.
SkipRefundableGames
legt fest, ob ASF Spiele überspringen soll, die ohne den Sammelprozess noch erstattet werden können. Rückerstattungsfähige Spiele sind jene, die Sie gemäß den Steam-Rückerstattungsrichtlinien in den vergangenen 2 Wochen über den Steam-Shop gekauft und welches Sie (bzw.ASF) bislang nicht länger als 2 Stunden gespielt haben. Standardmäßig ignoriert ASF die Steam-Erstattungsrichtlinie vollständig und sammelt alles, was die meisten Anwender erwarten. Sie können diese Option jedoch verwenden, wenn Sie sicherstellen möchten, dass ASF keines Ihrer erstattungsfähigen Spiele zu früh sammelt, sodass Sie diese Spiele selbst bewerten und bei Bedarf zurückerstatten können, ohne Sorge, dass ASF die Spielzeit negativ beeinflusst. Wenn Sie diese Option aktivieren, werden Spiele, welche Sie im Steam-Shop gekauft haben, bis zu 14 Tage nach dem Einlösedatum von ASF ignoriert, da diese als nicht sammelbar angezeigt werden, wenn das Konto nichts anderes besitzt.
SkipUnplayedGames
legt fest, ob ASF Spiele überspringen soll, die Sie bislang nicht gestartet haben. »Ungespieltes Spiel« bedeutet in diesem Kontext, dass keine Spielzeit für dieses Spiel auf Steam aufgezeichnet wurde. Wenn Sie diesen Schalter verwenden, werden diese Spiele übersprungen, bis Steam eine beliebige Spielzeit registriert. Dies gibt Ihnen eine bessere Kontrolle darüber, welche Spiele ASF sammeln darf, und überspringt jene, die Sie bislang nicht ausprobieren konnten, womit ausgewählte Steam-Funktionen nützlicher bleiben – etwa ungespielte Spiele zum Spielen vorzuschlagen.
EnableRiskyCardsDiscovery
aktiviert ein zusätzliches Reservesystem, das auslöst, sobald ASF nicht in der Lage ist, eine oder mehrere Abzeichenseiten zu laden und daher keine für das Sammeln verfügbare Spiele zu findet. Insbesondere Konten mit einer gewaltigen Anzahl an Kartenfunden führen mitunter dazu, dass das Laden von Abzeichenseiten (aufgrund der Überlastung) nicht mehr möglich ist, und diese Konten unmöglich Sammeln können, einfach weil es uns nicht möglich ist auf die Informationen (auf deren Grundlage wir den Prozess beginnen) zuzugreifen. In solchen Situationen erlaubt diese Option die Verwendung eines alternativen Algorithmus; es wird (in Kombination mit herstellbaren Booster-Packs, und dem Konto zur Verfügung stehenden Booster-Packs) nach potenziell verfügbaren Spielen zum Sammeln gesucht. Anschließend eine übermäßige Menge an Ressourcen für die Überprüfung und das Abrufen der benötigten Informationen aufgewendet; schließlich versucht der oben genannte Algorythmus, den Sammelprozess auf Basis der begrenzten Datenmenge und Informationen zu starten, um schließlich einen Zustand zu erreichen, an dem die Abzeichenseite lädt und wir in der Lage sind, den normalen Ansatz zu verwenden. Bitte beachten Sie, dass ASF bei Verwendung dieses Reservesystems nur mit beschränkten Daten arbeitet. Daher ist es völlig normal, dass ASF viel weniger Erträge findet als in der Realität – andere Funde werden zu einem späteren Zeitpunkt während des Sammelprozesses gefunden werden.
Diese Option wird aus einem sehr guten Grund als „riskant“ bezeichnet – sie ist extrem langsam und erfordert eine beträchtliche Menge an Ressourcen (einschließlich Netzwerkanfragen) für den Betrieb. Es ist daher nicht empfohlen dies zu aktivieren, und besonders langfristig. Sie sollten diese Option nur verwenden, wenn Sie zuvor festgestellt haben, dass Ihr Konto nicht in der Lage ist, Abzeichen-Seiten zu laden, sodass es ASF nie gelingt (notwendige Informationen zu laden) den Prozess zu starten. Auch wenn wir unser Bestes gegeben haben, um den Prozess so weit wie möglich zu optimieren; es ist immer noch möglich, dass diese Option nach zurückschlägt. Es kann zu unerwünschten Ergebnissen führen, wie temporäre oder vielleicht sogar permanente Sperren seitens Steam; aufgrund zu vieler Anfragen und einer möglichen Überlastung der Steam-Server. Deshalb warnen wir Sie im Voraus und bieten diese Option ohne jegliche Garantie. Die Nutzung erfolgt auf eigene Gefahr.
AutoSteamSaleEvent
erlaubt Ihnen während des Steam-Sommer/Winter-Sale-Events täglich zusätzliche Karten aus der Entdeckungsliste zu beziehen. Wenn diese Option aktiviert ist, überprüft ASF automatisch die Steam Entdeckungsliste alle 8
Stunden (beginnend bei einer Stunde seit Programmstart) und durchläuft sie bei Bedarf. Diese Option wird nicht empfohlen, wenn Sie diese Aktion selbst durchführen möchten, und normalerweise ist dies nur bei Bot-Konten sinnvoll. Bitte bedenken Sie, dass wir aufgrund von ständigen Problemen, Änderungen und Fehler durch Valve keine Garantie geben, ob diese Funktion ordnungsgemäß funktioniert. Daher ist es durchaus möglich, dass diese Option überhaupt nicht funktioniert. Wir akzeptieren keine Fehlermeldungen, geschweige denn Unterstützungsanfragen für diese Option. Es wird ohne jegliche Garantie angeboten, die Nutzung erfolgt auf eigene Gefahr.
AutoUnpackBoosterPacks
will automatically unpack all booster packs upon receiving new items notification. This will allow you to immediately acquire additional card drops, which might be wanted scenario especially in combination with other options (e.g. SteamTradeMatcher
or CompleteTypesToSend
).
Typ ImmutableHashSet<uint>
mit einem leeren Standardwert. Wenn ASF nichts zu sammeln hat, kann es stattdessen Ihre angegebenen Steam-Spiele (AppIDs
) spielen. Das Spielen von Spielen auf diese Weise erhöht lediglich die „gesamte Spielzeit“ dieser Spiele. Damit diese Funktion richtig funktioniert, muss das Steam-Konto eine gültige Lizenz für alle AppIDs
besitzen, die Sie angegeben haben; dies schließt auch F2P-Spiele mit ein. Dieses Feature kann gleichzeitig mit CustomGamePlayedWhileIdle
aktiviert werden, um die ausgewählten Spiele zu spielen, während der benutzerdefinierte Status im Steam-Netzwerk angezeigt wird. In diesem Fall, wie in CustomGamePlayedWhileFarming
, ist die tatsächliche Anzeige-Reihenfolge jedoch nicht garantiert. Bitte beachten Sie, dass Steam insgesamt ASF nur bis zu 32
AppIDs
insgesamt spielen lässt, daher können nur so viele Spiele in diese Variable eingetragen werden.
Typ byte
mit einem Standardwert 3
. Diese Eigenschaft legt fest, ob das Konto eingeschränkt ist (und falls ja, für wie viele Anfangsstunden). Eingeschränkte Kartefunde bedeuten, dass das Konto keine Karten von einem bestimmten Spiel erhält, bis das Spiel mindestens HoursUntilCardDrops
Stunden lang gespielt wurde. Leider gibt es keinen magischen Weg, das zu erkennen, also verlässt sich ASF auf Sie. Diese Variable wirkt sich auf den Karten-Sammel-Algorithmus aus, der verwendet wird. Wenn diese Variable richtig eingestellt ist, wird der Gewinn maximiert und die benötigte Zeit für die Abarbeitung der Karten minimiert. Bedenken Sie, dass es keine offensichtliche Antwort gibt, welchen Wert Sie verwenden sollten, da es völlig vom entsprechenden Konto abhängt. Es scheint, dass ältere Konten, die nie um Rückerstattung gebeten haben, unbeschränkte Kartenfunde haben. Folglich sollten Sie einen Wert von 0
verwenden; während neue Konten und diejenigen, die um Rückerstattung gebeten haben, beschränkte Kartenfunde mit einem Wert von 3
haben. Dies ist jedoch nur eine Theorie und sollte nicht als Tatsache betrachtet werden. Der Standardwert für diese Variable wurde basierend auf dem „kleineren Übel“ und der Mehrheit der Anwendungsfälle festgelegt.
Typ ImmutableHashSet<byte>
mit dem Standardwert 1, 3, 5
als Steam-Gegenstandstyp. Diese Eigenschaft definiert das ASF-Verhalten beim Plündern – sowohl manuell, durch Verwendung eines Befehls, als auch automatisch über eine oder mehrere Konfigurationseigenschaften. ASF wird sicherstellen, dass nur Gegenstände von LootableTypes
in ein Handelsangebot aufgenommen werden, daher können Sie mit dieser Variable wählen, was Sie in einem Handelsangebot erhalten möchten, das an Sie gesendet wird.
Wert | Name | Beschreibung |
---|---|---|
0 | Unknown | Jeder Typ, der nicht in eine der folgenden Kategorien passt |
1 | BoosterPack | Booster Pack mit 3 zufälligen Karten aus einem Spiel |
2 | Emoticon | Emoticon zur Verwendung im Steam-Chat |
3 | FoilTradingCard | Folienvariante von TradingCard
|
4 | ProfileBackground | Profilhintergrund zur Verwendung im Steam-Profil |
5 | TradingCard | Steam-Karte, die für die Herstellung von Abzeichen (Nicht-Folie) verwendet werden |
6 | SteamGems | Steam-Edelsteine, die für die Herstellung von Booster Packs verwendet werden, inklusive Säcke |
7 | SaleItem | Spezialgegenstände, die während des Steam-Sales vergeben werden |
8 | Consumable | Spezielle Verbrauchsgegenstände, die nach dem Gebrauch wieder verschwinden |
9 | ProfileModifier | Spezialgegenstände, welche das Aussehen des Steam-Profils verändern können |
10 | Sticker | Spezialgegenstände, welche im Steam-Chat verwendet werden |
11 | ChatEffect | Spezialgegenstände, welche im Steam-Chat verwendet werden können |
12 | MiniProfilhintergrund | Besonderer Hintergrund für das Steam-Profil |
13 | AvatarProfileFrame | Besonderer Avatarrahmen für das Steam-Profil |
14 | AnimatedAvatar | Besonders animierter Avatar für das Steam-Profil |
15 | KeyboardSkin | Spezieller Tastatur-Skin für das Steam Deck |
16 | StartupVideo | Spezielles Start-Video für das Steam Deck |
Bitte bedenken Sie, dass ASF unabhängig von den obigen Einstellungen nur nach Steam Community-Gegenständen (appID
von 753, contextID
von 6)-Gegenständen fragt, sodass alle Spiel-Gegenstände /-Geschenke und dergleichen per Definition aus dem Handelsangebot ausgeschlossen sind.
Die Standard-ASF-Einstellung basiert auf der gebräuchlichsten Verwendung des Bots, wobei nur Boosterpacks und handelbare Sammelkarten (einschließlich Glanzkarten) geöffnet werden. Die hier definierte Variable ermöglicht es Ihnen, dieses Verhalten so zu verändern, dass es Sie zufrieden stellt. Bitte bedenken Sie, dass alle nicht oben definierten Typen als Unknown
angezeigt werden, was besonders wichtig ist, wenn Valve einen neuen Steam-Gegenstand veröffentlicht, der ebenfalls von ASF als Unknown
markiert wird, bis er hier (in einer zukünftigen Version) hinzugefügt wird. Deshalb ist es im Allgemeinen nicht empfehlenswert, Unknown
in Ihren LootableTypes
einzugeben, es sei denn, Sie wissen genau, was Sie tun und verstehen auch, dass ASF das gesamtes Inventar in einem Handelsangebot versenden wird, wenn das Steam-Netzwerk wieder unterbrochen wird und alle Ihre Gegenstände als Unknown
meldet. Mein nachdrücklicher Vorschlag ist, Unknown
nicht in das Feld LootableTypes
einzutragen, selbst wenn Sie alles übertragen möchten.
Typ ImmutableHashSet<byte>
mit dem Standardwert 5
als Steam-Gegenstandstyp. Diese Variable definiert, welche Steam Gegenstandstypen zusammengestellt werden dürfen, wenn die Option SteamTradeMatcher
in TradingPreferences
aktiviert ist. Die Arten sind wie folgt definiert:
Wert | Name | Beschreibung |
---|---|---|
0 | Unknown | Jeder Typ, der nicht in eine der folgenden Kategorien passt |
1 | BoosterPack | Booster Pack mit 3 zufälligen Karten aus einem Spiel |
2 | Emoticon | Emoticon zur Verwendung im Steam-Chat |
3 | FoilTradingCard | Glanz-Variante von TradingCard
|
4 | ProfileBackground | Profilhintergrund zur Verwendung im Steam-Profil |
5 | TradingCard | Steam-Sammel-Karte, die für die Herstellung von Abzeichen (Nicht-Glanz) verwendet werden |
6 | SteamGems | Steam-Edelsteine, die für die Herstellung von Booster Packs verwendet werden, inklusive Edelsteinsäcke |
7 | SaleItem | Spezialgegenstände, die während des Steam-Sales vergeben werden |
8 | Consumable | Spezielle Verbrauchsgegenstände, die nach dem Gebrauch wieder verschwinden |
9 | ProfileModifier | Spezialgegenstände, welche das Aussehen des Steam-Profils verändern können |
10 | Aufkleber | Spezialgegenstände, welche im Steam-Chat verwendet werden können |
11 | ChatEffect | Spezialgegenstände, welche im Steam-Chat verwendet werden |
12 | MiniProfilhintergrund | Besonderer Hintergrund für Steam Profile |
13 | AvatarProfileFrame | Besonderer Avatarrahmen für das Steam-Profil |
14 | AnimatedAvatar | Besonders animierter Avatar für das Steam-Profil |
15 | KeyboardSkin | Spezieller Tastatur-Skin für das Steam Deck |
16 | StartupVideo | Spezielle Start-Animation für das Steam Deck |
Natürlich beinhalten die Typen, die Sie für diese Variable verwenden sollten, typischerweise nur 2
, 3
, 4
und 5
, da nur diese Typen von STM unterstützt werden. ASF beinhaltet die passende Logik, um die Seltenheit der Gegenstände zu ermitteln, daher ist es auch sicher, Emoticons oder Hintergründe zu vergleichen, da ASF nur die Gegenstände aus dem gleichen Spiel und Typ, die auch die gleiche Seltenheit aufweisen, als fair erachten wird.
Bitte bedenken Sie, dass ASF kein Handelsbot ist und sich NICHT um den Marktpreis schert.. Wenn Sie Gegenstände der gleichen Seltenheit aus dem gleichen Set nicht als preislich gleichwertig betrachten, dann ist diese Option NICHT in Ihrem Sinne. Bitte überlegen Sie sich zweimal, ob Sie diese Erklärung verstehen und damit einverstanden sind, bevor Sie diese Einstellung ändern.
Wenn Sie nicht wissen, was Sie tun, sollten Sie den Standardwert bei 5
belassen.
Typ ushort flags
mit dem Standardwert 0
. Diese Eigenschaft funktioniert als Ergänzung zu OnlineStatus
und gibt zusätzliche Online-Präsenzfunktionen an, die im Steam Netzwerk angekündigt wurden. Erfordert, dass OnlineStatus
nicht Offline
ist und ist wie unten definiert:
Wert | Name | Beschreibung |
---|---|---|
0 | None | Keine speziellen Online-Präsenz-Flags, Standard |
256 | ClientTypeWeb | Client verwendet Webschnittstelle |
512 | ClientTypeMobile | Client verwendet mobile App |
1024 | ClientTypeTenfoot | Der Kunde benutzt den BigPicture-Modus |
2048 | ClientTypeVR | Client verwendet ein VR-Headset |
Bitte bedenken Sie, dass diese Variable das Feld flags
ist, daher ist es möglich, eine beliebige Kombination von verfügbaren Werten auszuwählen. Schlagen Sie gerne JSON-Strukturierung nach, wenn Sie mehr erfahren möchten. Wenn keines der Flags aktiviert ist, wird die Option None
verwendet.
Das zugrunde liegende EPersonaStateFlag
Typ, auf dem diese Eigenschaft basiert, enthält mehr verfügbare Flags. Doch nach bestem Wissen haben sie ab heute überhaupt keine Wirkung; deshalb wurden sie wegen Ihrer Sichtbarkeit abgeschnitten.
Belassen Sie den Standardwert 0
, wenn Sie sich nicht sicher sind, wie Sie diese Eigenschaft einstellen sollen.
Typ byte flags
mit dem Standardwert 0
. This property can enable some additional online features on the Steam platform, and is defined as below:
Wert | Name | Beschreibung |
---|---|---|
0 | None | No special online preferences, default |
1 | IsSteamDeck | Present itself as Steam Deck |
Bitte bedenken Sie, dass diese Variable das Feld flags
ist; daher ist es möglich, eine beliebige Kombination von verfügbaren Werten auszuwählen. Schlagen Sie gerne JSON-Strukturierung nach, wenn Sie mehr erfahren möchten. Wenn keines der Flags aktiviert wird, wird die Option None
verwendet.
Belassen Sie den Standardwert 0
, wenn Sie sich nicht sicher sind, wie Sie diese Eigenschaft einstellen sollen.
Typ byte
mit einem Standardwert 1
. Diese Variable gibt den Status der Steam-Community an, mit dem der Bot nach der Anmeldung im Steam-Netzwerk angekündigt wird. Derzeit können Sie einen der folgenden Status wählen:
Wert | Name |
---|---|
0 | Offline |
1 | Online |
2 | Busy |
3 | Away |
4 | Snooze |
5 | LookingToTrade |
6 | LookingToPlay |
7 | Invisible |
Offline
Status ist extrem nützlich für primäre Konten. Wie Sie wissen sollten, zeigt das Sammeln eines Spiels tatsächlich den Steam-Status als „Spielt: XXX“ an, was für Freunde irreführend sein kann und sie verwirrt, dass Sie ein Spiel spielen, während eigentlich nur gesammelt wird. Die Verwendung des Offline
-Status löst dieses Problem. Das Konto wird nie als „im Spiel“ angezeigt, wenn Sie Steam-Karten mit ASF sammeln. Dies ist dank der Tatsache möglich, dass sich ASF nicht in die Steam-Community anmelden muss, um richtig zu funktionieren. Also spielen wir tatsächlich diese Spiele, sind mit dem Steam-Netzwerk verbunden, aber ohne unsere Online-Präsenz überhaupt bekannt zu geben. Bedenken Sie, dass gespielte Spiele im Offline-Status immer noch auf die gesamte Spielzeit zählen und in dem Profil als „kürzlich gespielt“ angezeigt werden.
Darüber hinaus ist diese Funktion auch wichtig, wenn Sie Benachrichtigungen und ungelesene Nachrichten erhalten möchten, während ASF läuft, ohne den Steam-Client gleichzeitig geöffnet zu lassen. Dies liegt daran, dass ASF selbst als Steam-Client fungiert, und ob ASF es möchte oder nicht, Steam sendet all diese Nachrichten (und andere Ereignisse) an ihn. Dies ist kein Problem, wenn Sie sowohl ASF , als auch den eigenen Steam-Client ausführen, da beide Clients genau die gleichen Ereignisse empfangen. Wenn jedoch nur ASF läuft, könnte das Steam-Netzwerk bestimmte Ereignisse und Nachrichten als „zugestellt“ markieren, obwohl der herkömmliche Steam-Client diese nicht erhält, weil er nicht anwesend ist. Der Offline-Status löst auch dieses Problem, da ASF in diesem Fall nie für Community-Events in Betracht gezogen wird, sodass alle ungelesenen Nachrichten und andere Ereignisse bei Ihrer Rückkehr ordnungsgemäß als ungelesen markiert werden.
Es ist wichtig zu beachten, dass ASF, welches im Offline
Modus läuft, nicht in der Lage sein wird, Befehle auf herkömmliche Weise im Steam-Chat zu empfangen, da der Chat sowie die gesamte Community-Präsenz in der Tat völlig offline ist. Eine Lösung für dieses Problem ist die Verwendung des Modus Invisible
, der auf ähnliche Weise funktioniert (den Status verbergen), aber dennoch die Fähigkeit behält, Nachrichten zu empfangen und zu beantworten (also auch das Potenzial, Benachrichtigungen und ungelesene Nachrichten wie oben erläutert zu verwerfen). Der Modus Invisible
ist am sinnvollsten bei Alternativ-Konten, die statusmäßig unsichtbar bleiben sollen, aber trotzdem in der Lage sind, Befehle zu senden.
Es gibt jedoch einen Haken beim Invisible
Modus – er funktioniert nicht gut mit primären Konten. Dies liegt daran, dass jede Steam-Sitzung, die derzeit online ist, den Status anzeigt, auch wenn ASF selbst es nicht tut. Dies wird durch Begrenzung/Fehler des Steam-Netzwerks verursacht, die seitens ASF-Seite nicht behoben werden können, sodass Sie, wenn Sie den Invisible
-Modus verwenden möchten, auch sicherstellen müssen, dass alle andere Sitzungen zum gleichen Konto auch den Invisible
-Modus verwenden. Dies trifft auf Alternativ-Konten zu, bei denen ASF hoffentlich die einzige aktive Sitzung ist, aber bei primären Konten werden Sie es fast immer vorziehen, sich Ihren Freunden als Online
anzuzeigen, indem nur die Aktivität von ASF versteckt wird, und in diesem Fall wird der Invisible
-Modus für Sie völlig nutzlos sein (wir empfehlen, stattdessen den Offline
-Modus zu verwenden). Hoffentlich wird diese Beschränkung/Fehler in Zukunft von Valve behoben, aber ich würde nicht erwarten, dass dies zeitnah passieren wird...
Wenn Sie sich nicht sicher sind, wie Sie diese Variable einrichten sollen, wird empfohlen, einen Wert von 0
(Offline
) für primäre Konten und den Standard 1
(Online
) anderweitig zu verwenden.
Typ byte
mit dem Standardwert 0
(PlainText
). Diese Eigenschaft definiert das Format der Variable SteamPassword
und unterstützt derzeit die im Abschnitt Sicherheit angegebenen Werte. Sie sollten den dort angegebenen Anweisungen folgen, da Sie sicherstellen müssen, dass die Eigenschaft SteamPassword
tatsächlich das Passwort im übereinstimmenden PasswordFormat
enthält. Mit anderen Worten: wenn Sie PasswordFormat
ändern, dann sollte das SteamPassword
bereits in diesem Format sein, und nicht nur darauf abzielen, zu existieren. Wenn Sie nicht wissen, was Sie tun, sollten der Standardwert bei 0
belassen werden.
Wenn Sie das PasswordFormat
eines Bots ändern, der sich mindestens einmal im Steam Netzwerk eingeloggt hat, ist es möglich, dass Sie beim nächsten Start des Bots einen einmaligen Entschlüsselungsfehler erhalten; dies ist darauf zurückzuführen, dass PasswordFormat
auch für die automatische Verschlüsselung/Entschlüsselung sensibler Eigenschaften in der Datenbankdatei Bot.db
verwendet wird. Sie können diesen Fehler gefahrlos ignorieren, da ASF sich allein von dieser Situation erholen kann. Wenn dies jedoch konstant erfolgt, z. B. bei jedem Neustart, sollte es untersucht werden.
Typ byte flags
mit dem Standardwert 0
. Diese Variable definiert das ASF-Verhalten beim aktivieren von Produktschlüsseln und ist wie folgt definiert:
Wert | Name | Beschreibung |
---|---|---|
0 | None | Keine speziellen Einlöse-Einstellungen, Standard |
1 | Forwarding | Leite Produktschlüssel, die nicht zum Einlösen verfügbar sind, zu anderen Bots weiter |
2 | Distributing | Verteile alle Produktschlüssel auf sich und andere Bots |
4 | KeepMissingGames | Bewahre Produktschlüssel für (potenziell) fehlende Spiele beim Weiterleiten auf und lassen Sie ungenutzt |
8 | AssumeWalletKeyOnBadActivationCode | Versucht Keys als Guthaben-Codes einzulösen, da angenommen wird, dass BadActivationCode -Schlüssel mit CannotRedeemCodeFromClient identisch sind. |
Bitte bedenken Sie, dass diese Variable das Feld flags
ist, daher ist es möglich, eine beliebige Kombination von verfügbaren Werten auszuwählen. Schlagen Sie gerne JSON-Strukturierung nach, wenn Sie mehr erfahren möchten. Wenn keines der Flags aktiviert wird, wird die Option None
verwendet.
Forwarding
veranlasst den Bot, einen Produktschlüssel, der nicht eingelöst werden konnte, an einen anderen verbundenen und angemeldeten Bot weiterzuleiten, dem dieses bestimmte Spiel fehlt (wenn es möglich ist, dies zu überprüfen). Die häufigste Situation ist die Weiterleitung von AlreadyPurchased
Spiel an einen anderen Bot, dem dieses Spiel fehlt, aber diese Option deckt auch andere Szenarien ab, etwa DoesNotOwnRequiredApp
, RateLimited
oder RestrictedCountry
.
Distributing
veranlasst den Bot, alle empfangenen Produktschlüssel unter sich und anderen Bots zu verteilen. Das bedeutet, dass jeder Bot einen einzigen Produktschlüssel aus der Charge erhält. Normalerweise wird dies nur verwendet, wenn Sie viele Produktschlüssel für das gleiche Spiel einlösen und diese gleichmäßig auf Ihre Bots verteilen möchten; im Gegensatz zum Einlösen von Produktschlüsseln für verschiedene Spiele. Diese Funktion ist nicht sinnvoll, wenn Sie nur einen Produktschlüssel in einer einzigen redeem
Aktion einlösen (da es keine zusätzlichen Produktschlüssel gibt, die verteilt werden müssen).
KeepMissingGames
veranlasst den Bot, Forwarding
zu überspringen, wenn wir nicht sicher sein können, ob der Produktschlüssel, der eingelöst wird, tatsächlich unserem Bot gehört oder nicht. Dies bedeutet im Grunde, dass Forwarding
nur für AlreadyPurchased
Produktschlüssel gilt, anstatt auch andere Fälle wie DoesNotOwnRequiredApp
, RateLimited
oder RestrictedCountry
zu behandeln. Normalerweise sollten Sie diese Option für das primäre Konto verwenden, um sicherzustellen, dass Produktschlüssel, die auf dem primären Konto eingelöst werden, nicht weitergereicht werden, wenn ein Bot beispielsweise vorübergehend RateLimited
ist. Wie Sie der Beschreibung entnehmen können, hat dieses Feld absolut keine Wirkung, wenn Forwarding
nicht aktiviert ist.
AssumeWalletKeyOnBadActivationCode
wird BadActivationCode
Schlüssel als CannotRedeemCodeFromClient
behandeln, und führt somit dazu, dass ASF versucht, diese als Guthaben-Schlüssel einzulösen. Dies ist notwendig, da Steam möglicherweise Guthaben-Codes als BadActivationCode
ankündigen könnte (und nicht CannotRedeemCodeFromClient
, wie es zuvor war). Dies führt dazu, dass ASF nie versucht, diese einzulösen. Allerdings raten wir von gegen dieser Präferenz ab, da es dazu führen wird, dass ASF versucht, jeden ungültigen Schlüssel als Guthaben-Code einzulösen, was widerum zu einer übermäßigen Anzahl (potenziell ungültiger) Anfragen an den Steam-Service (mit allen möglichen Folgen) führt. Stattdessen empfehlen wir den Modus ForceAssumeWalletKey
redeem^
, während bewusst Wallet-Schlüssel eingelöst werden, die die benötigte Problemumgehung nur dann aktiviert, wenn sie je nach Bedarf erforderlich ist.
Wenn Sie sowohl Forwarding
, als auch Distributing
aktivieren, wird zusätzlich zur Weiterleitung eine Verteilungsfunktion hinzugefügt, wodurch ASF versucht, einen Produktschlüssel auf allen Bots zuerst einzulösen (Weiterleitung), bevor es zum nächsten geht (Verteilung). Normalerweise möchten Sie diese Option nur verwenden, wenn Sie Forwarding
möchten, aber mit geändertem Verhalten beim Einschalten des verwendeten Bots für Produktschlüssel, anstatt immer mit jedem Produktschlüssel in Reihenfolge zu gehen (das wäre Forwarding
allein). Dieses Verhalten kann von Vorteil sein, wenn Sie wissen, dass die Mehrheit oder sogar alle Produktschlüssel an das gleiche Spiel gebunden sind. In dieser Situation würde Forwarding
allein versuchen, alles auf einem Bot einzulösen (was Sinn macht, wenn die Produktschlüssel für einzigartige Spiele wären); und Forwarding
+ Distributing
schaltet den Bot auf den nächsten Produktschlüssel um, „verteilt“ die Aufgabe, einen neuen Produktschlüssel auf einen anderen – als den ursprünglichen – einzulösen (was sinnvoll ist, wenn die Produktschlüssel für das gleiche Spiel sind, überspringt einen sinnlosen Versuch pro Produktschlüssel).
Die tatsächliche Reihenfolge der Bots für alle Einlöseszenarien ist alphabetisch, mit Ausnahme von Bots, die nicht verfügbar sind (nicht verbunden, gestoppt oder ähnliches). Bitte bedenken Sie, dass es ein stündliches Limit für Einlösungsversuche pro IP und pro Konto gibt, und jeder Einlösungsversuch, der nicht mit OK
endete, trägt zu den fehlgeschlagenen Versuchen bei. ASF wird sein Bestes tun, um die Anzahl der AlreadyPurchased
Fehler zu minimieren, z. B. indem es versucht zu vermeiden, einen Produktschlüssel an einen anderen Bot weiterzuleiten, der bereits dieses bestimmte Spiel besitzt; aber es ist nicht immer garantiert, dass es funktioniert, aufgrund dessen wie Steam mit Lizenzen umgeht. Die Verwendung von Einlöse-Flags wie Forwarding
oder Distributing
erhöht immer die Wahrscheinlichkeit, dass Sie ein RateLimited
(Anfragelimit) erreichen.
Außerdem ist zu beachten, dass Sie keine Produktschlüssel an Bots weiterleiten oder verteilen können, auf die Sie keinen Zugriff haben. Dies sollte offensichtlich sein, aber stellen Sie sicher, dass Sie mindestens Operator
aller Bots sind, die Sie beim Einlösungsprozess einbeziehen möchten, z.B. mit dem Befehl status ASF
.
Typ byte flags
mit einem Standardwert 3
. Diese Eigenschaft definiert das ASF-Verhalten pro Bot, wenn es um die Kommunikation mit Remote – (fremden) Diensten geht, und ist wie folgt definiert:
Wert | Name | Beschreibung |
---|---|---|
0 | None | Keine Kommunikation mit Drittanbietern erlaubt, wodurch die ausgewählten ASF-Funktionen unbrauchbar werden |
1 | SteamGroup | Ermöglicht die Kommunikation mit ASFs Steam-Gruppe |
2 | PublicListing | Ermöglicht die Kommunikation mit ASFs STM Auflistung, um aufgelistet zu werden wenn der Benutzer auch SteamTradeMatcher in TradingPreferences aktiviert hat |
Bitte bedenken Sie, dass diese Variable ein Feld (flags
) ist, daher ist es möglich, eine beliebige Kombination von verfügbaren Werten auszuwählen. Schlagen Sie gerne JSON-Strukturierung nach, wenn Sie mehr erfahren möchten. Wenn keines der Flags aktiviert wird, greift die Option None
.
Diese Option beinhaltet keine Kommunikation von Drittanbietern, die von ASF angeboten wird, sondern nur solche, die nicht von anderen Einstellungen impliziert werden. Wenn Sie zum Beispiel die automatischen Updates von ASF aktiviert haben, kommuniziert ASF gemäß Ihrer Konfiguration sowohl mit GitHub (für Downloads) , als auch mit unserem Server (zur Prüfsummenüberprüfung). Gleichermaßen die Aktivierung von MatchActively
in den Handelseinstellungen
impliziert Kommunikation mit unserem Server, um gelistete Bots abzurufen, die für diese Funktionalität benötigt wird.
Weitere Erläuterungen zu diesem Thema finden Sie im Abschnitt Telekommunikation. Wenn Sie keinen Grund haben diese Eigenschaft zu bearbeiten, solltest der Standardwert belassen werden.
Typ byte
mit einem Standardwert 0
. Diese Eigenschaft funktioniert fast identisch wie die Einstellung SendOnFarmingFinished
in den FarmingPreferences
, mit einem Unterschied. Anstatt Handelsangebote zu senden, wenn das Sammeln abgeschlossen ist, können wir sie auch alle SendTradePeriod
Stunden senden, unabhängig davon, wie viel wir noch zu sammeln haben. Dies ist nützlich, wenn Sie den normalen loot
Befehl auf Alternativ-Konten ausführen möchten, anstatt darauf zu warten, dass das Sammeln beenden wird. Der Standardwert von 0
deaktiviert diese Funktion. Wenn Sie möchten, dass ein Bot Ihnen z. B. jeden Tag Handelsangebote sendet, sollten Sie hier 24
eintragen.
Normalerweise sollten Sie ASF-2FA zusammen mit dieser Funktion verwenden; obwohl es keine Voraussetzung ist, wenn Sie beabsichtigen, die 2FA Bestätigung manuell und rechtzeitig durchzuführen. Wenn Sie sich nicht sicher sind, wie Sie diese Variable einstellen sollen, belassen Sie diese bei dem Standardwert 0
.
Typ string
mit dem Standardwert null
. Diese Variable definiert den Steam-Login – mit welchem Sie sich bei Steam anmelden. Zusätzlich zur Definition des Steam-Logins können Sie hier auch den Standardwert null
beibehalten, wenn Sie den Steam-Login bei jedem ASF-Start eingeben möchten, anstatt es in die Konfiguration einzutragen. Dies kann für Sie nützlich sein, wenn Sie sensible Daten nicht in der Konfigurationsdatei speichern möchten.
Typ ulong
mit einem Standardwert 0
. Diese Variable definiert die steamID der Steam-Gruppe, der der Bot automatisch beitreten soll, einschließlich des Gruppen-Chats. Sie können die steamID der Gruppe überprüfen, indem Sie zu Ihrer Seite navigieren und dann /memberslistxml?xml=1
am Ende des Links hinzufügen, sodass der Link wie dieser aussieht. Dann können Sie die steamID Ihrer Gruppe aus dem Ergebnis erhalten, welche sich im <groupID64>
-Tag befndet. Im obigen Beispiel wäre es 103582791440160998
. Zusätzlich zu dem Versuch, einer bestimmten Gruppe beim Start beizutreten, akzeptiert der Bot auch automatisch Gruppeneinladungen zu dieser Gruppe, sodass Sie Ihren Bot manuell einladen können, wenn Ihre Gruppe ein privates Mitglied ist. Wenn Sie keine Gruppe für Ihre Bots haben, sollten Sie diese Eigenschaft mit dem Standardwert 0
behalten.
Typ string
mit einem Standardwert null
. Diese Eigenschaft definiert den Steam-Familienansicht-Code. ASF erfordert Zugriff auf Familienansicht-Ressourcen. Wenn Sie diese Funktion verwenden, sollten Sie ASF für eine problemlose Ausführung die PIN zum entsperren verraten. Der Standardwert null
bedeutet, dass für die Freischaltung dieses Kontos kein Steam-Familienansicht-Code erforderlich ist, und das ist wahrscheinlich das, was Sie wollen, wenn Sie nicht die Steam-Elternfunktionalität verwenden.
Unter bestimmten Umständen kann ASF auch selbst einen gültigen Steam-Elterncode generieren, obwohl dies eine übermäßige Menge an Betriebssystem-Ressourcen und zusätzliche Zeit zum Fertigstellen erfordert, ganz zu schweigen davon, dass es nicht immer erfolgreich ist. Daher empfehlen wir, sich nicht auf diese Funktion zu verlassen und stattdessen einen gültigen SteamParentalCode
in der Konfiguration für ASF einzutragen. Wenn ASF feststellt, dass eine PIN erforderlich ist und keine eigene generieren kann, wird es Sie um Eingabe bitten.
Typ string
mit dem Standardwert null
. Diese Eigenschaft definiert das Steam-Passwort – das, mit dem Sie sich bei Steam anmelden. Zusätzlich zur Definition des Steam-Passworts können Sie hier auch den Standardwert null
beibehalten, wenn Sie ein Steam-Passwort bei jedem ASF-Start eingeben möchten, anstatt es in die Konfiguration einzutragen. Dies kann nützlich sein, wenn Sie keine sensiblen Daten in der Konfigurationsdatei speichern möchten.
Typ string
mit dem Standardwert null
. Wenn Sie einen Bot in einer Freundesliste haben, dann kann der Bot Ihnen sofort ein Handelsangebot schicken, ohne sich um den Handelscode zu kümmern. Deshalb können Sie diese Eigenschaft auf dem Standardwert von null
belassen. Wenn Sie sich jedoch dazu entscheiden, den Bot NICHT auf Ihrer Freundesliste zu haben, dann müssen Sie einen Handelscode des Benutzers generieren und eintragen, an den dieser der Bot Handelsangebote senden möchte. Mit anderen Worten: diese Variable sollte mit dem Handelscode des Kontos gefüllt werden, das mit Master
Berechtigung in SteamUserPermissions
von dieser Bot-Instanz definiert ist.
Um Ihren Code zu finden, navigieren Sie als angemeldeter Benutzer mit der Berechtigung Master
hierher und schauen sich die Handels-URL an. Der Code, nach dem wir suchen, besteht aus 8 Zeichen nach Teil &token=
in Ihrer Handels-URL. Sie sollten diese 8 Zeichen kopieren und hier einfügen, als SteamTradeToken
. Ungültig sind hingegen die Handels-URL als gesammtes, sowie der &token=
Teil. Nur der Code selbst (8 Zeichen) ist hier erforderlich.
Typ ImmutableDictionary<ulong, byte>
mit einem leeren Standardwert. Diese Variable ist eine Dictionary-Variable, die den Steam-Benutzer, der durch seine 64-Bit-Steam-ID identifiziert wurde, auf die Nummer byte
umbildet, die seine Berechtigung in ASF-Instanz angibt. Die derzeit verfügbaren Bot-Berechtigungen in ASF sind definiert als:
Wert | Name | Beschreibung |
---|---|---|
0 | None | Keine spezielle Berechtigung, dies ist hauptsächlich ein Referenzwert, der den in diesem Wörterbuch fehlenden Steam-IDs zugeordnet wird – es ist nicht notwendig, irgendjemanden mit dieser Berechtigung zu definieren |
1 | FamilySharing | Bietet einen minimalen Zugriff für Familienmitglieder. Auch hier handelt es sich vor allem um einen Referenzwert, da ASF in der Lage ist, automatisch Steam-IDs zu entdecken, die wir für die Nutzung unserer Bibliothek zugelassen haben |
2 | Operator | Bietet Basiszugriff auf bestimmte Bot-Instanzen, hauptsächlich das Hinzufügen von Lizenzen und das Einlösen von Schlüsseln |
3 | Master | Gewährt vollen Zugriff auf die angegebene Bot-Instanz |
Kurz gesagt, diese Variable ermöglicht es Ihnen, Berechtigungen für bestimmte Benutzer zu verwalten. Berechtigungen sind vor allem für den Zugriff auf ASF Befehle wichtig, aber auch für die Aktivierung vieler ASF-Funktionen, z. B. die Annahme von Handelsangeboten. Zum Beispiel könnten Sie Ihr eigenes Konto als Master
einrichten und Operator
-Zugang zu 2-3 Freunden geben, damit diese leicht Produktschlüssel für Ihren Bot mit ASF einlösen können, während Freunde nicht berechtigt sind, z. B. den Bot zu stoppen. Dank dessen können Sie bestimmten Benutzern einfach Berechtigungen zuweisen und sie den Bot verwenden lassen.
Wir empfehlen, genau einen Benutzer als Master
und eine beliebige Anzahl von Operators
und darunter einzutragen. Während es technisch möglich ist, mehrere Masters
einzustellen und ASF korrekt mit Ihnen arbeiten wird, z. B. indem es alle an den Bot gesendeten Handelsangebote akzeptiert. Allerdings wird ASF nur einen von Ihnen (mit der niedrigsten Steam-ID) für jede Aktion verwenden, die ein einzelnes Ziel erfordert (z. B. eine loot
Anfrage), als auch Eigenschaften (wie die Einstellung SendOnFarmingFinished
in den FarmingPreferences
oder SendTradePeriod
). Wenn Sie diese Einschränkungen perfekt verstehen, insbesondere die Tatsache, dass die loot
Anfrage immer Elemente an den Master
mit der niedrigsten Steam-ID sendet, unabhängig von dem Master
, der den Befehl tatsächlich ausgeführt hat, dann können Sie hier mehrere Benutzer mit der Berechtigung Master
definieren. Aber wir empfehlen trotzdem ein einfaches Master-Schema.
Es ist gut zu wissen, dass es noch eine weitere zusätzliche Owner
Berechtigung gibt, die als globale Konfigurationseigenschaft SteamOwnerID
deklariert ist. Hier können Sie niemandem die Berechtigung Owner
zuweisen, da die Eigenschaft SteamUserPermissions
nur Berechtigungen definiert, die sich auf die Bot-Instanz beziehen, und nicht ASF als Prozess. Für Bot-bezogene Aufgaben wird die SteamOwnerID
genauso behandelt wie Master
, sodass die Angabe einer SteamOwnerID
hier nicht erforderlich ist.
Typ byte
mit dem Standardwert 60
. Normalerweise verarbeitet ASF eingehende Handelsangebote direkt nach Erhalt von Benachrichtigungen über eines, aber manchmal kann es aufgrund von Steam-Problemen zeitweise fehlschlagen, und solche Handelsangebote bleiben solange ignoriert, bis die nächste Handelsbenachrichtigung oder ein Neustart des Bots eintritt, was dazu führen kann, dass Handel storniert werden oder Gegenstände zu diesem Zeitpunkt nicht verfügbar sind. Wenn der Wert dieses Parameters größer als 0
ist, prüft ASF zusätzlich alle TradeCheckPeriode
Minuten auf solche ausstehenden Transaktionen. Der Standardwert wird mit dem Kompromiss zwischen zusätzlichen Anfragen an die Steam-Server und dem Verlust eingehender Handel ausgewählt. Wenn Sie jedoch nur ASF verwenden, um Karten zu sammeln, und nicht planen, eingehende Handelsangebote automatisch zu verarbeiten, kann dieser Wert auf 0
gesetzt werden, um diese Funktion komplett zu deaktivieren. Wenn Ihr Bot andererseits an der öffentlichen ASF’s STM Auflistung teilnimmt oder andere automatisierte Dienste als Handelsbot anbietet, möchten Sie diesen Parameter vielleicht auf 15
Minuten reduzieren, um alle Angebote rechtzeitig zu bearbeiten.
byte flags
Typ mit Standardwert von 0
. Diese Variable definiert das ASF-Verhalten beim Handeln und ist wie folgt definiert:
Wert | Name | Beschreibung |
---|---|---|
0 | None | Keine besonderen Handelspräferenzen, Standard |
1 | AcceptDonations | Akzeptiert Handelsangebote, bei denen wir nichts verlieren |
2 | SteamTradeMatcher | Nimmt passiv an STM-artigen Handelsangeboten teil. Besuchen Sie Handeln für weitere Informationen |
4 | MatchEverything | Erfordert das Setzen von SteamTradeMatcher und akzeptiert dabei neben guten und neutralen auch schlechte Handelsangebote |
8 | DontAcceptBotTrades | Akzeptiert keine automatischen loot Handelsangebote von anderen Bot-Instanzen |
16 | MatchActively | Nimmt aktiv an STM-artigen Handelsangeboten teil. Besuchen Sie ItemsMatcherPlugin für weitere Informationen |
Bitte bedenken Sie, dass diese Eigenschaft das Feld flags
ist, daher ist es möglich, eine beliebige Kombination von verfügbaren Werten auszuwählen. Schlagen Sie gerne JSON-Strukturierung nach, wenn Sie mehr erfahren möchten. Wenn keines der Flags aktiviert wird, wird die Option None
verwendet.
Für weitere Erläuterungen zur ASF-Handelslogik und zur Beschreibung jedes verfügbaren Flags besuchen Sie bitte den Abschnitt Handeln.
Typ ImmutableHashSet<byte>
mit dem Standardwert 1, 3, 5
als Steam-Gegenstandstyp. Diese Eigenschaft definiert, welche Steam-Gegenstandstypen für die Übertragung zwischen Bots beim transfer
Befehl berücksichtigt werden. ASF wird sicherstellen, dass nur Gegenstände von TransferableTypes
in ein Handelsangebot aufgenommen werden, daher können Sie mit dieser Variable wählen, was in einem Handelsangebot erhalten sein darf, das an einen Ihrer Bots gesendet wird.
Wert | Name | Beschreibung |
---|---|---|
0 | Unknown | Jeder Typ, der nicht in eine der folgenden Kategorien passt |
1 | BoosterPack | Booster Pack mit 3 zufälligen Karten aus einem Spiel |
2 | Emoticon | Emoticon zur Verwendung im Steam-Chat |
3 | FoilTradingCard | Glanz-Variante von TradingCard
|
4 | ProfileBackground | Profilhintergrund zur Verwendung in Ihrem Steam-Profil |
5 | TradingCard | Steam-Sammel-Karte, die für die Herstellung von Abzeichen (Nicht-Glanz) verwendet werden |
6 | SteamGems | Steam-Edelsteine, die für die Herstellung von Booster Packs verwendet werden, inklusive Edelsteinsäcke |
7 | SaleItem | Spezialgegenstände, die während des Steam-Sales vergeben werden |
8 | Consumable | Spezielle Verbrauchsgegenstände, die nach dem Gebrauch wieder verschwinden |
9 | ProfileModifier | Spezialgegenstände, welche das Aussehen des Steam-Profils verändern können |
10 | Sticker | Spezialgegenstände, welche im Steam-Chat verwendet werden können |
11 | ChatEffect | Spezialgegenstände, welche im Steam-Chat verwendet werden |
12 | MiniProfileBackground | Besonderer Hintergrund für Steam-Profile |
13 | AvatarProfileFrame | Besonderer Avatarrahmen für das Steam-Profil |
14 | AnimatedAvatar | Besonders animierter Avatar für das Steam-Profil |
15 | KeyboardSkin | Spezieller Tastatur-Skin für das Steam Deck |
16 | StartupVideo | Spezielle Start-Animation für das Steam Deck |
Bitte bedenken Sie, dass ASF unabhängig von den obigen Einstellungen nur nach Steam Community-Gegenständen (appID
von 753, contextID
von 6)-Gegenständen fragt, sodass alle Spiel-Gegenstände /-Geschenke und dergleichen definitionsgemäß aus dem Handelsangebot ausgeschlossen sind.
Die Standard-ASF-Einstellung basiert auf der gebräuchlichsten Verwendung des Bots, wobei nur Booster Packs und Sammelkarten (einschließlich Folienkarten) gehandelt werden. Die hier definierte Variable ermöglicht es Ihnen, dieses Verhalten so zu verändern, dass es Sie zufrieden stellt. Bitte bedenken Sie, dass alle nicht oben definierten Typen als Unknown
angezeigt werden, was besonders wichtig ist, wenn Valve einen neuen Steam-Gegenstand veröffentlicht, der ebenfalls von ASF als Unknown
markiert wird, bis er hier (in einer zukünftigen Version) hinzugefügt wird. Deshalb ist es im Allgemeinen nicht empfehlenswert, Unknown
in einen TransferableTypes
einzugeben, es sei denn, Sie wissen, was Sie tun und verstehen auch, dass ASF Ihr gesamtes Inventar in einem Handelsangebot versenden wird, wenn das Steam-Netzwerk wieder fehleraft wird und alle Gegenstände als Unknown
meldet. Mein nachdrücklicher Vorschlag ist, Unknown
nicht in das Feld TransferableTypes
einzutragen, selbst wenn Sie alles übertragen möchten.
Typ bool
mit dem Standardwert true
. Diese Variable legt fest, ob ASF den Anmeldeschlüssel-Mechanismus für dieses Steam-Konto verwenden soll. Der Anmeldeschlüssel-Mechanismus funktioniert sehr ähnlich wie die „Angemeldet bleiben“-Option des offiziellen Steam-Clients, die es ASF ermöglicht, einen temporären, einmaligen Anmeldeschlüssel für den nächsten Anmeldeversuch zu speichern und zu verwenden, wodurch die Angabe von Passwort, Steam Guard oder 2FA-Code übergangen wird, solange unser Anmeldeschlüssel gültig ist. Der Anmeldeschlüssel wird in der Datei BotName.db
gespeichert und automatisch aktualisiert. Aus diesem Grund müssen Sie kein Passwort/SteamGuard/2FA-Code angeben, nachdem Sie sich nur einmal erfolgreich mit ASF angemeldet haben.
Die Anmelde-Schlüssel werden standardmäßig für Ihre Bequemlichkeit verwendet, sodass Sie nicht bei jedem Anmeldevorgang SteamPassword
, SteamGuard oder 2FA-Code eingeben müssen, sofern Sie nicht ASF-2FA verwenden. Es ist auch eine überlegene Alternative, da der Anmeldeschlüssel nur einmalig verwendet werden kann und das ursprüngliche Passwort in keiner Weise offenbart. Genau die gleiche Methode wird vom ursprünglichen Steam-Client verwendet, der den Konto-Namen und Anmeldeschlüssel für Ihren nächsten Anmeldeversuch speichert, was praktisch die gleiche ist, wie die Verwendung von SteamLogin
mit UseLoginKeys
und leerem SteamPassword
in ASF.
Einige Leute sind jedoch vielleicht sogar über dieses kleine Detail besorgt, deshalb steht diese Option hier zur Verfügung, wenn Sie sicherstellen möchten, dass ASF keine Art von Daten speichert, die es ermöglichen würden, die vorherige Sitzung nach dem Schließen wieder aufzunehmen, was dazu führt, dass eine vollständige Authentifizierung bei jedem Anmeldeversuch obligatorisch ist. Das Deaktivieren dieser Option funktioniert genau so, wie wenn Sie „Angemeldet bleiben“ im offiziellen Steam-Client deaktiviert lassen. Wenn Sie nicht wissen, was Sie tun, sollten Sie den Standardwert true
belassen.
Typ byte
mit einem Standardwert 0
. This property specifies user interface mode that the bot will be announced with after logging in to the Steam network. It might influence how the account is visible e.g. on the Steam chat, if your presence allows that through OnlineStatus
. Derzeit können Sie einen der folgenden Optionen wählen:
Wert | Name | Beschreibung |
---|---|---|
0 |
VGUI | Default Steam client mode |
1 |
Tenfoot | Big picture mode |
2 |
Mobile | Steam mobile app |
3 |
Web | Web browser session |
4 |
ClientUI | |
5 |
MobileChat | Steam mobile chat app |
6 |
EmbeddedClient |
Not all modes might have an effect. Also, you might be interested in checking OnlinePreferences
, since some additional features are enabled there. Wenn du dir nicht sicher bist, wie du diese Eigenschaft einstellen sollst, belasse sie bei dem Standardwert 0
.
ASF benutzt eine einfache Dateistruktur.
├── 📁 config
│ ├── ASF.json
│ ├── ASF.db
│ ├── Bot1.json
│ ├── Bot1.db
│ ├── Bot2.json
│ ├── Bot2.db
│ └── ...
├── ArchiSteamFarm.dll
├── log.txt
└── ...
Um ASF an einen neuen Ort zu verschieben, z. B. auf einen anderen PC, genügt es, das Verzeichnis config
allein zu verschieben/kopieren, und das ist die empfohlene Art und Weise, jede Form von „ASF-Backups“ durchzuführen, da man immer den verbleibenden (Programm-)Teil von GitHub herunterladen kann, ohne zu riskieren, interne ASF-Dateien zu beschädigen, z. B. durch ein fehlerhaftes Backup.
Die log.txt
Datei enthält das Protokoll, das durch Ihre letzte ASF-Ausführung erzeugt wurde. Diese Datei enthält keine sensiblen Informationen und ist äußerst nützlich, wenn es um Probleme, Abstürze oder einfach nur als Information an Sie geht, was während der letzten Ausführung von ASF passiert ist. Wir werden sehr oft nach dieser Datei fragen, wenn Sie auf Probleme oder Fehler stoßen. ASF verwaltet diese Datei automatisch für Sie, aber Sie können das Protokollierungsmodul weiter optimieren, wenn Sie ein fortgeschrittener Benutzer sind.
config
Verzeichnis ist der Ort, der die Konfiguration für ASF enthält, einschließlich aller seiner Bots.
ASF.json
ist eine globale ASF-Konfigurationsdatei. Diese Konfiguration wird verwendet, um anzugeben, wie sich ASF als Prozess verhält, was alle Bots und das Programm selbst betrifft. Dort finden Sie globale Eigenschaften, wie ASF-Prozesseigentümer, automatische Aktualisierungen oder Debugging.
BotName.json
ist eine Konfiguration der gegebenen Bot-Instanz. Diese Konfiguration wird verwendet, um das Verhalten einer gegebenen Bot-Instanz festzulegen, daher sind diese Einstellungen nur für diesen Bot spezifisch und nicht für andere bestimmt. Dies ermöglicht es Ihnen, Bots mit verschiedenen Einstellungen zu konfigurieren, und nicht unbedingt alle funktionieren auf die gleiche Weise. Jeder Bot wird mit einer eindeutigen Kennzeichnung benannt, die Sie anstelle von BotName
auswählen.
Neben den Konfigurationsdateien verwendet ASF auch das Verzeichnis config
zum Speichern von Datenbanken.
ASF.db
ist eine globale ASF-Datenbankdatei. Es fungiert als globaler dauerhafter Speicher und wird zum Speichern verschiedener Informationen im Zusammenhang mit dem ASF-Prozess verwendet, wie z.B. IPs von lokalen Steam-Servern. Sie sollten diese Datei nicht bearbeiten.
BotName.db
ist eine Datenbank der jeweiligen Bot-Instanz. Diese Datei wird verwendet, um wichtige Daten der jeweiligen Bot-Instanz im dauerhaften Speicher zu speichern, wie z.B. Anmeldeschlüssel oder ASF-2FA. Sie sollten diese Datei nicht bearbeiten.
BotName.keys
ist eine spezielle Datei, die zum Importieren von Produkt-Schlüsseln in den Hintergrundproduktschlüsselaktivierer verwendet werden kann. Es ist nicht zwingend erforderlich und wird nicht generiert, aber von ASF anerkannt. Diese Datei wird nach dem erfolgreichen Import der Produkt-Schlüssel automatisch gelöscht.
BotName.maFile
ist eine spezielle Datei, die für den Import von ASF-2FA verwendet werden kann. Es ist nicht zwingend erforderlich und wird nicht generiert, aber von ASF erkannt, wenn Ihr BotName
ASF-2FA bislang nicht verwendet. Diese Datei wird nach erfolgreichem Import von ASF-2FA automatisch gelöscht.
Jede Konfigurationseigenschaft hat einen Datentyp. Der Typ der Variable definiert Werte, die für sie gültig sind. Sie können nur Werte verwenden, die für einen bestimmten Typ gültig sind – wenn Sie einen ungültigen Wert verwenden, dann kann ASF die Konfiguration nicht auslesen.
Wir empfehlen dringend, den ConfigGenerator für die Generierung von Konfigurationen zu verwenden. Dieser handhabt den größten Teil der Low-Level-Aufgaben (z. B. die Typ-Validierung) für Sie, sodass Sie nur die richtigen Werte eingeben und auch die unten angegebenen Variablentypen nicht verstehen müssen. Dieser Abschnitt ist hauptsächlich für Personen gedacht, die Konfigurationen manuell erstellen/bearbeiten, damit sie wissen, welche Werte sie verwenden können.
Die von ASF verwendeten Typen sind native C#-Typen, die im Folgenden aufgeführt werden:
bool
- Boolescher Typ, der nur die Werte true
und false
akzeptiert.
Beispiel: "Enabled": true
byte
– Unsignierter Byte-Typ, der nur ganze Zahlen von 0
bis 255
(einschließlich) akzeptiert.
Beispiel: "ConnectionTimeout": 90
ushort
– Unsignierter Short-Typ, der nur ganze Zahlen von 0
bis (einschließlich) 65535
akzeptiert.
Beispiel: "WebLimiterDelay": 300
uint
– Unsignierter Ganzzahl-Typ, (integer), der nur ganze Zahlen von 0
bis (einschließlich) 4294967295
akzeptiert.
ulong
– Unsignierter long integer Typ, der nur ganze Zahlen von 0
bis (einschließlich) 18446744073709551615
akzeptiert.
Beispiel: "SteamMasterClanID": 103582791440160998
string
– Zeichenketten-Typ, der jede beliebige Zeichenfolge akzeptiert, einschließlich der leeren Folge ""
und null
. Leere Sequenzen und null
Werte werden von ASF gleich behandelt, sodass Sie es sich aussuchen können, welche Sie verwenden möchten (wir bleiben bei null
).
Beispiele: "SteamLogin": null
, "SteamLogin": ""
, "SteamLogin": "MeinLogin"
Guid?
– Nullwerte zulassender UUID-Typ, in JSON-kodiert als Zeichenkette. UUID besteht aus 32 Hexadezimalzeichen, im Bereich von 0
bis 9
und `` bis f
. ASF akzeptiert verschiedene gültige Formate – Kleinbuchstaben, Großbuchstaben, mit und ohne Bindestriche. Zusätzlich zu gültiger UUID, da diese Eigenschaft nullable ist (ein spezieller Wert von `Null` wird akzeptiert), um einen Mangel an UUID anzugeben.
Beispiele: "LicenseID": null
, "LicenseID": "f6a0529813f74d119982eb4fe43a9a24"
ImmutableList<valueType>
– Unveränderliche Sammlung (set) von eindeutigen Werten im gegebenen valueType
. In JSON ist es definiert als Array von Elementen in gegebenem valueType
. ASF verwendet list
um anzugeben, dass die angegebene Variable mehrere Werte unterstützt und deren Reihenfolge relevant sein kann.
Beispiel für ImmutableList<byte>
: "FarmingOrders": [15, 11, 7]
ImmutableHashSet<valueType>
– Unveränderliche Sammlung (Satz) von eindeutigen Werten in gegebenen valueType
. In JSON ist es definiert als Array (Anordnung) von Elementen im gegebene valueType
. ASF verwendet HashSet
, um anzugeben, dass eine angegebene Variable nur für eindeutige Werte Sinn ergibt (und deren Reihenfolge unwichtig ist). Daher ignoriert es bewusst alle potenziellen Duplikate während des Parsen (falls sie trotzdem angegeben wurden).
Beispiel für ImmutableHashSet<uint>
: "Blacklist": [267420, 303700, 335590]
ImmutableDictionary<keyType, valueType>
– Unveränderliches Wörterbuch (Map) das einen in seinem keyType
angegebenen einzigartigen Schlüssel auf den in seinem valueType
angegebenen Wert abbildet. In JSON wird es als Objekt mit Schlüssel-Wert-Paaren definiert. Bedenken Sie, dass keyType
in diesem Fall immer angegeben wird, auch wenn es sich um einen Wert-Typ wie ulong
handelt. Es gibt auch eine strenge Anforderung, dass der Schlüssel auf der gesamten map (Zuordnung) eindeutig ist, diesmal ebenfalls von JSON erzwungen.
Beispiel für ImmutableDictionary<ulong, byte>
: "SteamUserPermissions": { "76561198174813138": 3, "76561198174813137": 1 }
flags
- Das Attribut Flags kombiniert mehrere verschiedene Eigenschaften zu einem Endwert, indem es bitweise Operationen anwendet. Auf diese Weise können Sie jede mögliche Kombination aus verschiedenen zulässigen Werten gleichzeitig wählen. Der Endwert wird als Summe aller Werte der aktivierten Optionen berechnet.
Zum Beispiel, wenn folgende Werte angegeben werden:
Wert | Name |
---|---|
0 | None |
1 | A |
2 | B |
4 | C |
Die Verwendung von B + C
würde zu einem Wert von 6
führen, die Verwendung von A + C
würde einem Wert von 5
ergeben, die Verwendung von C
würde zu einem Wert von 4
führen und so weiter. Dies ermöglicht es Ihnen, jede mögliche Kombination von aktivierten Werten zu erstellen – wenn Sie sich dazu entschieden haben, alle zu aktivieren, indem Sie None + A + B + C
wählen, erhalten Sie den Wert von 7
. Außerdem ist zu beachten, dass das Flag mit dem Wert 0
per Definition in allen anderen verfügbaren Kombinationen aktiviert ist, daher ist es sehr oft ein Flag, das nichts Bestimmtes aktiviert (wie None
).
Wie Sie sehen können, haben wir im obigen Beispiel 3 verfügbare Flags zum Ein- und Ausschalten (A
, B
, C
), und 8
mögliche Werte insgesamt:
None -> 0
A -> 1
B -> 2
A + B -> 3
C -> 4
A + C -> 5
B + C -> 6
A + B + C -> 7
Zum Beispiel: "SteamProtocols": 7
Aufgrund von JavaScript-Einschränkungen können Eigenschaften (Property) mit einfachen ulong
Felder in JSON nicht korrekt serialisiert werden, wenn der webbasierte ConfigGenerator verwendet wird. Daher werden ulong
Felder als Strings mit s_
Präfix in der resultierenden Konfiguration dargestellt. Dazu gehört zum Beispiel "SteamOwnerID": 76561198006963719
, die von unserem Konfigurationsgenerator als "s_SteamOwnerID" geschrieben wird: "76561198006963719"
. ASF enthält die richtige Logik für die automatische Verarbeitung dieses Zeichenketten-Mappings, sodass s_
Einträge in Ihren Konfigurationen tatsächlich gültig und korrekt generiert sind. Wenn Sie selbst Konfigurationen generieren, empfehlen wir, nach Möglichkeit an den ursprünglichen ulong
Feldern festzuhalten, aber wenn Sie dazu nicht in der Lage sind, können Sie auch diesem Schema folgen und sie als Zeichenketten mit dem s_
Präfix an Ihren Namen kodieren. Wir hoffen, diese JavaScript-Einschränkung irgendwann aufheben zu können.
Es ist für ASF oberste Priorität, mit älteren Konfigurationen kompatibel zu bleiben. Wie Sie bereits wissen sollten, werden fehlende Konfigurationseigenschaften mit den jeweiligen Standardwerten ausgeführt. Wenn also eine neue Konfigurationseigenschaft in einer neuen Version von ASF eingeführt wird, bleiben all Ihre Konfigurationen kompatibel mit der neuen Version, und ASF wird diese neue Konfigurationseigenschaft so behandeln, wie sie mit Ihrem Standardwert definiert wäre. Sie können jederzeit Konfigurationseigenschaften nach Ihren Wünschen hinzufügen, entfernen oder bearbeiten.
Wir empfehlen, definierte Konfigurationseigenschaften nur auf die zu ändernden Eigenschaften zu beschränken, da Sie auf diese Weise automatisch Standardwerte für alle anderen vererben; nicht nur Ihre Konfiguration sauber halten, sondern auch die Kompatibilität erhöhen, falls wir beschließen, einen Standardwert für Eigenschaften zu ändern, die Sie nicht explizit selbst festlegen möchten (z. B. WebLimiterDelay
).
Aufgrund der oben genannten Umstände wird ASF Ihre Konfigurationen automatisch migrieren/optimieren, indem sie sie neu formatieren und Felder mit Standardwert entfernen. Sie können dieses Verhalten mit --no-config-migrate
Befehlszeilenargument deaktivieren, wenn Sie einen bestimmten Grund haben. Zum Beispiel stellen Sie schreibgeschützte Konfigurationsdateien zur Verfügung und Sie möchten nicht, dass ASF diese modifiziert.
ASF bemerkt Änderungen an den Konfigurationen „on-the-fly“ – dank dem ASF automatisch:
- Eine neue Bot-Instanz erstellen (und startet diese bei Bedarf), wenn Sie die Konfiguration erstellen
- Stoppt (falls erforderlich) und entfernt alte Bot-Instanz, wenn Sie Ihre Konfiguration löschen
- Stoppt (und startet bei Bedarf) eine beliebige Bot-Instanz, wenn Sie Ihre Konfiguration bearbeiteen
- Startet den Bot (falls erforderlich) unter neuem Namen neu, wenn Sie seine Konfiguration umbenennen
All dies ist transparent und wird automatisch durchgeführt, ohne dass das Programm neu gestartet oder andere (nicht betroffene) Bot-Instanzen beendet werden müssen.
Darüber hinaus wird sich ASF auch selbst neu starten (wenn AutoRestart
es erlaubt), wenn Sie die ASF-Kern-Konfiguration ASF.json
ändern. Ebenso wird das Programm beendet, wenn Sie es löschen oder umbenennen.
Sie können dieses Verhalten mit --no-config-watch
Befehlszeilenargument deaktivieren, wenn Sie einen bestimmten Grund haben. Zum Beispiel möchten Sie von ASF nicht auf Dateiänderungen im Ordner config
reagieren.
- 🏡 Startseite
- 🔧 Konfiguration
- 💬 Häufig gestellte Fragen (FAQ)
- ⚙️ Installation (hier beginnen)
- 👥 Hintergrund-Schlüssel-Einlöser
- 📢 Befehle
- 🛠️ Kompatibilität
- 🧩 ItemsMatcherPlugin
- 📋 Verwaltung
- ⏱️ Leistungseffizienz
- 📡 Telekommunikation
- 👪 Steam Familienbibliothek
- 🔄 Handel
- ⌨️ Befehlszeilenargumente
- 🚧 Veraltete Funktionen
- 🐳 Docker
- 🤔 Erweitertes FAQ
- 🚀 Hochperformantes Einrichtung
- 🔗 IPC
- 🌐 Übersetzung
- 📝 Protokollierung
- 💾 Speichereffiziente Einrichtung
- 🕵🏼♂️ MonitoringPlugin
- 🔌 Erweiterungen (Plugins)
- 🔐 Sicherheit
- 🧩 SteamTokenDumperPlugin
- 📦 Drittanbieter
- 📵 Zwei-Faktor-Authentifizierung (2FA)