2
0
mirror of https://github.com/proxiodev/RedisBungee.git synced 2024-11-05 04:48:02 +00:00
RedisBungee/README.md

238 lines
7.7 KiB
Markdown
Raw Normal View History

2022-06-17 01:08:29 +00:00
# RedisBungee fork By Limework
2022-03-22 12:57:07 +00:00
2023-08-30 13:30:17 +00:00
*if you are here for transferring players to another proxy when the first proxy crashes or whatever this plugin won't do
it, tell mojang to implement transfer packet*.
2023-04-12 16:26:06 +00:00
[Click here, for more information about transfer packet](https://hypixel.net/threads/why-do-we-need-transfer-packets.1390307/)
The original project of RedisBungee is no longer maintained, so we have forked the plugin.
2023-08-30 13:30:17 +00:00
RedisBungee uses [Redis](https://redis.io) with Java client [Jedis](https://github.com/redis/jedis/)
to Synchronize players data between [BungeeCord](https://github.com/SpigotMC/BungeeCord)
or [Velocity*](https://github.com/PaperMC/Velocity) proxies
2022-07-26 11:36:28 +00:00
2023-08-30 13:30:17 +00:00
Velocity*: *version 3.1.2 or above is only supported, any version below that might work but might be
unstable* [#40](https://github.com/ProxioDev/RedisBungee/pull/40)
## Downloads
2022-07-26 11:41:57 +00:00
2023-04-09 21:56:35 +00:00
[![](https://raw.githubusercontent.com/Prospector/badges/master/modrinth-badge-72h-padded.png)](https://modrinth.com/plugin/redisbungee)
2022-08-02 13:52:34 +00:00
2023-04-09 21:56:35 +00:00
or from github releases
2022-08-02 13:52:34 +00:00
2023-04-09 21:56:35 +00:00
https://github.com/ProxioDev/RedisBungee/releases
2022-07-26 16:45:39 +00:00
2022-07-26 11:41:57 +00:00
## notes
2023-08-30 13:30:17 +00:00
2022-07-08 04:07:50 +00:00
If you are looking to use Original RedisBungee without a change to internals,
2023-08-30 13:30:17 +00:00
with critical bugs fixed, please use version [0.6.5](https://github.com/ProxioDev/RedisBungee/releases/tag/0.6.5) and
java docs For legacy Version [0.6.5](https://proxiodev.github.io/RedisBungee-JavaDocs/0.6.5-SNAPSHOT/)
as its last version before internal changes. please note that you will not get support for any old builds unless
critical bugs effecting both 0.6.5 and 0.7.0 or above.
2022-07-08 04:15:42 +00:00
2022-07-21 12:23:07 +00:00
SpigotMC resource page: [click](https://www.spigotmc.org/resources/redisbungee.87700/)
2023-08-30 13:30:17 +00:00
2022-06-17 02:03:56 +00:00
## Supported Redis versions
2023-08-30 13:30:17 +00:00
2022-06-17 02:03:56 +00:00
| Redis version | Supported |
2022-06-17 02:10:29 +00:00
|:-------------:|:---------:|
| 1.x.x | ✖ |
| 2.x.x | ✖ |
| 3.x.x | ✔ |
| 4.x.x | ✔ |
| 5.x.x | ✔ |
2022-06-17 02:10:29 +00:00
| 6.x.x | ✔ |
| 7.x.x | ✔ |
2022-06-17 02:03:56 +00:00
2022-11-01 06:11:43 +00:00
## Implementing RedisBungee in your plugin: [![RedisBungee Build](https://github.com/proxiodev/RedisBungee/actions/workflows/maven.yml/badge.svg)](https://github.com/Limework/RedisBungee/actions/workflows/maven.yml) [![](https://jitpack.io/v/ProxioDev/redisbungee.svg)](https://jitpack.io/#ProxioDev/redisbungee)
2022-05-26 01:02:31 +00:00
2023-03-23 11:42:59 +00:00
RedisBungee is distributed as a [Gradle](https://gradle.org/) project.
2022-05-26 01:02:31 +00:00
2022-11-01 06:11:43 +00:00
By using jitpack [![](https://jitpack.io/v/ProxioDev/redisbungee.svg)](https://jitpack.io/#ProxioDev/redisbungee)
2022-05-26 01:02:31 +00:00
2023-04-16 18:58:41 +00:00
# Setup jitpack repository
2023-08-30 13:30:17 +00:00
2023-04-16 18:58:41 +00:00
## maven
2023-08-30 13:30:17 +00:00
2022-07-26 11:36:28 +00:00
```xml
2022-05-26 01:02:31 +00:00
<repositories>
<repository>
<id>jitpack.io</id>
<url>https://jitpack.io</url>
</repository>
</repositories>
```
2023-08-30 13:30:17 +00:00
2023-04-16 18:58:41 +00:00
## gradle (kotlin dsl)
2023-08-30 13:30:17 +00:00
2023-04-16 18:58:41 +00:00
```kotlin
repositories {
maven("https://jitpack.io/")
}
2023-04-16 18:58:41 +00:00
```
# [BungeeCord](https://github.com/SpigotMC/BungeeCord)
2023-08-30 13:30:17 +00:00
add this in your project dependencies
2023-04-16 18:58:41 +00:00
## maven
2023-08-30 13:30:17 +00:00
2022-07-26 11:36:28 +00:00
```xml
2022-05-26 01:02:31 +00:00
<dependency>
2022-11-01 06:11:43 +00:00
<groupId>com.github.proxiodev.redisbungee</groupId>
<artifactId>RedisBungee-Bungee</artifactId>
2022-06-30 11:03:16 +00:00
<version>VERSION</version>
2022-05-27 13:05:01 +00:00
<scope>provided</scope>
2023-04-16 18:58:41 +00:00
<!-- <classifier>all</classifier> USE THIS IF YOU WANT TO USE INCLUDED JEDIS LIB BECAUSE OF RELOCATION -->
2022-05-26 01:02:31 +00:00
</dependency>
2023-04-16 18:58:41 +00:00
```
2023-08-30 13:30:17 +00:00
2023-04-16 18:58:41 +00:00
## gradle (kotlin dsl)
2023-08-30 13:30:17 +00:00
2023-04-16 18:58:41 +00:00
```
implementation("com.github.ProxioDev.redisbungee:RedisBungee-Bungee:0.11.0")
// USE THIS IF YOU WANT TO USE INCLUDED JEDIS LIB BECAUSE OF RELOACTION AND REMOVE THE ABOVE STATEMENT
implementation("com.github.ProxioDev.redisbungee:RedisBungee-Bungee:0.11.0:all") {
exclude("redis.clients", "jedis")
}
2022-05-26 01:02:31 +00:00
```
2023-08-30 13:30:17 +00:00
then in your project plugin.yml add `RedisBungee` to `depends` like this
2023-08-30 13:30:17 +00:00
2022-07-26 11:36:28 +00:00
```yaml
name: "yourplugin"
main: your.main.class
version: 1.0.0-SNAPSHOT
author: idk
depends: [ RedisBungee ]
```
## [Velocity](https://github.com/PaperMC/Velocity)
2023-08-30 13:30:17 +00:00
2023-04-16 18:58:41 +00:00
## maven
2023-08-30 13:30:17 +00:00
2022-07-26 11:36:28 +00:00
```xml
<dependency>
2022-11-01 06:11:43 +00:00
<groupId>com.github.proxiodev.redisbungee</groupId>
<artifactId>RedisBungee-Velocity</artifactId>
<version>VERSION</version>
<scope>provided</scope>
2023-04-16 18:58:41 +00:00
<!-- <classifier>all</classifier> USE THIS IF YOU WANT TO USE INCLUDED JEDIS LIB BECAUSE OF RELOCATION -->
</dependency>
```
2023-08-30 13:30:17 +00:00
2023-04-16 18:58:41 +00:00
## gradle (kotlin dsl)
2023-08-30 13:30:17 +00:00
2023-04-16 18:58:41 +00:00
```
implementation("com.github.ProxioDev.redisbungee:RedisBungee-Velocity:0.11.0")
// USE THIS IF YOU WANT TO USE INCLUDED JEDIS LIB BECAUSE OF RELOACTION AND REMOVE THE ABOVE STATEMENT
implementation("com.github.ProxioDev.redisbungee:RedisBungee-Velocity:0.11.0:all") {
exclude("redis.clients", "jedis")
}
```
2023-08-30 13:30:17 +00:00
then to make your plugin depends on RedisBungee, make sure your plugin class Annotation
have `@Dependency(id = "redisbungee")` like this
2022-07-26 11:36:28 +00:00
```java
@Plugin(
id = "myplugin",
name = "My Plugin",
version = "0.1.0-beta",
dependencies = {
@Dependency(id = "redisbungee")
}
)
public class PluginMainClass {
}
```
2023-08-30 13:30:17 +00:00
2022-07-16 03:09:04 +00:00
## Getting the latest commits to your code
2023-08-30 13:30:17 +00:00
2022-07-16 03:06:30 +00:00
If you want to use the latest commits without waiting for releases.
first, install it to your maven local repo
2023-08-30 13:30:17 +00:00
2022-07-26 11:36:28 +00:00
```bash
2022-07-16 03:06:30 +00:00
git clone https://github.com/ProxioDev/RedisBungee.git
cd RedisBungee
2023-04-06 15:26:37 +00:00
./gradlew publishToMavenLocal
2022-07-16 03:06:30 +00:00
```
2023-08-30 13:30:17 +00:00
2022-07-16 03:09:04 +00:00
then use any of these in your project.
2023-08-30 13:30:17 +00:00
2022-07-26 11:36:28 +00:00
```xml
2022-07-16 03:06:30 +00:00
<dependency>
<groupId>com.imaginarycode.minecraft</groupId>
<artifactId>RedisBungee-Bungee</artifactId>
<version>VERSION</version>
<scope>provided</scope>
2023-04-16 18:58:41 +00:00
<!-- <classifier>all</classifier> USE THIS IF YOU WANT TO USE INCLUDED JEDIS LIB BECAUSE OF RELOCATION -->
2022-07-16 03:06:30 +00:00
</dependency>
2022-07-16 03:09:04 +00:00
```
2023-08-30 13:30:17 +00:00
2022-07-26 11:36:28 +00:00
```xml
2022-07-16 03:06:30 +00:00
<dependency>
<groupId>com.imaginarycode.minecraft</groupId>
<artifactId>RedisBungee-Velocity</artifactId>
<version>VERSION</version>
<scope>provided</scope>
2023-04-16 18:58:41 +00:00
<!-- <classifier>all</classifier> USE THIS IF YOU WANT TO USE INCLUDED JEDIS LIB BECAUSE OF RELOCATION -->
2022-07-16 03:06:30 +00:00
</dependency>
```
2023-08-30 13:30:17 +00:00
2022-05-26 01:02:31 +00:00
## Javadocs
2022-05-26 00:50:08 +00:00
2023-03-25 15:46:22 +00:00
* API: https://ci.limework.net/RedisBungee/RedisBungee-API/build/docs/javadoc/
* Velocity: https://ci.limework.net/RedisBungee/RedisBungee-Velocity/build/docs/javadoc/
* Bungeecord: https://ci.limework.net/RedisBungee/RedisBungee-Bungee/build/docs/javadoc/
2022-07-15 22:33:58 +00:00
2013-09-29 20:22:52 +00:00
## Configuration
2023-08-30 13:30:17 +00:00
**REDISBUNGEE REQUIRES A REDIS SERVER**, preferably with reasonably low latency. The
default [config](https://github.com/ProxioDev/RedisBungee/blob/develop/RedisBungee-API/src/main/resources/config.yml) is
saved when the plugin first starts.
2023-04-09 21:56:35 +00:00
## compatibility with original RedisBungee in Bungeecord ecosystem
2023-08-30 13:30:17 +00:00
2023-04-09 21:56:35 +00:00
This fork ensures compatibility with old plugins, so it should work as drop replacement,
2023-08-30 13:30:17 +00:00
but since Api has been split from the platform there some changes that have to be done, so your plugin might not work
if:
2023-04-09 21:56:35 +00:00
* there is none at the moment, please report any findings at the issue page.
Cluster mode compatibility in version 0.8.0:
If you are using static legacy method `RedisBungee#getPool()` it might fail in:
2023-08-30 13:30:17 +00:00
2023-04-09 21:56:35 +00:00
* if Cluster mode is enabled, due fact its Uses different classes
2023-08-30 13:30:17 +00:00
* if JedisPool compatibility mode is disabled in the config due fact project internally switched to JedisPooled than
Jedis
2023-04-09 21:56:35 +00:00
2022-03-22 11:28:41 +00:00
## Support
2023-08-30 13:30:17 +00:00
You can join our matrix
room [here](https://matrix.to/#/!zhedzmRNSZXfuOPZUB:govindas.net?via=govindas.net&via=matrix.org)
2022-03-22 11:28:41 +00:00
![icon](https://matrix.org/images/matrix-logo-white.svg)
2023-04-09 21:56:35 +00:00
## License
This project is distributed under Eclipse Public License 1.0
You can find it [here](https://github.com/proxiodev/RedisBungee/blob/master/LICENSE)
2023-08-30 13:30:17 +00:00
You can find the original RedisBungee is by [astei](https://github.com/astei) and project can be
found [here](https://github.com/minecrafter/RedisBungee) or spigot
page [here, but its no longer available](https://www.spigotmc.org/resources/redisbungee.13494/)
2022-03-22 11:28:41 +00:00
2021-05-23 20:45:13 +00:00
## YourKit
2023-08-30 13:30:17 +00:00
YourKit supports open source projects with innovative and intelligent tools for monitoring and profiling Java and .NET
applications. YourKit is the creator
of [YourKit Java Profiler](https://www.yourkit.com/java/profiler/), [YourKit .NET Profiler](https://www.yourkit.com/.net/profiler/)
and [YourKit YouMonitor](https://www.yourkit.com/youmonitor/).
2021-05-23 20:45:13 +00:00
![YourKit](https://www.yourkit.com/images/yklogo.png)