Guía pública

Cómo funcionan los sorteos de FragBot

Esta página explica cómo participar en los sorteos de skins de CS2 de FragBot, qué información se publica y qué se puede comprobar después.

Resumen rápido

  1. Al crear un sorteo, el bot genera una semilla aleatoria secreta y publica solo su huella digital (hash). Es un compromiso previo de aleatoriedad.
  2. Participas desde el mensaje del sorteo en Discord con el botón Participar.
  3. Cuando termina, el bot deja de aceptar participaciones, revela la semilla y selecciona a los ganadores a partir de esa semilla y de las participaciones elegibles.
  4. Puedes comprobar que la semilla revelada corresponde al hash publicado. Para repetir la selección hace falta algo más que esa comprobación.
  5. El equipo del servidor entrega los premios manualmente mediante Steam. FragBot no envía ofertas de intercambio ni controla una cuenta de Steam.

Participar desde Discord

Abre el mensaje del sorteo en el servidor y pulsa Participar. La entrada base es gratuita y equivale a una papeleta. Cada sorteo puede exigir, según lo que haya configurado el equipo del servidor, un rol, una antigüedad mínima en el servidor, verificar Steam mediante inicio de sesión o una antigüedad mínima de la cuenta de Steam.

El botón Papeleta extra permite comprar una papeleta adicional con monedas ganadas participando en el chat. Actualmente cada una cuesta 100 monedas y se pueden acumular hasta cinco papeletas en un mismo sorteo, incluida la gratuita. Las papeletas aumentan el peso de esa participación en la selección, pero una misma cuenta de Discord no puede ganar dos veces el mismo sorteo.

La medida de una participación por cuenta de Steam es opcional. Cuando el equipo del servidor la activa, exige vincular y verificar la cuenta de Steam mediante su inicio de sesión y rechaza otra participación con el mismo SteamID verificado. Esta medida limita ese caso concreto, pero no demuestra por sí sola que una persona tenga una única cuenta de Discord ni evita todos los intentos de cuentas múltiples.

Semilla y compromiso de aleatoriedad

Antes de que exista una lista de participantes, FragBot genera una semilla aleatoria y calcula seedHash = sha256(seed). El hash se publica en el mensaje del sorteo y en su página de transparencia. La semilla se mantiene oculta hasta que el sorteo termina.

Al finalizar, se revela la semilla. Comprobar que sha256(seed) coincide con el hash publicado verifica el compromiso: la semilla revelada es la misma que se había fijado antes de conocer la lista de participantes. Esa comprobación no repite por sí sola la elección de ganadores.

La selección usa una secuencia determinista basada en SHA-256, sin sesgo de módulo, y extrae ganadores sin reemplazo. Para reproducirla se necesita la semilla, el mismo orden de las participaciones elegibles y el peso de cada una. Las participaciones se ordenan por hora de entrada e ID de Discord. Al cerrar el sorteo se vuelven a aplicar sus requisitos, por lo que una persona que ya no cumpla las condiciones entonces no forma parte de la selección. Verificar el hash y reproducir la selección son comprobaciones distintas.

Estados del sorteo

  • Activo: admite participaciones hasta su hora de cierre.
  • Terminado: no admite nuevas participaciones. La semilla ya es pública y el bot finaliza o reintenta la selección si se produjo un fallo transitorio.
  • Cancelado: se cancela mientras estaba activo y no se seleccionan ganadores.

El cierre y la persistencia del resultado se realizan de forma que un reinicio o un reintento no vuelvan a sortear ganadores ya guardados. Puede no haber ganadores si no queda ninguna participación elegible en el momento de cerrar.

Entrega del premio

Después de la selección, el bot intenta enviar al ganador un mensaje directo con las instrucciones para guardar su Steam Trade URL. También puede guardarse con el comando /trade-url. Esa URL sirve para recibir la oferta y se trata como información privada: no aparece en la página de transparencia ni en los listados públicos.

El equipo del servidor envía la oferta de intercambio manualmente desde Steam y, cuando procede, marca la entrega en Discord. El bot no automatiza intercambios. No compartas tus credenciales de Steam con nadie; el proceso de entrega no las necesita.

Qué muestra la transparencia pública

La página de detalle muestra el estado, el hash comprometido, la semilla cuando corresponde, las participaciones con sus ID públicos de Discord, sus papeletas y la hora de entrada, además de los ganadores actuales. No publica Trade URLs ni otros datos privados de Steam.

  1. Abre el enlace de transparencia del mensaje de Discord.
  2. Anota el hash publicado al crear el sorteo.
  3. Cuando esté terminado, comprueba que la huella digital de la semilla revelada coincide con ese hash.
  4. Revisa las participaciones, sus papeletas y los requisitos aplicables.
  5. Si quieres reproducir la selección, utiliza la semilla, las participaciones elegibles ordenadas y el mismo algoritmo. No confundas esta reproducción con la verificación del hash.

Rutas públicas

  • Sorteos activos publicados: /sorteos
  • Detalle y transparencia de un sorteo publicado: /sorteos/{id}
  • Esta documentación: /docs/sorteos

Estas rutas son de solo lectura y no requieren iniciar sesión en Discord.