diff --git a/README.md b/README.md index bbe101c..9d64fe5 100644 --- a/README.md +++ b/README.md @@ -1,220 +1,14 @@ -# RedisBungee fork By Limework - -~~*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 - -[Click here, for more information about transfer packet](https://hypixel.net/threads/why-do-we-need-transfer-packets.1390307/) +# RedisBungee Limework's Fork The original project of RedisBungee is no longer maintained, so we have forked the plugin. 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 -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 [![](https://raw.githubusercontent.com/Prospector/badges/master/modrinth-badge-72h-padded.png)](https://modrinth.com/plugin/redisbungee) -or from github releases - -https://github.com/ProxioDev/RedisBungee/releases - -## notes - -If you are looking to use Original RedisBungee without a change to internals, -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. - -SpigotMC resource page: [click](https://www.spigotmc.org/resources/redisbungee.87700/) - -## Supported Redis versions - -| Redis version | Supported | -|:-------------:|:---------:| -| 1.x.x | ✖ | -| 2.x.x | ✖ | -| 3.x.x | ✖ | -| 4.x.x | ✖ | -| 5.x.x | ✖ | -| below 6.2 | ✖ | -| 6.2 or above | ✔ | -| 7.x.x | ✔ | - -## 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) - -RedisBungee is distributed as a [Gradle](https://gradle.org/) project. - -By using jitpack [![](https://jitpack.io/v/ProxioDev/redisbungee.svg)](https://jitpack.io/#ProxioDev/redisbungee) - -# Setup jitpack repository - -## maven - -```xml - - - jitpack.io - https://jitpack.io - - -``` - -## gradle (kotlin dsl) - -```kotlin -repositories { - maven("https://jitpack.io/") -} -``` - -# [BungeeCord](https://github.com/SpigotMC/BungeeCord) - -add this in your project dependencies - -## maven - -```xml - - com.github.proxiodev.redisbungee - RedisBungee-Bungee - VERSION - provided - - - -``` - -## gradle (kotlin dsl) - -``` -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") -} -``` - -then in your project plugin.yml add `RedisBungee` to `depends` like this - -```yaml -name: "yourplugin" -main: your.loaders.class -version: 1.0.0-SNAPSHOT -author: idk -depends: [ RedisBungee ] -``` - -## [Velocity](https://github.com/PaperMC/Velocity) - -## maven - -```xml - - com.github.proxiodev.redisbungee - RedisBungee-Velocity - VERSION - provided - - -``` - -## gradle (kotlin dsl) - -``` -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") -} -``` - -then to make your plugin depends on RedisBungee, make sure your plugin class Annotation -have `@Dependency(id = "redisbungee")` like this - -```java -@Plugin( - id = "myplugin", - name = "My Plugin", - version = "0.1.0-beta", - dependencies = { - @Dependency(id = "redisbungee") - } -) -public class PluginMainClass { - -} -``` - -## Getting the latest commits to your code - -If you want to use the latest commits without waiting for releases. -first, install it to your maven local repo - -```bash -git clone https://github.com/ProxioDev/RedisBungee.git -cd RedisBungee -./gradlew publishToMavenLocal -``` - -then use any of these in your project. - -```xml - - com.imaginarycode.minecraft - RedisBungee-Bungee - VERSION - provided - - -``` - -```xml - - com.imaginarycode.minecraft - RedisBungee-Velocity - VERSION - provided - - -``` - -## Javadocs - -* 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/ - -## Configuration - -**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. - -## compatibility with original RedisBungee in Bungeecord ecosystem - -This fork ensures compatibility with old plugins, so it should work as drop replacement, -but since Api has been split from the platform there some changes that have to be done, so your plugin might not work -if: - -* 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: - -* if Cluster mode is enabled, due fact its Uses different classes -* if JedisPool compatibility mode is disabled in the config due fact project internally switched to JedisPooled than - Jedis - ## Support open an issue with question button diff --git a/RedisBungee-API/src/main/resources/config.yml b/RedisBungee-API/src/main/resources/config.yml index a7fea36..edbf81e 100644 --- a/RedisBungee-API/src/main/resources/config.yml +++ b/RedisBungee-API/src/main/resources/config.yml @@ -1,5 +1,12 @@ # RedisBungee configuration file. -# you need Redis so get Redis from http://redis.io/ or install it from your package manager +# Notice: +# Redis 7.2.4 is last free and open source Redis version after license change +# https://download.redis.io/releases/redis-7.2.4.tar.gz which you have to compile yourself, +# unless your package manager still provide it. +# Here is The alternatives +# - 'ValKey' By linux foundation https://valkey.io/download/ +# - 'KeyDB' by Snapchat inc https://docs.keydb.dev/docs/download/ + # The Redis server you will use. # these settings are ignored when cluster mode is enabled. @@ -41,9 +48,12 @@ max-redis-connections: 10 # Keep note that SSL/TLS connections will decrease redis performance so use it when needed. useSSL: false +# An identifier for this network, which helps to separate redisbungee instances on same redis instance. +# You can use environment variable 'REDISBUNGEE_NETWORK_ID' to override +network-id: "main" + # An identifier for this BungeeCord / Velocity instance. Will randomly generate if leaving it blank. -# Tip: you can set proxy id using Environment variable REDISBUNGEE_PROXY_ID which will override this config option -# before launch +# You can set Environment variable 'REDISBUNGEE_PROXY_ID' to override proxy-id: "proxy-1" # since RedisBungee Internally now uses JedisPooled instead of Jedis, JedisPool.