Aller au contenu

Twitch Drops — Rocket League

Rôle

Réclame automatiquement les drops Twitch Rocket League 24/7 depuis un compte secondaire dédié, sans risquer le compte Twitch principal.

Accès

LXC 106 — 192.168.1.51
Stack Python natif + systemd
Répertoire /opt/twitch-drops/
Compte Twitch 2h15_drops (secondaire, lié au compte Epic principal)
Compte Epic lié Compte principal de Val

Fonctionnement

  • TwitchDropsMiner (DevilXD) surveille en continu les streams Rocket League avec une campagne de drops active
  • Mode headless via Xvfb (écran virtuel) — aucune interface graphique visible
  • Filtre : Rocket League uniquement (priority: ["Rocket League"], priority_mode: PRIORITY_ONLY)
  • Token OAuth sauvegardé dans cookies.jar — ne nécessite pas de ré-authentification fréquente

Stratégie compte secondaire

Le compte Twitch 2h15_drops est utilisé à la place du compte principal pour isoler le risque de ban :

  • Si Twitch détecte et bannit → seul 2h15_drops est affecté
  • Le compte Twitch principal reste intact
  • En cas de ban → rebasculer le compte Epic sur le compte Twitch principal via epicgames.com → Connexions

Authentification initiale (ou ré-auth)

  1. Redémarrer le service : systemctl restart twitch-drops sur LXC 106
  2. Recevoir la notification ntfy (topic twitch) avec l'URL et le code
  3. Ouvrir l'URL et entrer le code — se connecter avec le compte 2h15_drops
  4. Le token est sauvegardé automatiquement dans cookies.jar

Notifications ntfy (topic twitch)

Message Déclencheur
Auth Twitch requise Ré-authentification nécessaire (code + URL inclus)
Token invalide ou expiré Auth échouée — redémarrer le service
Compte banni ou suspendu Ban détecté — rebasculer Epic vers compte principal
Service arrêté Process twitch-drops inactif

Monitoring

  • Script /opt/twitch-drops/monitor.py — cron toutes les 5 min (/etc/cron.d/twitch-monitor)
  • Détecte : crash service, ban/suspension, token invalide
  • Uptime Kuma : push monitor "TwitchDropsMiner" (à configurer, push URL à intégrer dans monitor.py)

Fichiers importants

Chemin Rôle
/opt/twitch-drops/ Répertoire principal (clone GitHub)
/opt/twitch-drops/env/ Virtualenv Python
/opt/twitch-drops/settings.json Config (jeu = Rocket League, mode = priority only)
/opt/twitch-drops/cookies.jar Token OAuth Twitch sauvegardé
/opt/twitch-drops/monitor.py Script de surveillance ntfy
/opt/twitch-drops/monitor_state.txt État courant (évite les alertes dupliquées)
/etc/cron.d/twitch-monitor Cron surveillance toutes les 5 min
/etc/systemd/system/twitch-drops.service Service systemd

Commandes utiles

# Statut
systemctl status twitch-drops

# Logs
journalctl -u twitch-drops -n 50

# Redémarrer (déclenche une nouvelle auth si token invalide)
systemctl restart twitch-drops

# Tester le monitoring manuellement
python3 /opt/twitch-drops/monitor.py

Mise à jour

cd /opt/twitch-drops
git pull
systemctl restart twitch-drops