ProxioDev / ValioBungee

Synchronize players data between BungeeCord / Velocity proxies
Eclipse Public License 1.0
191 stars 50 forks source link

RedisBungeeAPI.getRedisBungeeApi().getPlayersOnServer() returning empty set #102

Closed md5nake closed 2 months ago

md5nake commented 2 months ago

intended behavior

RedisBungeeAPI.getRedisBungeeApi().getPlayersOnServer("test") should return a set containing my UUID.

what the behavior you actually saw

It instead returns an empty set.

Steps to reproduce

Under a proxy, connect to a server (lobby) then switch to a server (test). Then run RedisBungeeAPI.getRedisBungeeApi().getPlayersOnServer("test"), which should return an empty set.

Velocity or Bungeecord Versions

Velocity 3.3.0

RedisBungee Version & Redis Version

Redis Cluster 7.2.4 RedisBungee 0.12.3

Other

This is a dump of the player data as the bug was observed. Also note that last-server is equal to server, is this intentional?

127.0.0.1:6379> hgetall redis-bungee::main::player::(my-uuid)::data
 1) "last-online"
 2) "0"
 3) "last-server"
 4) "test"
 5) "proxy"
 6) "main-proxy"
 7) "ip"
 8) "127.0.0.1"
 9) "server"
10) "test"
md5nake commented 2 months ago

It could also be possible that there is a long waiting period until updates are reflected

ham1255 commented 2 months ago

wew this cache issues again

ham1255 commented 2 months ago

i am not longer sure why cache is set to 1 hour on these things, because its same on redisbungee 0.6.5 before api split so i think this a bug existed from waay before

ham1255 commented 2 months ago

i am currently looking into removing caching eniterly

ham1255 commented 2 months ago

last-server is same but its not deleted when player disconnect so for last server connection to work, but tbh i think i will move this into own field thing in 0.13.0

ham1255 commented 2 months ago

try https://github.com/ProxioDev/ValioBungee/actions/runs/9139302817 and if everything good it will be released as 0.12.4