https://github.com/lunarclient/apollo
Next-generation Lunar Client server API
https://github.com/lunarclient/apollo
lunar-client server-api
Last synced: about 1 month ago
JSON representation
Next-generation Lunar Client server API
- Host: GitHub
- URL: https://github.com/lunarclient/apollo
- Owner: LunarClient
- License: mit
- Created: 2022-07-14T21:34:43.000Z (over 3 years ago)
- Default Branch: master
- Last Pushed: 2025-12-23T17:52:33.000Z (about 2 months ago)
- Last Synced: 2025-12-25T07:48:57.234Z (about 2 months ago)
- Topics: lunar-client, server-api
- Language: Java
- Homepage: https://lunarclient.dev
- Size: 32 MB
- Stars: 107
- Watchers: 5
- Forks: 29
- Open Issues: 4
-
Metadata Files:
- Readme: .github/README.md
- License: license.txt
Awesome Lists containing this project
README

# Apollo
[](https://lunarclient.dev/discord)
[](https://github.com/LunarClient/Apollo/releases)
[](https://github.com/LunarClient/Apollo/blob/master/license.txt)
Apollo is a powerful tool that allows developers to create custom integrations with Lunar Client.
**Resources**
- [Documentation & Wiki](https://lunarclient.dev/apollo/introduction)
- [Downloads](https://lunarclient.dev/apollo/downloads)
- [Maven Repository](https://lunarclient.dev/maven-repository)
## Integration
### API Integration
Use the **Apollo API** directly by depending on it from our [Maven repository](https://lunarclient.dev/maven-repository).
This is the most straightforward way to create plugins and modules that communicate with Lunar Client.
See the [Waypoint module integration guide](https://lunarclient.dev/apollo/developers/modules/waypoint#integration) for a complete example.
### Lightweight Integration
Our **Lightweight integration** allows you to use Apollo features **without running the Apollo plugin**.
This is useful for developers who want Apollo functionality but prefer a more minimal approach.
There are two supported methods:
- [Lightweight JSON](https://lunarclient.dev/apollo/developers/lightweight/json/getting-started)
- [Lightweight Protobuf](https://lunarclient.dev/apollo/developers/lightweight/protobuf/getting-started)
Both approaches achieve the same goal, but with different trade-offs in terms of **complexity and flexibility**.
Read the [Lightweight introduction](https://lunarclient.dev/apollo/developers/lightweight/introduction) documentation to get started.
## Examples
Apollo includes example plugins to help you get started quickly.
These are the **same projects used for the code examples in the official documentation** on [lunarclient.dev](https://lunarclient.dev/apollo/introduction/).
Each module page on the documentation site shows how to use **API**, **Lightweight JSON**, and **Lightweight Protobuf** integrations, with code pulled directly from these projects.
### Bukkit
- API example → `example/bukkit/api/build/libs`
- Lightweight JSON example → `example/bukkit/json/build/libs`
- Lightweight Protobuf example → `example/bukkit/protos/build/libs`
### Minestom
- API example server → `example/minestom/api/build/libs`
## Building
Apollo uses [Gradle](https://gradle.org/) to handle dependencies and compile the project.
**Prerequisites**
- Java 8 JDK
- Build Tools for Spigot 1.8.8
**Compiling**
Running the following will compile the Apollo source for Java 8.
```shell
./gradlew build
```
The compiled jars will be available in build/libs for each platform:
- Bukkit: `platform/bukkit/plugin/build/libs`
- Folia: `platform/folia/build/libs`
- Minestom: `platform/minestom/build/libs`
- BungeeCord: `platform/bungee/build/libs`
- Velocity: `platform/velocity/build/libs`
## Contributing
The Apollo project is split into several modules.
- **API** - The publicly available interface for developers wishing to create custom integrations with Lunar Client.
- **Common** - The abstraction used by platform modules to reduce duplicate code and implement the protocol for Lunar Client.
- **Bukkit, Folia, Minestom, BungeeCord, Velocity** - Are modules that implement the common module for each respective platform.
Contributions can be made to Apollo by creating a pull request for improvements or fixes. For new feature ideas please consider making a
suggestion by creating an [issue](https://github.com/LunarClient/Apollo/issues) or joining our [discord](https://lunarclient.dev/discord).
## License
Apollo is licensed under the [MIT license](https://github.com/LunarClient/Apollo/blob/master/license.txt).