Bedrock players can't switch server with /cmi server [servername]
Hi, I have a small bungee network. Java players can switch to any of them with /cmi server [name]
But I have added a new lobby server and this is where im getting the issue.
Bedrock players are getting: Kicked whilst connecting to lobby: Unable to authenticate - no data was forwarded by the proxy
but they can connect to my other older servers fine. And no, I didnt put geyser on the lobby backend server. still only on the proxy.
backend servers are Purpur
any ideas? Thanks!
79 Replies
I can see bungeeguard denying the connection, giving an invalid handshake, but why?

i have made sure the token is identical in the lobby's config
i went through bungeeguard's instructions again and everything is perfect. even put the latest protocollib in
bungeecord:true is set in spigot.yml and online-mode=false on the lobby server, same as all my other backends
if i remove bungeeguard I get:
if you wish to use IP forwarding, please enable it in your bungeecord config as well!
but also, ip forwarding is enabled in the bungee config anyway
im stumped, and its past my bedtime, so ill get back to this later.
why use cmi for this btw
because my /server command doesnt work. it tells me i dont have permission, even though im OP/owner. I have discussed this issue with the CMI dev before and even he didnt know why its happening.
but /cmi server does the same thing, and i can successfuly join the other servers, so I think the /server issue can be worried about later
i even asked chatgpt about it, in another attempt to fix it. chatgpt was getting me to add permissions to bungeecord with my uuid, but no luck
i mean dont use bungeecord use velocity, theres no "op" on bungee/velocity you need a plugin like luckperms on it to give perms
bungeeguard seeing ip being 127.0.0.1 is also very concerning
is using velocity a solution to this, or a suggestion for improvement? Even if i use bungeecord, bedrockers should be able to join my lobby server if they can join my others.
im willing to try velocity, but not for a couple days, and id prefer to at least just get the lobby server joinable first.
solution and improvement, theres no reason to use bungeecord at all
does it work with these plugins, or direct alternatives?

Should yes
thats due to the fact that the proxy doesnt interact with the backend that way, youve got to have your permission plugin on both the proxy and the backend servers and have them using the same sql database
from that image tho, just assign yourself proxy permissions using /lpb
if your using just /lp and they arent linked via a sql database then no wonder it doesnt work
well /server worked fine before i switched from Essentials to CMI, so i assumed cmi messed it up
where do i run this command? on which server?
well, any server connected to the proxy
i have no idea how to link them to a sql database
im sure luckperm documentation has a guide


you gotta run that on the proxy
is /lpb is a proxy only command, but if your ingame as a player you can run it
alright ive run it, and i still dont have permissions for /server
That cmd was to give you permission to give other perms
lpb user Rottenbeard97 permission set serverswitcher.switch
what is lpb? as opposed to lp?
damn, i gave the permission, and i still dont have permission to use /server
Lpb is proxy perms lp is current server perms
I dont really want to spend time helping a dated, awful system sorry
ok maybe tromorrow, ill try velocity and see if i can switch servers then.
I just tried setting up Velocity. getting this issue:

didnt setup modern forwarding up properly
if you have old servers i would recommend trying velocity-ctd as it lets you do per backend forwarding mode
so old servers use bungeeguard, new ones use modern
damn, i dont know what modern forwarding is, or velocity-ctd etc. how do i do that?
is it a problem that my exisiting servers have bungeeguard?
oh i deleted bungeeguard, rebooted lobby server, and got this:

shouldnt delete it
to get everything working for now
get bungeeguard back
in velocity.toml set it to bungeeguard mode
and go into forwarding.secret and change the value to the one you used in the bungeeguard configs
thanks, just tried that, but still no good:

so the proxy server must be online mode, and the backends offline mode right?
yep
make sure that the secret is set in all backend servers to be the same as the proxy
its definitely the same in all of them. I copied and pasted the same key across them all.
this issue only started when i added the lobby server, i think its somthing to do with that

try changing your try section to another server, see if it works and then you can conclude that its an issue with the lobby server
also perhaps in your proxy console logs itll say the issue aswell
i changed the try to survival, and i have the same error when connecting, but it says survival instead of lobby in the message.
ok so its not specific to a server, atleast thats somewhat elimiated some causes


this is the same issue as before i switched to velocity
something to do with bungeeguard
second pic is from the survival server
do you still have bungeeguard on any of your servers
yeah all of them
what minecraft version are all your servers on?
a mix of 1.21.7 and 1.21.8 i think
then all of them support velocity's modern forwarding, meaning you dont need bungeeguard anymore
when you setup the secrets, were you setting up velocity secrets or bungeeguard secrets?
alright well i only kept bungeeguard because i think progaming was suggesting that
i set the secret in the velocity secret file. and then for each end server, i went into bungeeguard's config and made sure it matched there
in your velocity toml did you set your forwarding to modern forwarding?
yes
never suggested it huh
delete bungeeguard from all your servers and just have the velocity modern forwarding setup
but yes, disable bungeeguard in all servers if they are over 1.13
disable bungeecord in spigot.yml on all of em,
set velocity to true in paper-global.yml and input the forwarding secret
in the configs folder
after thats done, restart all your servers, check if you can connect through velocity, if that works then also double check connecting to your backend servers through their ips to make sure you cannot get through on all of them and you should be done?
if im not using bungee, does it matter if that top line about online mode is set to true?

woo, im in! now to try changing the try back to lobby
i think its just ignored if bungeecord is set to false in spigot.yml
also make sure your secret is set to the same as the one in forwarding.secret file and online-mode is set to true if its set to true in your velocity.toml
oh, whoops, all my backends still have it in offline mode, in their server.properties. what difference will this make? back when i sued bungee, they all had to be offline
i think if i ever made them online, it gave people a new uuid and cleared their stuff
i ment in your paper global yml
oh
ok yeah i have them as offline, shall change
im going off this btw

which is the best/proper server switching plugin for velocity> i found a few and wasnt sure which one to go with? do i even need one if i have CMI?
i simply want to be able to do /server survival to change to survival etc
for admins, velocity should provide a /server command by default
i mean for players. i want them to be able to change server from anywhere
i believe people are given the command by default
thanks, ill remove the unnecessary plugin then
if not, put luckperms on your proxy, and then you can run /lpv from ingame or in your proxy's console and do
/lpv group default permission set velocity.command.server true
wow its all working perfectly now, thank you!
well i think. until the players start arriving and undoubtedly have issues
well if you do just message in this thread and im sure we will beable to assist
ruh roh
my bedrock cant connect

both the proxy and lobby servers have basiaclly the same thing in console, they dont reveal any more detail
Setup | GeyserMC
Guides to setup Geyser on all supported platforms
since youve switched from bungee to velocity youll have to download and resetup the velocity version of geyser aswell as making sure you did also setup floodgate for velocity aswell
oh, i forgot to put floodgate on the lobby lol
ive got the velocity version of geyser/floodgate on the proxy
oh the velocity version has a separate config
sounds about right
i looked through the configs, it all looked fine, but i get this now when joining with bedrock:

ive got the velocity version of geyser running on the proxy
geyser is only on proxy rght
floodgate on proxy and all backends right
you might need to copy the key file
from floodgate to all the backends
you do if i remember correctly
(check your geyser/floodgate config)
ah yep, that was it. thanks again!
twas the key
oh, i think i have one more thing. every time i rejoin the server, i end up backn in the lobby. how can i make that only for new players? if i left whilst playing in survival server, i'd like to rejoin there.
nvm, got it with a plugin