Ce dépôt contient les scripts Python développés dans le cadre des 24h du Code (Jeu 3026), en réponse au sujet proposé par Covéa. Ce projet offre un Bot Discord interactif, des scripts d'automatisation et une architecture API robuste pour dominer la partie en optimisant chaque action.
Pour interagir proprement avec le serveur du jeu sans dupliquer de code, nous avons structuré nos appels HTTP autour d'un système de classes orienté objet.
C'est le cœur du réacteur. Cette classe de base gère toute la tuyauterie HTTP :
- Authentification : Elle injecte automatiquement le header
codinggame-id(Token JWT) dans toutes les requêtes. - Gestion des erreurs : Elle intercepte les codes HTTP (comme les 400 ou les 429 Too Many Requests) et formate les erreurs proprement.
- Méthodes génériques : Elle expose des fonctions
get(),post(),put(), etpatch()prêtes à l'emploi.
Les autres classes héritent de (ou utilisent) cette classe Api pour cibler des routes spécifiques :
- 🛒
MarketAPI: Gère les routes/marketplace/offerset/marketplace/purchases. Permet de lister les offres, d'acheter et de vendre des ressources. - 🚨
TaxeAPI: Gère la route/taxes. Permet de vérifier les amendes en cours (DUE) et d'automatiser leur paiement (/taxes/{taxId}). - ⚔️
TheftAPI: Gère la route/thefts/player. Permet d'envoyer les paramètres d'attaque (type de ressource et montant en Or) pour piller les autres joueurs.
Le dashboard est présenté sous la forme d'un bot discord.
Acheter au bon moment est crucial pour évoluer vite. Nous avons intégré un système de Sniping directement relié à notre Bot Discord :
- Vous définissez un prix cible (ex: "Je veux une alerte si le BOISIUM passe sous les 2 G/unité").
- Le Sniper scanne les offres en temps réel (en lisant notre fichier de cache local, sans spammer l'API).
- Dès qu'un joueur met en vente une ressource à un prix inférieur ou égal à votre seuil, le bot envoie immédiatement une notification (Ping) sur Discord !
- Vous pouvez alors bondir sur l'occasion et acheter les ressources avant tout le monde.
Le bot gère et facilite l'accès aux mécaniques principales du jeu 3026 :
Le jeu tourne autour de 4 ressources fondamentales. L'OR sert de monnaie d'échange, tandis que le FERONIUM, le BOISIUM et le CHARBONIUM servent à l'artisanat et aux améliorations.
Pour explorer plus loin, il faut investir ! Le bot permet de suivre les coûts pour améliorer le Bateau (vitesse, vision, portée) et l'Entrepôt / Storage (pour stocker plus de ressources sans déborder).
La mécanique PvP par excellence. Vous pouvez investir de l'Or pour envoyer des pirates piller le joueur le plus riche du serveur sur une ressource ciblée. Le bot propose un formulaire sécurisé sur Discord (Modal) pour éviter les erreurs de frappe ruineuses !
Tomber en panne d'énergie en pleine mer coûte cher. Le jeu vous sauve, mais vous inflige une taxe de secours (RESCUE). Nos outils (via la TaxeAPI) permettent de les repérer et de les payer instantanément.
En plus du bot Discord interactif, nous avons développé des scripts autonomes qui tournent en tâche de fond pour optimiser notre économie.
Dans le jeu, l'entrepôt a une limite stricte. Si vos bateaux ramènent des ressources alors que l'entrepôt est plein, ces ressources sont perdues ! Comment fonctionne ce script ?
- Il interroge régulièrement les détails du joueur via l'API.
- Il vérifie la quantité actuelle de chaque ressource (FERONIUM, BOISIUM, CHARBONIUM).
- Si une ressource dépasse un certain seuil (ex: 90% de la capacité maximale), le bot crée automatiquement une offre de vente via la
MarketAPI. - Résultat : L'entrepôt ne déborde jamais, et l'équipe s'enrichit en Or (G) en continu, même quand on ne joue pas !
Pour gérer l'économie sans se faire bannir par le serveur (Erreur HTTP 429), nous avons développé un système de Broker intelligent pour le Marché (Marketplace).
- Consulter les offres : Voir qui vend quoi et à quel prix.
- Créer des offres : Mettre en vente nos surplus de ressources.
- Acheter : Acquérir instantanément les ressources manquantes pour notre prochaine amélioration.
L'API du marché est très sollicitée. Si nos scripts, le Sniper et le bot Discord demandaient la liste des offres toutes les secondes, l'API bloquerait notre équipe. La solution :
- Un seul script dédié (Le Broker) interroge l'API à intervalles réguliers et raisonnables.
- Il sauvegarde immédiatement toutes les offres actives dans un fichier local
shop.json. - Lorsque les joueurs sur Discord ou nos bots automatiques veulent consulter le marché, ils lisent le fichier
shop.jsoninstantanément, sans faire aucune requête HTTP vers le serveur du jeu. - Cela garantit une interface ultra-fluide, permet au Sniper d'être ultra-réactif, et protège totalement notre limite de requêtes (Rate Limit) !
Notre infrastructure lit intelligemment notre base de données SQLite locale (world.db). Cela permet d'analyser la carte hors-ligne : compter le nombre exact de tuiles découvertes, lister les îles connues, etc..
✍️ Auteur : Maxence ROGER Baptiste ROUGÉ Quentin VILLALON






