Git Product home page Git Product logo

leek-wars's Introduction

LEEK-WARS

Leek Wars JAVA Utilities for Farmers - version 1.8.4

Liens

Outillage implémenté

  • Connexion / déconnexion
  • Réinitialisation des registres
  • Vérification du seuil des registres (limite à 100)
  • Lancement de combats (poireau, éleveur, équipe)
  • Ultra Fast Garden : lancer tous les combats d'un poireau (ou de tous les poireaux)
  • Ultra Fast Garden : lancer tous les combats d'un éleveur
  • Ultra Fast Garden : lancer tous les combats d'une composition d'équipe
  • Trace des flux JSON

Versions

  • 1.0 : version initiale
  • 1.1 : prise en compte des changements dans l'API du potager suite à la version 1.92 de LeekWars
  • 1.2 : ajout de méthodes pour la récupération des différents classements
  • 1.3 : prise en compte des changements dans l'API du potager suite à la version 1.94 de LeekWars
  • 1.4 : prise en compte de la version de l'API, ajout d'un "main" pour le fastgarden
  • 1.5 : prise en compte de la version 2.0.2 de LeekWars : le token est désormais passé au format JWT le header Authorization: Bearer <token>
  • 1.6 : prise en compte des évolutions de l'API (après la 2.0.2) : erreur via le statut HTTP désormais
  • 1.6.1 : prise en compte du changement dans l'API sur la récupération d'un combat
  • 1.7 : migration log4j 1.x vers SLF4J / logback
  • 1.7.1 : correction logging + nouveau chemin des images statiques depuis la 2.12.0
  • 1.8 : migration Java SE 8 et JUnit 5, correction récupération des trophées suite changement dans l'API v2.25
  • 1.8.1 : correction affichage des flags
  • 1.8.2 : correction suite à breaking change dans l'API de login depuis la 2.27.0
  • 1.8.3 : amélioration HttpUtils suite à erreur "429 Too many request"
  • 1.8.4 : correction suite à breaking change dans l'API de récupération d'un combat d'équipe, Upgrade dependencies
  • 1.8.5 : correction suite à breaking change dans l'API de login depuis la 2.29.0
  • 1.9.0 : correction suite à breaking change dans l'API depuis la 2.31.0 (get -> post) + fix "disconnect"

Infos développeurs

Environnement

  • Workspace en UTF-8
  • Maven 3
  • Java 8
  • Libs : JUnit 5, slf4j, google gson

Eléments de l'API utilisés

  • Connexion, récupération du token : farmer/login (POST depuis la 2.31.0 de LW)
  • Invalidation du token : farmer/disconnect (POST depuis ma 2.31.0 de LW)
  • Récupération/Mise à jour des infos de l'éleveur : farmer/get/[farmer_id]
  • Récupérer les infos de l'équipe : team/get/[team_id]
  • Récupérer les infos privées de l'équipe : team/get-private/[team_id]/[token]
  • Récupérer le potager : garden/get/[token]
  • Récupérer le potager d'un poireau : garden/get-leek-opponents/[leek_id]/[token] (depuis la 1.92 de LW)
  • Récupérer le potager d'un éleveur : garden/get-farmer-opponents/[token] (depuis la 1.92 de LW)
  • Récupérer le potager d'une composition d'équipe : garden/get-composition-opponents/[compo_id]/[token] (depuis la 1.92 de LW)
  • Lancement d'un combat éleveur : garden/start-farmer-fight (POST depuis la 2.31.0 de LW)
  • Lancement d'un combat solo : garden/start-solo-fight (POST depuis la 2.31.0 de LW)
  • Lancement d'un combat d'équipe : garden/start-team-fight (POST depuis la 2.31.0 de LW)
  • Récupérer les infos d'un combat : fight/get/[fight_id]
  • Inscription aux tournois éleveurs : farmer/register-tournament/[token]
  • Inscription aux tournois solos : leek/register-tournament/[leek_id]/[token]
  • Inscription aux tournois d'équipe : team/register-tournament/[compo_id]/[token]
  • Récupérer les registres d'un poireau : leek/get-registers/[leek_id]/[token]
  • Positionner un registre d'un poireau : leek/set-register/[leek_id]/[key]/[value]/[token]
  • Supprimer un registre d'un poireau leek/delete-register/[leek_id]/[key]/[token]
  • Lister les trophées de l'éleveur : trophy/get-farmer-trophies/[farmer_id]/[lang]/[token]
  • Obtenir le classement de l'éleveur : ranking/get-farmer-rank/[farmer_id]/[order=talent|name|total_level]
  • Obtenir le classement d'un poireau : ranking/get-leek-rank/[leek_id]/[order=talent|name|level]
  • Obtenir les classements Fun : ranking/fun/[token]
  • Obtenir la version courante de l'API : leek-wars/version

How To

Problèmes

Exception in thread "main" java.awt.AWTError: Assistive Technology not found: org.GNOME.Accessibility.AtkWrapper

Caused by: java.lang.ClassNotFoundException: org.GNOME.Accessibility.AtkWrapper

💡 https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=822642

leek-wars's People

Contributors

lebezout avatar dependabot[bot] avatar tyrcho avatar

Stargazers

thomas chaillan avatar Jules avatar  avatar Nelson avatar

Watchers

James Cloos avatar  avatar Jules avatar

Forkers

tyrcho

leek-wars's Issues

PKIX path building failed:

Salut, merci d'avoir partagé ce projet !

J'ai fait un petit code pour tester et j'ai une exception ... c'est sensé toujours marcher ? Je crois que le certificat du site a changé depuis début janvier. Ou alors j'ai une erreur bête dans mon code ?

package com.leekwars.utils.fastgarden;

import java.io.File;
import java.text.SimpleDateFormat;
import java.util.Date;

import com.leekwars.utils.DefaultLeekWarsConnector;
import com.leekwars.utils.fastgarden.impl.HtmlReportFastGardenVisitor;

public class Main {
	public static final DefaultLeekWarsConnector tyrcho = new DefaultLeekWarsConnector("tyrcho", "MonPassword");
	private static final File HTML_TEMPLATE_FILE = new File("src/main/resources/report_template.html");
	private static final String TIMESTAMP = new SimpleDateFormat("yyyyMMdd").format(new Date());

	public static void main(String[] args) throws Exception {
		System.setProperty("javax.net.ssl.keyStore", "src/main/security/lw.jks");
		System.setProperty("javax.net.ssl.trustStore", "src/main/security/jssecacerts");

		final File output = new File("target/reports", TIMESTAMP + "_TODO.html");
		HtmlReportFastGardenVisitor lReport = new HtmlReportFastGardenVisitor(HTML_TEMPLATE_FILE, output);
		UltraFastGarden.forAll(tyrcho, lReport);
		lReport.generate();
	}
}

Exception in thread "main" com.leekwars.utils.exceptions.LWException: javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
	at com.leekwars.utils.http.HttpUtils.get(HttpUtils.java:53)
	at com.leekwars.utils.AbstractLeekWarsConnector.connect(AbstractLeekWarsConnector.java:209)
	at com.leekwars.utils.AbstractLeekWarsConnector.connectIfNeeded(AbstractLeekWarsConnector.java:226)
	at com.leekwars.utils.fastgarden.UltraFastGarden.forAll(UltraFastGarden.java:176)
	at com.leekwars.utils.fastgarden.Main.main(Main.java:24)
Caused by: javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
	at sun.security.ssl.Alerts.getSSLException(Alerts.java:192)
	at sun.security.ssl.SSLSocketImpl.fatal(SSLSocketImpl.java:1949)
	at sun.security.ssl.Handshaker.fatalSE(Handshaker.java:302)
	at sun.security.ssl.Handshaker.fatalSE(Handshaker.java:296)
	at sun.security.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:1506)
	at sun.security.ssl.ClientHandshaker.processMessage(ClientHandshaker.java:216)
	at sun.security.ssl.Handshaker.processLoop(Handshaker.java:979)
	at sun.security.ssl.Handshaker.process_record(Handshaker.java:914)
	at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:1062)
	at sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1375)
	at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1403)
	at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1387)
	at sun.net.www.protocol.https.HttpsClient.afterConnect(HttpsClient.java:559)
	at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:185)
	at sun.net.www.protocol.https.HttpsURLConnectionImpl.connect(HttpsURLConnectionImpl.java:153)
	at com.leekwars.utils.http.HttpUtils.get(HttpUtils.java:49)
	... 4 more
Caused by: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
	at sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:387)
	at sun.security.validator.PKIXValidator.engineValidate(PKIXValidator.java:292)
	at sun.security.validator.Validator.validate(Validator.java:260)
	at sun.security.ssl.X509TrustManagerImpl.validate(X509TrustManagerImpl.java:324)
	at sun.security.ssl.X509TrustManagerImpl.checkTrusted(X509TrustManagerImpl.java:229)
	at sun.security.ssl.X509TrustManagerImpl.checkServerTrusted(X509TrustManagerImpl.java:124)
	at sun.security.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:1488)
	... 15 more
Caused by: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
	at sun.security.provider.certpath.SunCertPathBuilder.build(SunCertPathBuilder.java:146)
	at sun.security.provider.certpath.SunCertPathBuilder.engineBuild(SunCertPathBuilder.java:131)
	at java.security.cert.CertPathBuilder.build(CertPathBuilder.java:280)
	at sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:382)
	... 21 more

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.