// Minecraft

Een Minecraft-servernetwerk bouwen met Velocity

Een Minecraft-servernetwerk bouwen met Velocity

Eén Minecraft-server is leuk, maar op een gegeven moment wil je meer: een survival-wereld én een creative-wereld, of een aparte minigames-server voor evenementen. Alles in één server proppen wordt al snel traag en onoverzichtelijk. De oplossing is een netwerk: meerdere servers achter één adres, met een proxy die spelers naar de juiste plek stuurt.

Velocity is op dit moment de logische keuze voor die proxy. Hieronder lees je waarom, hoe zo'n netwerk in elkaar zit en welke valkuilen je wilt vermijden — met de forwarding-secret als belangrijkste van allemaal.

Wat doet een proxy eigenlijk?

Een proxy is een kleine server die zelf geen wereld draait. Spelers verbinden met het adres van de proxy, en die stuurt ze door naar een van je échte servers: de backends. Voor spelers voelt het als één grote server. Ze typen /server survival of stappen in de lobby door een portaal, en staan zonder opnieuw in te loggen in een andere wereld.

Dat levert concreet dit op:

  • Één adres voor alles. Spelers hoeven maar één IP of domeinnaam te kennen, hoeveel servers je er ook achter hangt.
  • Wisselen zonder opnieuw verbinden. Van lobby naar survival naar minigames, zonder uitloggen of serverlijstjes.
  • Onderhoud zonder totale downtime. Herstart je de survival-server, dan draait de rest van het netwerk gewoon door en vang je spelers op in de lobby.
  • Lasten verdelen. Een zware minigame of een druk event trekt niet je hele netwerk omlaag; elke backend heeft zijn eigen resources.

Er is ook een eerlijke keerzijde: je beheert ineens meerdere servers, en netwerkbrede zaken zoals chat, rangen en economie vragen plugins die data delen tussen die servers, vaak via een database. Een netwerk loont dus vooral zodra één server echt te klein wordt — niet als je met vier vrienden speelt.

Velocity of BungeeCord?

BungeeCord is de veteraan onder de proxy's en was jarenlang de standaard. Velocity is de modernere tegenhanger, ontwikkeld door het team achter Paper. De verschillen op een rij:

  • Prestaties. Velocity is ontworpen om met weinig geheugen veel gelijktijdige spelers af te handelen en schaalt merkbaar beter.
  • Veiligheid. Velocity's modern forwarding ondertekent de doorgestuurde spelersdata met een geheime sleutel. BungeeCord stuurt die data zonder handtekening door en heeft een extra plugin zoals BungeeGuard nodig om hetzelfde gat te dichten.
  • Plugins. Hier scoort BungeeCord op leeftijd: er bestaan simpelweg meer oude Bungee-plugins. In de praktijk hebben vrijwel alle grote netwerk-plugins inmiddels ook een Velocity-versie.
  • Onderhoud. Velocity wordt actief doorontwikkeld, terwijl BungeeCord vooral nog wordt bijgehouden voor compatibiliteit.

Begin je vandaag een nieuw netwerk, kies dan Velocity. BungeeCord is eigenlijk alleen nog logisch als je afhankelijk bent van één specifieke Bungee-plugin zonder Velocity-alternatief — controleer dat dus even voordat je kiest, niet erna.

Zo hangt je netwerk in elkaar

Een minimaal netwerk bestaat uit drie onderdelen: een Velocity-proxy, een lobby en minstens één game-backend. De configuratie van de proxy staat in velocity.toml en de kern daarvan is verrassend kort. Onder [servers] geef je elke backend een naam en adres, bijvoorbeeld lobby = "127.0.0.1:25566" en survival = "127.0.0.1:25567". Met try = ["lobby"] bepaal je vervolgens dat binnenkomende spelers in de lobby starten.

De backends zelf zijn gewone Minecraft-servers, het liefst op Paper. Belangrijk om te weten:

  • Elke backend draait los, met een eigen poort en eigen plugins, werelden en instellingen.
  • Op elke backend gaat online-mode in server.properties naar false: de proxy controleert de accounts al bij binnenkomst, de backends vertrouwen daarop.
  • Idealiter is alleen de proxy publiek bereikbaar en accepteren de backends uitsluitend verkeer van de proxy.

Draai je proxy en backends bij dezelfde hoster, dan is de onderlinge verbinding kort en merk je van het doorsturen in de praktijk vrijwel niets. Die tweede regel hierboven — accountcontrole uitzetten — voelt intussen tegennatuurlijk na elk beveiligingsadvies dat je ooit las, en dat brengt ons bij het belangrijkste onderdeel van de hele opzet.

De forwarding-secret: klein bestand, groot belang

Omdat je backends op online-mode=false staan, controleren ze zelf geen accounts meer. Zonder extra maatregel kan iedereen die het adres van een backend weet er rechtstreeks mee verbinden, onder elke gewenste spelersnaam — ook die van jou als eigenaar. Dit is hét klassieke lek in slordig opgezette netwerken, en het wordt actief misbruikt.

Velocity lost dit op met modern forwarding. Bij de eerste start genereert Velocity een bestand forwarding.secret met daarin een geheime sleutel. De proxy ondertekent daarmee de spelersgegevens die hij doorstuurt, en een backend accepteert alleen verbindingen met een geldige handtekening. Zo stel je het in:

  1. Zet in velocity.toml de forwarding-modus op modern.
  2. Zet op elke Paper-backend in de Paper-configuratie de Velocity-forwarding aan en plak daar exact dezelfde secret in als op de proxy.
  3. Herstart proxy en backends, log in en controleer of je gewone skin zichtbaar is — dan komt je echte accountinfo netjes door en werkt de forwarding.

Behandel de secret als een wachtwoord: deel hem met niemand en plak hem niet in screenshots of support-tickets. Kies je toch voor BungeeCord, gebruik dan in elk geval BungeeGuard of een vergelijkbare oplossing om hetzelfde gat te dichten.

Een lobby die je netwerk draagt

De lobby is het visitekaartje én het vangnet van je netwerk: iedereen komt er binnen, en als een backend herstart of uitvalt, vallen spelers erop terug. Houd hem daarom licht en saai-stabiel:

  • Gebruik een kleine, vooraf gebouwde map; een void-wereld met één eiland is niet voor niets populair.
  • Zet spelers in adventure mode, zodat er niets kapt of sloopt.
  • Beperk plugins tot navigatie en aankleding: een kompas-menu of NPC's waarmee spelers naar een server springen.
  • Schakel uit wat je niet nodig hebt, zoals mob-spawning en weer. Dat scheelt resources en rommel in je console.
  • Controleer dat de try-lijst in velocity.toml naar de lobby wijst, zodat spelers bij een crash van een backend automatisch daar belanden in plaats van een foutmelding te zien.

Een lobby heeft nauwelijks resources nodig; het zware werk gebeurt op de backends. Reken dáár juist ruim, zeker voor een survival-wereld waar veel chunks geladen blijven.

Wat kost een netwerk bij MC-Node?

Het prettige van een netwerk op losse pakketten: je betaalt per onderdeel precies wat dat onderdeel nodig heeft, en je schaalt ze ook los van elkaar op. Een startersnetwerk kan er bijvoorbeeld zo uitzien:

OnderdeelPakketPrijs per maand
Velocity-proxyCobblestone€ 0,50
LobbyStone€ 1,10
MinigamesIron€ 3,30
SurvivalDiamond€ 7,70

Daarmee draait een compleet startersnetwerk voor € 12,60 per maand. Groeit je survival-server uit zijn jasje, dan vergroot je alleen dát pakket. Alle pakketten zijn maandelijks opzegbaar en draaien op NVMe-opslag met standaard DDoS-bescherming; het volledige aanbod met specificaties vind je in de Minecraft-shop van MC-Node.

Begin klein: proxy, lobby en één backend. Staat de forwarding-secret goed en wisselen spelers soepel van server, dan is elke volgende backend een kwestie van een server bijbestellen, de configuratie kopiëren en één regel toevoegen in velocity.toml.

// ZELF PROBEREN
Je Minecraft-server binnen 60 seconden online
Bekijk de pakketten →