Skip to content

Caza del álbum

La mayoría de los bots atacan a los tres rivales que la arena ofrezca. Eso está bien para el honor y no sirve para el álbum, porque esos tres nombres los elige el juego, no lo que a ti te falta.

Mercy SF rastrea el Salón de la Fama en segundo plano, recuerda el equipo de cada jugador que ve y manda el siguiente ataque contra el mejor objetivo vencible a nivel global: el que lleva más objetos que tu álbum aún no tiene.

Álbum

Actívalo con auto_scrapbook y pon arena_mode en Scrapbook.

Cómo funciona el conjunto

El rastreador construye en memoria, por cuenta, un conjunto de jugadores y su equipo. Cada combate se elige después de ese conjunto y no de la lista de sugerencias de la arena.

El conjunto vive lo que dure la sesión y ni un minuto más, y es a propósito. Guardarlo parecía conocimiento gratis y no lo era:

  • crecía sin límite. Una cuenta medida llegó a 187.136 jugadores en 119 MB y seguía subiendo unos 20 MB cada veinte minutos;
  • cada cambio reescribía el archivo entero de forma síncrona, mientras retenía el bloqueo que el bot necesita para elegir combate y que la pantalla de Arena necesita para dibujarse. Medido: una reescritura de 119 MB cada 27 segundos;
  • la escritura no era atómica, y un fallo al leerlo caía a una caché vacía, así que un cierre inesperado a media escritura descartaba en silencio todo el rastreo de todos modos;
  • el equipo guardado es una foto de lo que alguien llevaba, y los jugadores cambian de equipo constantemente, así que casi todo lo que sobrevivía a un reinicio estaba mal.

Reescanear en cada ejecución es lo que hace la herramienta de referencia en la que esto se inspira, por el mismo motivo.

Elegir un objetivo

Un jugador del conjunto tiene que pasar varios filtros antes de merecer un ataque.

FiltroAjustePor defectoQué significa
Techo de nivelscrapbook_max_level_diff0Cuántos niveles por encima del tuyo puede estar un objetivo. 0 es «nunca por encima de mí».
Suelo de nivelscrapbook_min_level_diff0Cuántos niveles por debajo del tuyo puede estar un objetivo. 0 es sin suelo.
Fuerzascrapbook_max_attribute_pct120Tope a los atributos totales de un objetivo como porcentaje de los tuyos. 100 sería «nunca más fuerte que yo».
Lista de bloqueoarena_never_attackvacíoNombres que nunca se atacan, lleven lo que lleven.
VivoLos nombres que el servidor ha rechazado con «jugador no encontrado» se recuerdan y se saltan.

Los dos límites de nivel existen porque fallan en direcciones opuestas. Muy por encima de ti los combates se pierden; muy por debajo se ganan sin esfuerzo pero el equipo es de gama baja, así que con un álbum casi completo cuestan un combate gratuito y no devuelven nada.

Los atributos predicen el resultado mucho mejor que el nivel, así que scrapbook_max_attribute_pct es la perilla que decide de verdad. El valor por defecto de 120 admite un objetivo hasta una quinta parte más fuerte que tú, que es un combate perdido con la frecuencia suficiente para notarse. Bájalo a 100 si prefieres no perder ninguno.

La lista de bloqueo se comprueba contra todas las fuentes: las tres sugerencias de la arena, el Salón de la Fama y el conjunto del rastreador. Un nombre al que has dicho que no no puede volver por otra puerta.

La banda de búsqueda

scrapbook_search_band_enabled está activado, y cambia cómo se busca en el conjunto, no quién cumple.

En una cuenta asentada el conjunto llega a seis cifras, y el jugador con mejor puntuación está muchas veces en el extremo del rango de niveles, lo que da un combate o imposible de ganar o sin valor. Así que la búsqueda empieza en una banda alrededor de tu propio nivel y solo se ensancha cuando esa banda se agota.

AjustePor defectoQué significa
scrapbook_search_band_start10Semianchura de la banda con la que empieza la búsqueda, en niveles.
scrapbook_search_band_step10Niveles que crece la banda cada vez que se agota.
scrapbook_search_band_max100Lo más ancha que llega la banda antes de volver al principio.

Ese regreso también limpia. Haber barrido todos los niveles hasta el máximo sin encontrar objetivo se explica mejor porque lo recordado ha caducado que porque el servidor esté vacío.

Envejecimiento

scrapbook_cache_max_age_hours viene en 72. El equipo guardado es una foto, y los jugadores cambian de equipo sin parar, así que una entrada rastreada hace una semana dice más de lo que alguien llevaba que de lo que lleva ahora. Peor aún: un conjunto que ya has coleccionado es indistinguible de uno que nunca valió nada. Ponerlo a 0 desactiva el envejecimiento por completo.

Nombres muertos

A los jugadores se les cambia el nombre, se les borra y se les traslada de servidor. El servidor responde «jugador no encontrado», y sin memoria una entrada caducada del conjunto propagaría ese error y aparcaría el módulo entero durante una hora. Esos nombres se recuerdan por cuenta, así que el objetivo muerto de una cuenta nunca esconde a un jugador perfectamente válido para otra.

El conjunto está acotado en diez mil nombres. Llegar ahí significa que ha rotado mucho más de lo que rota una sesión real, así que se vacía y los pocos nombres que aún importan se vuelven a aprender a coste de una consulta desperdiciada cada uno.

Ritmo del rastreo

Dos ajustes, y hacen trabajos distintos.

AjustePor defectoQué limita
scrapbook_max_hof_lookups20Consultas por ciclo del bot.
scrapbook_crawl_requests_per_min60Consultas por minuto, en toda la cuenta. 0 desactiva el límite.

Sesenta al minuto es más o menos una consulta por segundo sostenida: suficiente para hacer crecer el conjunto de forma continua sin las ráfagas de peticiones que produciría subir solo el presupuesto por ciclo. Justo por eso existen los dos. Si quieres que el rastreo apriete más, sube ambos.

Otros ajustes

Los ajustes del rastreador y de los objetivos

AjustePor defectoQué hace
auto_scrapbookactivadoEl módulo en sí.
scrapbook_crawler_enabledactivadoRastrear el Salón de la Fama de forma continua en vez de leer solo las sugerencias de la arena.
scrapbook_after_xp_winsactivadoCazar objetivos de álbum solo después de hechos los combates de experiencia.
scrapbook_scan_arena_opponentsactivadoRegistrar también el equipo de los tres rivales que ofrece la arena, que es información gratis.
scrapbook_early_game_priorityactivadoPreferir combates de álbum mientras el personaje es de nivel bajo, que es cuando el álbum se llena más rápido.
scrapbook_hof_rankupactivadoMantener una lista de candidatos para subir en el Salón de la Fama, y no solo para objetos.
scrapbook_notify_at0Avisarme cuando el álbum llegue a estos objetos. 0 significa nunca.
buy_scrapbookactivadoComprar entradas del álbum donde el juego las ponga a la venta.

Dónde se decide

Vale la pena saberlo si lees el código: el álbum era antes un módulo de bot propio, y eso era un fallo. Él y el módulo de arena creían ambos que el enfriamiento de la arena era suyo, se copiaban los filtros mutuamente y no se ponían de acuerdo en si un mínimo de probabilidad puede vetar un combate gratuito.

La mitad que decide vive ahora en el módulo de combate. Lo que queda bajo «álbum» es la maquinaria que mantiene el conjunto digno de elegir: el rastreador, el envejecimiento, los límites de nivel y la lista de candidatos para subir.

Véase también

Mercy SF no está afiliado a Shakes & Fidget ni a Playa Games. Úsalo bajo tu responsabilidad.