Skip to content

Trading pt BR

ArchiBot edited this page Feb 6, 2022 · 50 revisions

Trocas

O ASF possui suporte não interativo (offline) para trocas Steam. Tanto receber (aceitar/rejeitar) quanto enviar trocas é uma função disponível de imediato e não requer uma configuração especial, mas obviamente requer uma conta Steam sem restrições (que já tenha gasto 5 dólares na loja). O módulo de trocas não está disponível para contas restritas.


Lógica

O ASF sempre aceitará todas as trocas, independente de quais são os itens, enviadas pelo usuário com acesso Master (ou superior) ao bot. Isso permite não apenas pegar facilmente as cartas obtidas pela conta bot como também ajuda a administrar de forma mais fácil os itens que o bot guarda no inventário - incluindo itens de outros jogos (CS:GO por exemplo).

O ASF rejeitará a oferta de troca, independente do conteúdo, de qualquer usuário (não Master) que esteja na lista negra do módulo de trocas. A lista negra é armazenada no banco de dados padrão BotName.db e pode ser gerenciada através dos comandos tb, tbadd e tbrm. Isso deve funcionar como um alternativa ao bloqueio de usuário padrão da Steam - use com cautela.

O ASF aceitará todos os loots enviados entre os bots, a menos que TradingPreferences esteja definido como DontAcceptBotTrades. Em resumo, a configuração padrão None de TradingPreferences fará com que o ASF aceite automaticamente trocas do usuário com acesso Master ao bot (como explicado anteriormente), assim como todas as trocas de doação de outros bots que façam parte do processo do ASF. Se você quer desativar trocas de doação de outros bots, então é para isso que DontAcceptBotTrades na configuração TradingPreferences serve.

Quando você ativa a configuração AcceptDonations em TradingPreferences, o ASF também aceitará qualquer troca de doação - uma troca na qual a conta bot não vá perder nenhum item. Esta propriedade afeta apenas contas não-bot, uma vez que contas de bot são afetadas por DontAcceptBotTrades. AcceptDonations permite que você aceite doações facilmente de outras pessoas e também de bots que não estejam conectados ao processo do ASF.

Vale notar que AcceptDonations não requer o ASF 2FA, já que não há necessidade de confirmação se não estamos perdendo nenhum item.

Você também pode personalizar a capacidade de trocas do ASF modificando TradingPreferences de acordo com o desejado. Uma das principais características do TradingPreferences é a opção SteamTradeMatcher que faz o ASF usar uma lógica interna para aceitar trocas que te ajudarão a completar insígnias faltantes, o que é especialmente útil em conjunto com a listagem pública do SteamTradeMatcher, mas também funciona sem ele. Isso é descrito logo abaixo.


SteamTradeMatcher

Quando o SteamTradeMatcher estiver ativo, o ASF usará um algorítimo um tanto complexo para verificar se a troca passa pelas regras do STM e é pelo menos neutra. A lógica atual é a seguinte:

  • Rejeitar a troca se formos perder algo além dos tipos de item especificados em nosso MatchableTypes.
  • Rejeitar a troca se não vamos receber ao menos a mesma quantidade de itens por jogo, por tipo e por raridade.
  • Rejeitar a troca se o usuário pedir por cartas especiais das promoções Steam de verão/inverno, e o mesmo tiver as trocas retidas.
  • Rejeitar a troca se o tempo de retenção exceder a propriedade MaxTradeHoldDuration da configuração global.
  • Rejeitar a troca se não tivermos configurado MatchEverything, e a mesma for pior que neutro para nós.
  • Aceitar a troca se nós não a rejeitarmos através de qualquer um dos pontos acima.

É bom notar que o ASF também aceita contraproposta - a lógica funcionará corretamente quando o usuário estiver adicionando algo extra para a troca, desde que todas as condições acima forem atendidas.

Os 4 primeiros atributos devem ser óbvios para todos. A última inclui uma lógica para cartas duplicadas que analisa o estado atual do nosso inventário e decide qual é o status da troca.

  • A troca é boa se aumentar nosso progresso em busca de completar o set. Exemplo: A A (antes) -> A B (depois)
  • A troca é neutra se nosso progresso em busca de completar o set continuar o mesmo. Exemplo: A B (antes) -> A C (depois)
  • A troca é ruim se diminuir nosso progresso em busca de completar o set. Exemplo: A C (antes) -> A A (depois)

O STM só opera em trocas boas, o que significa que o usuário que estiver usando o STM para juntar cartas duplicadas deve sempre nos sugerir apenas trocas boas. No entanto, o ASF é liberal, e também aceita trocas neutras, já que nessas trocas não perdemos nada, então não há nenhuma razão para rejeitá-las. Isso é especialmente útil para os seus amigos, uma vez que eles podem trocar suas cartas extras sem usar o STM, contanto que você não esteja perdendo o progresso para completar a insígnia.

Por padrão, o ASF rejeitará trocas ruins - isso é o que você quase sempre vai querer como usuário. No entanto, você tem a opção de permitir MatchEverything em sua configuração de TradingPreferences para permitir que o ASF aceite tudas as trocas de cartas duplicadas, incluindo as ruins. Isso é útil apenas se você deseja executar uma bot de troca 1:1 em sua conta, uma vez que você entenda que ** o ASF não vai mais te ajudar a progredir para conclusão de insígnia e vai te deixar propenso a substituir um set completo por N cartas duplicadas.**. A não ser que você realmente queira rodar um bot de trocas que nunca finalizará um set, você não vai querer ativar essa opção.

Independente do que você escolher em TradingPreferences, uma troca que está sendo rejeitada pelo ASF não significa que você não pode aceitá-la você mesmo. Se você manteve o valor padrão de BotBehaviour, que não inclui RejectInvalidTrades, o ASF vai simplesmente ignorar essas trocas, permitindo que você decida se está interessado nelas ou não. O mesmo vale para trocas de itens fora dos cobertos pelo MatchableTypes, bem como tudo o resto - o módulo é feito para ajudá-lo a automatizar trocas STM, e não decidir o que é um bom negócio e o que não é. A única exceção esta regra é quando falamos de usuários que você colocou na lista negra do módulo de trocas usando o comando tbadd - trocas propostas por esses usuários são imediatamente rejeitadas independentemente das configurações de BotBehaviour.

É altamente recomendado usar o ASF 2FA quando você habilitar essa opção, uma vez que esta função perde todo o seu potencial, se você decidir confirmar manualmente cada troca. O SteamTradeMatcher funcionará corretamente mesmo sem a capacidade de confirmar as trocas, mas pode gerar atraso de confirmações se você não estiver aceitando-as a tempo.


MatchActively

A configuração MatchActively é a versão ativa de SteamTradeMatcher, que incluí combinações interativas onde o bot irá enviar trocas para outras pessoas. Isso pode funcionar em espera sozinho, ou junto com a configuração SteamTradeMatcher.

Para usar essa opção há uma série de requisitos para serem atendidas. Além disso você deve estar elegível à nossa Listagem STM do ASF, com requisitos um pouco mais relaxados. Você deve ter no minímo uma conta sem restrições, ASF 2FA ativo e pelo menos um tipo válido em MatchableTypes, tal como cartas colecionáveis.

Se você cumprir todos os requisitos acima, o ASF periodicamente irá se comunicar com a nossa Listagem STM pública do ASF a fim de combinar bots que estão atualmente disponíveis.

  • Cada correspondência é composta por "rodadas", com 10 sendo o máximo em uma única rodada.
  • A cada rodada o ASF vai buscar nosso inventário e o inventário dos bots listados selecionados para encontrar itens MatchableTypes que possam ser combinados. Se for encontrada uma correspondência, o ASF vai enviar e confirmar a oferta de troca automaticamente.
  • Cada conjunto (composto de appID, tipo de item e raridade do mesmo) pode ser combinado apenas uma vez em cada rodada. Isso foi implementado para minimizar o problema de "itens indisponíveis" e evitar a necessidade de esperar que cada bot reaja antes de enviar todas as trocas. É também a principal razão pela qual a correspondência é feita em rodadas e não por um processo constante.
  • O ASF não enviará mais que 255 itens em uma única troca, e não mais que 5 trocas para um mesmo usuário em uma única rodada. Isso é imposto pelos limites do Steam, bem como por nosso próprio balanceamento.
  • O ASF tem o limite de 40 bots distintos que podem ser combinados em uma única rodada caso ela não seja cancelada antes por falta de sets para serem combinados - nesse caso, durante a próxima rodada o ASF tentará combinar bots que ainda não foram combinados.
  • Se o ASF determinar que a correspondência deve continuar, a próxima rodada começa dentro de 5 minutos desde a última (para que haja um tempo de resfriamento e permitir que todos os bots reajam às nossas trocas), além disso as sessões correspondentes terminam e recomeçam por si mesmas a cada 8 horas.

Esse módulo deve ser transparente. As correspondências devem começar em aproximadamente 1 hora desde a ativação do ASF, e repetirá automaticamente a cada 8 horas (caso necessário). O recurso MatchActively foi feito para ser usado a longo prazo, verificando periodicamente para garantir que estamos na direção de completar o set, sem o curto espaço de tempo e a quantidade de pressão sobre os recursos necessários que ocorreria se isso fosse oferecido como um comando. Os usuários alvos desse módulo são principalmente contas principais e contas alternativas "ocultas", embora ele possa ser usado em qualquer bot que não foi configurado para MatchEverything.

O ASF faz o seu melhor para minimizar a quantidade de solicitações e a pressão gerada por usar esta opção, enquanto maximiza a eficiência das correspondências até o limite possível. O algoritmo exato de escolha dos bots para combinar e organizar todo o processo é um detalhe de implementação do ASF e pode mudar de acordo com os feedbacks, situações e possíveis ideias futuras.

A versão atual do algoritmo faz com que o ASF priorize os bots Any, especialmente aqueles que têm uma maior diversidade de jogos dos quais seus itens provêm. Quando os bots Any se esgotarem, o ASF vai passar para os próximos seguindo a mesma regra de diversidade, priorizando aqueles que possuem um número menor de itens devido a possibilidade de erros serem maior em inventários grandes. Independente disso, o ASF vai tentar combinar com cada bot disponível ao menos uma vez, garantindo que você não perca a possibilidade de fechar um set.

O MatchActively leva em conta os bots que você pôs na lista negra de trocas através do comando tbadd e não vai tentar trocas com eles. Pode ser usado para dizer ao ASF quais bots nunca devem ser combinados, mesmo se eles tiverem potenciais duplicatas que poderíamos usar.

Clone this wiki locally