Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

0.12.0 #86

Merged
merged 75 commits into from
Apr 28, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
75 commits
Select commit Hold shift + click to select a range
006066f
prepare for 0.12.0
ham1255 Apr 12, 2024
8aaae67
new data system
ham1255 Apr 12, 2024
f96c575
config changes
ham1255 Aug 31, 2023
16576ab
new config options: handle-motd, reconnect to last server
ham1255 Aug 31, 2023
a2f1ec2
remove autoclosable interface from proxy data manager
ham1255 Aug 31, 2023
6d40c19
change false to true as default for kick-when-online option
ham1255 Aug 31, 2023
3c4f0d8
oops forgotten to change something for kick when online
ham1255 Aug 31, 2023
a0fdd6d
welcome adventure api
ham1255 Sep 10, 2023
11a0d84
remove weird javadocs
ham1255 Sep 10, 2023
f6e1ca6
make varable for depeneds, remove javadocs for adventure from impleme…
ham1255 Sep 10, 2023
e897a60
remove all old messages code, new lang file
ham1255 Sep 10, 2023
e70a6e3
implement last server connect on join, closes #84
ham1255 Sep 10, 2023
d1d848f
remove tests as its no longer used
ham1255 Sep 12, 2023
7183e80
bungeecord version
ham1255 Sep 12, 2023
dd38532
config log changes, introduction of new env REDISBUNGEE_PROXY_ID
ham1255 Apr 12, 2024
7ba54eb
include build date
ham1255 Sep 12, 2023
b7433bc
Remove unnecessary public in some methods in plugin interface
ham1255 Sep 12, 2023
76c362c
log version / build date
ham1255 Sep 14, 2023
6bcba06
ignore bungeecord commands override on velocity
ham1255 Sep 19, 2023
20932d8
addtional stuff for lang config file
ham1255 Sep 19, 2023
5ea8932
lang file changes
ham1255 Sep 28, 2023
97cdf31
provide better info from the wiki
ham1255 Sep 28, 2023
4f6529b
provide arabic translation
ham1255 Sep 28, 2023
b76709c
change %s to it placeholders
ham1255 Sep 28, 2023
eed91dd
fix some issues on lang file
ham1255 Sep 30, 2023
9b54ca9
remove old commands system, rename register leagacy command to regist…
ham1255 Sep 30, 2023
383e647
split some functions from config loader to be common
ham1255 Sep 30, 2023
32b5e82
gradle update
ham1255 Oct 1, 2023
983693b
Language system implementation, commands still not translatable yet, …
ham1255 Oct 1, 2023
da25586
remove debug message
ham1255 Oct 1, 2023
fa7ca2d
checkstyle
ham1255 Apr 12, 2024
a6c6916
remove arabic for now, and finish up the lang file
ham1255 Oct 7, 2023
d70a5de
Only allow 6.2 or above of redis versions
ham1255 Oct 18, 2023
46d53fc
config changes
ham1255 Oct 18, 2023
2429cc6
load common command messages
ham1255 Oct 21, 2023
c56a64b
update depends & Gradle
ham1255 Apr 12, 2024
1c36aa5
remove lang system for commands
ham1255 Feb 23, 2024
2eb7f3c
Fix wrong config version
ham1255 Feb 23, 2024
6c27228
fix for lang too
ham1255 Feb 23, 2024
44175e8
fix redis version detection
ham1255 Feb 23, 2024
72b2d46
update redis wrong version message
ham1255 Feb 23, 2024
b3eacbd
typo in redis minimal version
ham1255 Feb 27, 2024
69c3e30
[skip ci] Update readme about the transfer packets
ham1255 Feb 27, 2024
ca8377a
[skip ci] Update readme about the transfer packets
ham1255 Feb 27, 2024
782f099
[skip ci] Update readme about the transfer packets x3
ham1255 Feb 27, 2024
0b8dc4b
provide pt-br translation
SrBedrock Feb 28, 2024
e5b1f9d
update adventure
ham1255 Apr 13, 2024
41b5bde
insert todo into langauge system
ham1255 Apr 13, 2024
86f64ab
move all depeneds management into settings.gradle.kts and include acf…
ham1255 Apr 13, 2024
40c542a
new command infrastructure
ham1255 Apr 14, 2024
e76f0d0
finish up the version command etc
ham1255 Apr 14, 2024
19064e0
impl: redis clean up task, taken from brains impl.
ham1255 Apr 14, 2024
1e7f474
adding first batch of commands
ham1255 Apr 14, 2024
de65b16
finish up the commands
ham1255 Apr 14, 2024
72025bc
fix wrong use method of inetaddres in player data manager
ham1255 Apr 14, 2024
70aacc9
use continue instead of break
ham1255 Feb 28, 2024
2015d1d
remove debug message
ham1255 Apr 14, 2024
51719f1
show command
ham1255 Apr 15, 2024
ab44150
correctly remove heartbeat on cleanup
ham1255 Apr 15, 2024
78561fa
improve rb ocmmand
ham1255 Apr 15, 2024
32826d8
finsh up command system
ham1255 Apr 18, 2024
65ac465
add default values to commands config
ham1255 Apr 18, 2024
97e6b5c
update config / readme
ham1255 Apr 21, 2024
91c3845
add network id
ham1255 Apr 22, 2024
b406c89
remove yourkit
ham1255 Apr 24, 2024
abd19c1
pageable show command
ham1255 Apr 26, 2024
3c4e45d
remove debug
ham1255 Apr 26, 2024
b88202a
fix color
ham1255 Apr 26, 2024
d0ae5d5
fix
ham1255 Apr 26, 2024
dc56a41
remove build date
ham1255 Apr 28, 2024
e8bacfe
remove remaining build date stuff
ham1255 Apr 28, 2024
294a8a5
redo the help to be dynamic
ham1255 Apr 28, 2024
089c5d8
fix pages again.....
ham1255 Apr 28, 2024
de3ce79
config rename
ham1255 Apr 28, 2024
1decbd6
bump to 0.12.0
ham1255 Apr 28, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
186 changes: 8 additions & 178 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,179 +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*.
[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
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

## 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 | ✔ |
| 6.x.x | ✔ |
| 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
<repositories>
<repository>
<id>jitpack.io</id>
<url>https://jitpack.io</url>
</repository>
</repositories>
```
## gradle (kotlin dsl)
```kotlin
repositories {
maven("https://jitpack.io/")
}
```

# [BungeeCord](https://github.com/SpigotMC/BungeeCord)
add this in your project dependencies
## maven
```xml
<dependency>
<groupId>com.github.proxiodev.redisbungee</groupId>
<artifactId>RedisBungee-Bungee</artifactId>
<version>VERSION</version>
<scope>provided</scope>
<!-- <classifier>all</classifier> USE THIS IF YOU WANT TO USE INCLUDED JEDIS LIB BECAUSE OF RELOCATION -->
</dependency>

```
## 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.main.class
version: 1.0.0-SNAPSHOT
author: idk
depends: [ RedisBungee ]
```


## [Velocity](https://github.com/PaperMC/Velocity)
## maven
```xml
<dependency>
<groupId>com.github.proxiodev.redisbungee</groupId>
<artifactId>RedisBungee-Velocity</artifactId>
<version>VERSION</version>
<scope>provided</scope>
<!-- <classifier>all</classifier> USE THIS IF YOU WANT TO USE INCLUDED JEDIS LIB BECAUSE OF RELOCATION -->
</dependency>
```
## 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
<dependency>
<groupId>com.imaginarycode.minecraft</groupId>
<artifactId>RedisBungee-Bungee</artifactId>
<version>VERSION</version>
<scope>provided</scope>
<!-- <classifier>all</classifier> USE THIS IF YOU WANT TO USE INCLUDED JEDIS LIB BECAUSE OF RELOCATION -->
</dependency>
```
```xml
<dependency>
<groupId>com.imaginarycode.minecraft</groupId>
<artifactId>RedisBungee-Velocity</artifactId>
<version>VERSION</version>
<scope>provided</scope>
<!-- <classifier>all</classifier> USE THIS IF YOU WANT TO USE INCLUDED JEDIS LIB BECAUSE OF RELOCATION -->
</dependency>
```
## 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
Expand All @@ -184,12 +19,7 @@ This project is distributed under Eclipse Public License 1.0

You can find it [here](https://github.com/proxiodev/RedisBungee/blob/master/LICENSE)

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/)



## YourKit

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/).
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/)

![YourKit](https://www.yourkit.com/images/yklogo.png)
49 changes: 23 additions & 26 deletions RedisBungee-API/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
import java.time.Instant
import java.io.ByteArrayOutputStream

plugins {
Expand All @@ -7,32 +8,25 @@ plugins {

}

repositories {
mavenCentral()
}


val jedisVersion = "5.1.2"
val configurateVersion = "3.7.3"
val guavaVersion = "31.1-jre"


dependencies {
api("com.google.guava:guava:$guavaVersion")
api("redis.clients:jedis:$jedisVersion")
api("com.squareup.okhttp:okhttp:2.7.5")
api("org.spongepowered:configurate-yaml:$configurateVersion")

// tests
testImplementation("junit:junit:4.13.2")
api(libs.guava)
api(libs.jedis)
api(libs.okhttp)
api(libs.configurate)
api(libs.caffeine)
api(libs.adventure.api)
api(libs.adventure.gson)
api(libs.adventure.legacy)
api(libs.adventure.plain)
api(libs.adventure.miniMessage)
}

description = "RedisBungee interafaces"
description = "RedisBungee interfaces"

blossom {
replaceToken("@version@", "$version")
// GIT
var commit: String = ""
val commit: String;
val commitStdout = ByteArrayOutputStream()
rootProject.exec {
standardOutput = commitStdout
Expand All @@ -43,6 +37,7 @@ blossom {
replaceToken("@git_commit@", commit)
}


java {
withJavadocJar()
withSourcesJar()
Expand All @@ -54,25 +49,27 @@ tasks {
val options = options as StandardJavadocDocletOptions
options.use()
options.isDocFilesSubDirs = true
val jedisVersion = libs.jedis.get().version
val configurateVersion = libs.configurate.get().version
val guavaVersion = libs.guava.get().version
val adventureVersion = libs.guava.get().version
options.links(
"https://configurate.aoeu.xyz/$configurateVersion/apidocs/", // configurate
"https://javadoc.io/doc/redis.clients/jedis/$jedisVersion/", // jedis
"https://guava.dev/releases/$guavaVersion/api/docs/" // guava
)
"https://guava.dev/releases/$guavaVersion/api/docs/", // guava
"https://javadoc.io/doc/com.github.ben-manes.caffeine/caffeine",
"https://jd.advntr.dev/api/$adventureVersion"

}
)

test {
useJUnitPlatform()
}

compileJava {
options.encoding = Charsets.UTF_8.name()
options.release.set(8)
options.release.set(17)
}
javadoc {
options.encoding = Charsets.UTF_8.name()

}
processResources {
filteringCharset = Charsets.UTF_8.name()
Expand Down
Loading
Loading