Giter Site home page Giter Site logo

molixiaoge / async-gamequery-lib Goto Github PK

View Code? Open in Web Editor NEW

This project forked from ribasco/async-gamequery-lib

0.0 1.0 0.0 32.76 MB

A Java based Asynchronous Game Query Library built on top of Netty. Supports Steam/Source game protocols and others

Home Page: https://ribasco.github.io/async-gamequery-lib/

License: MIT License

Java 99.51% Batchfile 0.09% Shell 0.40%

async-gamequery-lib's Introduction

Asynchronous Game Query Library

Maven Donate Build Status Dependency Status Javadocs Gitter Codacy Badge Project Stats

It's a game query library which provides a convenient way for java programs to execute asynchronous requests to game servers/services. It's built on top of Netty as it's core transport engine and use AsyncHttpClient for web services.

Supported Games

Project Resources

Discussion Platforms

If you have any inquiries,concerns or suggestions please use one of the official communication channels for this project

Implementations

Below is the list of what is currently implemented on the library

  • Valve Master Server Query Protocol
  • Valve Source Query Protocol
  • Valve Steam Web API
  • Valve Steam StoreFront Web API
  • Valve Dota 2 Web API
  • Valve CS:GO Web API
  • Valve Source Log Handler (a log monitor service)
  • Supercell Clash of Clans Web API

Requirements

  • Java JDK 8
  • Apache Commons Lang 3.x
  • Apache Commons Math 3.x
  • Netty 4.1.x
  • AsyncHttpClient 2.1.x
  • SLF4J 1.7.x
  • Google Gson 2.8.x
  • Google Guava 23.x

Installation

Just add the following dependencies to your maven pom.xml. Only include the modules you need.

Install from Maven Central

Valve Master Server Query Protocol

<dependency>
    <groupId>com.ibasco.agql</groupId>
    <artifactId>agql-steam-master</artifactId>
    <version>0.1.5</version>
</dependency>

Valve Source Query Protocol

<dependency>
    <groupId>com.ibasco.agql</groupId>
    <artifactId>agql-source-query</artifactId>
    <version>0.1.5</version>
</dependency>

Valve Steam Web API

<dependency>
    <groupId>com.ibasco.agql</groupId>
    <artifactId>agql-steam-webapi</artifactId>
    <version>0.1.5</version>
</dependency>

Valve Dota 2 Web API

<dependency>
    <groupId>com.ibasco.agql</groupId>
    <artifactId>agql-dota2-webapi</artifactId>
    <version>0.1.5</version>
</dependency>

Valve CS:GO Web API

<dependency>
    <groupId>com.ibasco.agql</groupId>
    <artifactId>agql-csgo-webapi</artifactId>
    <version>0.1.5</version>
</dependency>

Supercell Clash of Clans Web API

<dependency>
    <groupId>com.ibasco.agql</groupId>
    <artifactId>agql-coc-webapi</artifactId>
    <version>0.1.5</version>
</dependency>

Install from Source

Clone from remote repository then mvn install. All of the modules will be installed to your local maven repository.

git clone https://github.com/ribasco/async-gamequery-lib.git
cd async-gamequery-lib
mvn install

Usage

For usage examples, please refer to the site docs.

Interactive Examples

To run the available examples, I have included a convenience script (run-example.sh) that will allow you to pick a specific example you want to run.

The script accepts a "key" that represents an example application. To get a list of keys, simply invoke the script without arguments, for example:

raffy@spinmetal:~/projects/async-gamequery-lib$ ./run-example.sh
Error: Missing Example Key. Please specify the example key. (e.g. source-query)

====================================================================
List of available examples
====================================================================
- Source Server Query Example      (key: source-query)
- Master Server Query Example      (key: master-query)
- Source Rcon Example              (key: source-rcon)
- Clash of Clans Web API Example   (key: coc-webapi)
- CS:GO Web API Example            (key: csgo-webapi)
- Steam Web API Example            (key: steam-webapi)
- Steam Storefront Web API Example (key: steam-store-webapi)
- Source Log Listener Example      (key: source-logger)
- Steam Econ Web API Example       (key: steam-econ-webapi)
- Dota2 Web API Example            (key: dota2-webapi)

If you are running a web service type example, you will be prompted with an API key. Simply copy and paste the key to the console.

raffy@spinmetal:~/projects/async-gamequery-lib$ ./run-example.sh coc-webapi
Running example for coc-webapi
[INFO] Scanning for projects...
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building AGQL - Examples 0.1.5
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- exec-maven-plugin:1.5.0:java (default-cli) @ agql-lib-examples ---
19:59:25.659 [com.ibasco.agql.examples.base.ExampleRunner.main()] INFO  com.ibasco.agql.examples.base.ExampleRunner - Running Example : coc-webapi
Please input your API Token:

Note:

  • Don't forget to perform a mvn clean install before running an example
  • The output can be reviewed from the logs directory under the project's directory.

Protocol Specifications

References you might find helpful regarding the implementations

Future Integrations

My planned integrations for future releases.

  • Riot Games - League of Legends Web API

Contributing

Fork it and submit a pull request. Any type of contributions are welcome.

Special Thanks/Sponsors

  • ej Technologies - Developer of the award-winning JProfiler, a full-featured "All-in-one" Java Profiler. Click on the icon below to find out more.

    JProfiler

  • JetBrains - For providing the open-source license for their awesome Java IDE.

    IntelliJ IDEA

async-gamequery-lib's People

Contributors

quanticc avatar

Watchers

 avatar

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.