Skip to content

The api files for the seekers projects.

License

Notifications You must be signed in to change notification settings

seekers-dev/seekers-api

Repository files navigation

Seekers API

Jitpack Maven Package Java CI with Maven GitHub License GitHub top language GitHub commit activity

Seekers API is a repository that provides a gRPC-based api communication interface for the Seekers application. It enables efficient and reliable communication between clients and servers using the gRPC framework.

Installation

Check out the latest release for prebuilt packages.

Alternatively, you can get snapshots from Jitpack.

Messages

classDiagram
    class Player {
        string id
        List<<string>> seekers_ids
        string camp_id
        uint32 score
    }
    class Camp {
        string id
        string player_id
        double width
        double height
    }
    class Physical {
        string id
        Vector2D acceleration
        Vector2D velocity
        Vector2D position
    }
    class Goal {
        string camp_id
        double time_owned
    }
    class Seeker {
        string player_id
        double magnet
        Vector2D target
        double disable_counter
    }
    
    Goal --|> Physical
    Seeker --|> Physical
Loading

Services

sequenceDiagram
    Client->> Server: Enters game
    Server->> Client: Returns token and properties
    loop Runtime
        Client->> Server: Submit changes with token
        Server->> Client: Returns new state
    end
Loading

Contributing

Contributions to Seekers gRPC are welcome! If you want to contribute, please follow these guidelines:

  1. Fork the repository and clone it locally.
  2. Create a new branch for your feature or bug fix.
  3. Make your changes and ensure that the code compiles without any errors.
  4. Commit your changes and push them to your forked repository and submit a pull request. Please provide a short explanation of your changes in the pull request.
  5. We will review your changes and merge your request!

Please make sure to follow the project's coding style, guidelines, and standards.

License

This project is licensed under the GNU General Public License v3.0.