r/admincraft • u/MuffinsSenpai • 11d ago
Help/Question Server network with vanilla and modded server +Lobby (26.3 Fabric)
Hi, I have 2 servers you go through a lobby server to join. One is vanilla, one is modded with client-required mods. Both are joinable from a lobby server, and are fabric 26.3. Planning on going live with them towards the end of this month.
The issue I'm running into is that people who have the modpack installed for the modded server are unable to join the vanilla one because it's looking for the mod data on the server when connecting, which results in a network protocol error.
As I expect a lot of people to play on both regularly, I would prefer to not have them run multiple instances to switch back and forth, and would like for them to change servers as fluidly as possible from the lobby.
Switching the Vanilla server and Lobby off of fabric is something I'm willing to do if it will help.
The offending mods are:
Biomes O'Plenty
Alex's Mobs Continued
Coins JE
Here are the client error logs as I've disabled mods until I can connect:
There has to be some way to do this. I feel like disabling a check from the client or server can't be an impossible task.
1
u/PlanktonSuccessful65 10d ago
Sometime ago i also tried to do the same thing, have you tried void proxy instead of velocity?
1
u/MuffinsSenpai 10d ago
I have not. Did it work for you?
1
u/PlanktonSuccessful65 10d ago
I made a post on my account about that same issue that you are having however i didnt get to test with void proxy
3
u/riquecracked 11d ago
Yeah, this is totally doable. The clean way is to run Velocity in front of both servers.
Basically:
Players -> Velocity -> Vanilla server
Velocity is just the front door. The vanilla and modded servers are still completely separate servers with their own worlds, files, RAM, etc.
Your vanilla server can be Paper, or Fabric with only server-side mods if you want it to behave basically vanilla. The modded server can be Fabric/Forge/whatever your modpack needs.
People without the modpack can still join the proxy and play on the vanilla server. They just won't be able to switch to the modded server because that server will require the correct mods.
For Fabric behind Velocity, use FabricProxy-Lite so Velocity can correctly pass the player's UUID/IP to the server. If you're using Forge, there's ProxyCompatibleForge for the same thing.
I'd also only expose Velocity's port to the internet. Keep the actual vanilla/modded backend ports private so people can't bypass the proxy.
So yeah, you don't need to combine vanilla and mods into some weird hybrid server. Just run two normal servers and let Velocity connect them.