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

240 lines
7.8 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
~~*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*.~~
In minecraft snapshot 24W03A, mojang introduced transfer packets in the protocol but, we have to wait and
see how Proxies developers will implement the apis, additionally how to implement proxy transfers in redisbungee
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.
2024-04-12 18:37:02 +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
2024-04-12 18:37:02 +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
2024-04-12 18:37:02 +00:00
2022-07-08 04:07:50 +00:00
If you are looking to use Original RedisBungee without a change to internals,
2024-04-12 18:37:02 +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/)
2024-04-12 18:37:02 +00:00
2022-06-17 02:03:56 +00:00
## Supported Redis versions
2024-04-12 18:37:02 +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 | ✖ |
| below 6.2 | ✖ |
| 6.2 or above | &#x2714 |
2022-06-17 02:10:29 +00:00
| 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
2024-04-12 18:37:02 +00:00
2023-04-16 18:58:41 +00:00
## maven
2024-04-12 18:37:02 +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>
```
2024-04-12 18:37:02 +00:00
2023-04-16 18:58:41 +00:00
## gradle (kotlin dsl)
2024-04-12 18:37:02 +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)
2024-04-12 18:37:02 +00:00
add this in your project dependencies
2023-04-16 18:58:41 +00:00
## maven
2024-04-12 18:37:02 +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
```
2024-04-12 18:37:02 +00:00
2023-04-16 18:58:41 +00:00
## gradle (kotlin dsl)
2024-04-12 18:37:02 +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
```
2024-04-12 18:37:02 +00:00
then in your project plugin.yml add `RedisBungee` to `depends` like this
2024-04-12 18:37:02 +00:00
2022-07-26 11:36:28 +00:00
```yaml
name: "yourplugin"
main: your.loaders.class
version: 1.0.0-SNAPSHOT
author: idk
depends: [ RedisBungee ]
```
## [Velocity](https://github.com/PaperMC/Velocity)
2024-04-12 18:37:02 +00:00
2023-04-16 18:58:41 +00:00
## maven
2024-04-12 18:37:02 +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>
```
2024-04-12 18:37:02 +00:00
2023-04-16 18:58:41 +00:00
## gradle (kotlin dsl)
2024-04-12 18:37:02 +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")
}
```
2024-04-12 18:37:02 +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 {
}
```
2024-04-12 18:37:02 +00:00
2022-07-16 03:09:04 +00:00
## Getting the latest commits to your code
2024-04-12 18:37:02 +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
2024-04-12 18:37:02 +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
```
2024-04-12 18:37:02 +00:00
2022-07-16 03:09:04 +00:00
then use any of these in your project.
2024-04-12 18:37:02 +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
```
2024-04-12 18:37:02 +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>
```
2024-04-12 18:37:02 +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
2024-04-12 18:37:02 +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
2024-04-12 18:37:02 +00:00
2023-04-09 21:56:35 +00:00
This fork ensures compatibility with old plugins, so it should work as drop replacement,
2024-04-12 18:37:02 +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:
2024-04-12 18:37:02 +00:00
2023-04-09 21:56:35 +00:00
* if Cluster mode is enabled, due fact its Uses different classes
2024-04-12 18:37:02 +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-12-26 22:07:33 +00:00
open an issue with question button
2022-03-22 11:28:41 +00:00
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)
2024-04-12 18:37:02 +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
2024-04-12 18:37:02 +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)