Setting up a 'cord network where any user vanilla/forge can connect to hub

So a few days ago i asked the following question in the sponge discord:

essentialy i am looking into making a ‘lobby server’ to connect all my others vanilla / vanilla creative / project ozone / direwolf20 and ftb revelation. before i do anything pratical i was reading up on the theory so to speak

so for reference i had the following servers:

  1. spigot-1.12.2.R0.1 vanilla survival
  2. spigot-1.12.2.R0.1 vanilla creative
  3. spongeforge-1.12.2-2555-7.1.0-BETA-2817 FTB revelation 1.12.2
  4. spongeforge-1.12.2-2555-7.1.0-BETA-2817 Direwolf 20 1.12.2
  5. forge-1.10.2-12.18.3.2511 Project Ozone lite 1.10.2

what i wanted to achieve was to create a bungeecord network to link them all up and to have 1 single lobby who all users would connect through and eventualy when it comes out add 2 servers for forever stranded lost souls. (i could thus whitelist the lobby and restrict access that way)

the problem was that i had a mix of spigot/forge/spongeforge and different versions 1.10.2 - 1.12.2 as well. i also wanted to use ip-forwarding to prevent naughty children (as i was trying to connect to a forge based server i found out that normal bungeecord would not work and that i should use waterfall.

for a test i set up 4x1.12.2 spigot servers all default with nothing added and went through the bungeecord(waterfall) setup of making 1 the proxy 1 the hub and leaving the other 2 as they were (setting online-mode: false on all but the proxy)

this worked fine - providing the connecting client was vanilla 1.12.2 (1.10.2 clients could not join as version mismatch - more on this later)

i had heard that spigot, should you connect with a modded (forge) client would simply disregard the mods and let you connect - this is true up to a point - some of the mod packs have too many mods for spigot to handle - even if it is going to disregard them

i ended up with this error

Couldn’t register custom payload java.lang.IllegalStateException: Too many channels registered

so back to various discords and after a couple of days (i suppose understandably no server admins from the big community servers out there would answer my questions) i stumble across Yive’s Chat (awesome discord for help btw) and was reccomended viaversion in order to let clients from different versions connect.

viaversion is fantastic, so now i have a lobby (MC version 1.8.8) which will let any - vanilla - client from 1.8.8 to 1.12.2 connect, halfway there.

the problem was i was still getting errors when modded (forge) clients would connect so after even more failed googling i tried my luck back at yives chat and what do you know, again result.

i was suggested to change waterfall to hexacord(the proxy server) and spigot to paperspigot(lobby server)

success, i can now have any MC version from 1.88 - 1.12.2 and any client be it vanilla or forge modded - access the lobby, from where they can move to their respective servers.

regretfully i couldnt get an answer to why the combination of hexacord and paperspigot worked but hey! it does so woooo.

for final reference / tl;dr in order for me to have a lobby whom any of my members can join (be it vanilla / forge or 1.8.8 - 1.12.2 ) i now have the following servers:

  1. spigot-1.12.2.R0.1 vanilla survival
  2. spigot-1.12.2.R0.1 vanilla creative
  3. spongeforge-1.12.2-2555-7.1.0-BETA-2817 FTB revelation 1.12.2
  4. spongeforge-1.12.2-2555-7.1.0-BETA-2817 Direwolf 20 1.12.2
  5. forge-1.10.2-12.18.3.2511 Project Ozone lite 1.10.2
  6. hexacord-v180 (proxy)
  7. PaperSpigot-1.8.8-R0.1 + ViaVersion 1.3.0 (lobby)

shout out to @ryantheleach @killjoy for inital help and suggesting i make this post when i figure it out

apparently this question gets asked a lot, but people either give up or dont let anyone else know when they get a solution, so here it is and i hope it helps

3 Likes

Interesting.

I had a similar problem three month ago (I think) and I had to stay with Bungeecord and Spigot.

After a few days of googling and so on I figured out how to do it.

I have Spigot 1.8.8 Lobby with Viaversion and two SpongeForge server (1.10.2 and 1.12.2). I installed SpongePls and set ip-forwarding to true.
Everything works perfectly. Just one problem is with connection from Lobby to any SpongeForge server.
If the player goes from Lobby to SpongeForge server and the player is on the same coords like on Lobby, the game crashes (in most cases), because the client see Lobby on the newly connected server. So I have to move Lobby coords outside the world border of the SpongeForge server.

Another problem is with modpack, where is a lot of mods and the connection least about 5sec. If the player moves during this 5sec, game crash on EntityPlayer.

Does this problem disappear with your configuration?

I installed SpongePls and set ip-forwarding to true.

using hexacord, you don’t need to have a plugin for ip-forwarding to spongeforge

If the player goes from Lobby to SpongeForge server and the player is on the same coords like on Lobby, the game crashes (in most cases), because the client see Lobby on the newly connected server. So I have to move Lobby coords outside the world border of the SpongeForge server.

can you expand with examples? do you mean that if the worldspawn for the lobby is the same as spongeforge i.e. 0,100,0 then you get this error?

i have not run into this problem myself.

Another problem is with modpack, where is a lot of mods and the connection least about 5sec. If the player moves during this 5sec, game crash on EntityPlayer.

i have not seen this problem, however i dont think i have tried to move when joining another server.

the only crash i have seen with on of my players so far was a ticking entity error on login to spongeforge, a reinstall of his modpack fixed this.

I have to use Bungeecord, so the SpongePls was my solution.

Exactly. Lobby coords 0,100,0. SpongeForge spawn coords 0,100,0 - everytime I can see “the lobby” in the world. After chunk reload, everything is okay (only NPCs and Holograms stay). If a player has a slow computer, the game crashes instead of chunk reload.

The same error is the problem, which I tried to describe. Reinstall didn’t work. Again this problem is often for players with “slow” computer.

thanks, ill have to do some testing and see if i can reproduce the errors.

i dont know if this will help you but at least on the 1st join to the spongeforge servers i have mmcrules plugin set up, which stops them from moving until they accept the rules

from mmcrule.conf

restrictions {
# Should players be blocked from placing and breaking blocks before reading the rules?
blockBuildBeforeAccept=true
# Should players be blocked from sending commands before reading the rules?
blockCommandsBeforeAccept=false
# Should players be blocked from moving before reading the rules?
blockMovementBeforeAccept=true
# Should players be invisible to all players before reading the rules?
vanishBeforeAccept=false

i suppose by the 2nd time they log in they will have moved away from the spawn area

Unfortunatelly mmcrules can’t help me with that. Lobby server is spigot and I need to block their move, when they want to teleport to SpongeForge server.

Hello, I just registered so that I could like your post, and reply saying thank you.

when you said the question gets asked a lot but nobody posts the solution, that’s an understatement!

I think part of the problem is how much things change, my initial searches were leading me to something called cauldron that from what I can tell does not work past 1.7

I don’t even play minecraft but I setup linux servers for various tasks frequently, and so im kinda the goto guy for family members on a lot of things computer related.

So they were asking me for help setting up a pixelmon minecraft server, I was able to set that up headless from the command line on linux in 10 minutes.

Next they wanted to link various worlds/servers so that they could have vanilla, pixelmon, and one with various plugins, etc. and easily jump between them, so they linked me to something called hubthat. Well Hubthat works with a spigot server, and pixelmon is forge mod.

So in my search to figure out how to get these things to work together, i found very little clues, the first step is to tell google to limit the time frame to anything within the last year only, so that outdated results aren’t even shown.

Your post is I believe the only one that thoroughly posts how to do it and what you tried that didn’t work, etc.

If you search google for “minecraft server lobby spigot forge” this page is the top hit.

I really appreciate the time you took to post and I am going to be trying to set this up for them soon, Thanks again!