data system shouldn't effect anybody, unless you do any direct query to Redis query data, you should adapt the changes, by viewing classes ProxyDataManager and PlayerDataManager
Changes
RedisBungee is compiled with java 17 now, Due java 11 support is ending at end of September
config version is now 2 which will reset your config if older version
Adventure API is included inside RedisBungee API
new Language infrastructure for RedisBungee built-in messages #85 commands not included yet
New data system which replaces Redis PubSub with Redis Streams see below
Ability to connect player to last server they where on using an config option #84
new environment variable REDISBUNGEE_PROXY_ID which can be set before launch
new environment variable REDISBUNGEE_NETWORK_ID which can be set before launch
RedisBungee requires redis version 6.2 or above #88
Due limitation of Redis PubSub in Cluster environment, Internals of RedisBungee were changed to support Redis Streams
Network Ids
networks ids used to group network proxies
example having 'test' network and 'main' network
Networks in the same redis server / cluster share the same UUID cache
Heartbeat system:
RedisBungee old heartbeat system used hastset on redisbungee to store the current unix time of the proxy to check what every proxy died or not, now instead we publish the heartbeat using unix time, and online count to proxy which proxy store it in their memory, which allow the get number of online players to be faster than pooling whole list in old data system.
PubSub
since redisbungee was initially designed with pubsub in mind, registration no longer required now for event to fire, see the api changes below.
Commands System
rewritten using acf lib to be platform independent
new command /rb or /redisbungee with sub commands help, info, 'clean', 'show'.
'rb'
'/rb' and '/rb info'
'/rb show'
configuration to disable or override each command from legacy to new introduced one /rb
For redis bungee legacy commands
either can be run using '/rbl glist' for example
or if 'install' is set to true '/glist' can be used.
'install' also overrides the proxy installed commands
#
In legacy commands each command got it own permissions since they had it own permission pre new command system,
NOTES
data system shouldn't effect anybody, unless you do any direct query to Redis query data, you should adapt the changes, by viewing classes
ProxyDataManager
andPlayerDataManager
Changes
java 17
now, Due java 11 support is ending at end of September2
which will reset your config if older versionREDISBUNGEE_PROXY_ID
which can be set before launchREDISBUNGEE_NETWORK_ID
which can be set before launchNew data system
Due limitation of Redis PubSub in Cluster environment, Internals of RedisBungee were changed to support Redis Streams
Network Ids
Heartbeat system:
get number of online players
to be faster than pooling whole list in old data system.PubSub
Commands System
rewritten using acf lib to be platform independent
new command
/rb
or/redisbungee
with sub commandshelp
,info
, 'clean', 'show'.'rb'
'/rb' and '/rb info'![image](https://github.com/ProxioDev/RedisBungee/assets/34905970/70796ab0-b5fd-4578-8c93-c976e517df95)
'/rb show'
/rb
For redis bungee legacy commands
either can be run using '/rbl glist' for example
or if 'install' is set to true '/glist' can be used.
'install' also overrides the proxy installed commands
#
In legacy commands each command got it own permissions since they had it own permission pre new command system,
so it's also applied to subcommands in '/rbl'.
commands:
Permission redisbungee.legacy.use
redisbungee-legacy: enabled: false subcommands:
Permission redisbungee.command.glist
Permission redisbungee.command.use
redisbungee: enabled: true
Contributors
summoncraft.us
for running this branch in productionissues
closes #84 closes #88 closes #92 closes #81 closes #93