De config.yml bepaalt waar BungeeCord luistert, welke backends hij kent en waarheen nieuwe spelers worden geleid. Genereer het bestand altijd met je geïnstalleerde versie. Oude blogvoorbeelden kunnen velden of standaardwaarden bevatten die niet meer bij de actuele build passen.
Een syntactisch geldige configuratie is nog geen veilig netwerk. Zodra backends
online-mode=falsegebruiken, moet hun TCP-poort beveiligd zijn tegen directe verbindingen. Het volledige proces vind je in de BungeeCord-setup-pillar.
Veilige basisstructuur
online_mode: true
ip_forward: true
player_limit: -1
server_connect_timeout: 5000
remote_ping_timeout: 5000
servers:
lobby:
address: <LOBBY-ADRES>:<PORT>
motd: '&aLobby'
restricted: false
survival:
address: <SURVIVAL-ADRES>:<PORT>
motd: '&aSurvival'
restricted: false
listeners:
- host: 0.0.0.0:<PROXY-PORT>
motd: '&aMijn Netwerk'
priorities:
- lobby
- survival
force_default_server: true
forced_hosts:
survival.example.net: survival
max_players: 100
tab_list: GLOBAL_PING
query_enabled: false
proxy_protocol: false
Placeholders moeten worden vervangen door paneeladressen. Een openbaar backendadres in het voorbeeld is geen toestemming om de poort openbaar toegankelijk te laten.
Globale velden
| Veld | Betekenis | Veilige duiding |
|---|---|---|
online_mode |
Authenticatie bij de proxy | voor normale premium-netwerken true |
ip_forward |
IP, UUID en profiel naar de backend | vereist, maar geen toegangscontrole |
player_limit |
globale harde spelerslimiet | 0 of lager betekent onbeperkt |
server_connect_timeout |
tijd voor backendverbinding | te klein geeft valse meldingen, te groot lange wachttijden |
remote_ping_timeout |
timeout voor backend-pings | een ping is niet hetzelfde als een echte join |
remote_ping_cache |
cache voor backendstatus | kan kortstondig een oude status tonen |
connection_throttle |
tijdvenster voor nieuwe verbindingen | geen volledige bot-/DDoS-bescherming |
forge_support |
extra Forge-handshake-ondersteuning | modloadercompatibiliteit apart controleren |
servers: backends benoemen
Elke sleutel onder servers is een interne naam. address moet bereikbaar zijn vanuit het perspectief van het proxyproces. restricted: true vereist de permissie bungeecord.server.<name>, maar voorkomt geen directe netwerktoegang tot de backendpoort.
Vermijd hetzelfde publieke proxydomein als backendadres: dat kan een lus veroorzaken. Gebruik een concreet intern, privé- of anderszins voor de proxy vrijgegeven adres.
listeners: publieke ingangen
host moet overeenkomen met de toegewezen proxyallocatie. priorities is de geordende lijst voor start en fallback. Een typefout zoals Lobby in plaats van lobby volstaat om ervoor te zorgen dat er geen standaarddoel wordt gevonden.
force_default_server: true start nieuwe verbindingen via de priorities-/forced-host-logica. Bij false kan BungeeCord proberen een eerder gebruikt doel te herstellen.
max_players is niet player_limit
listeners.*.max_players bepaalt het weergegeven spelersaantal in de serverlijst. player_limit is de globale harde grens. Stel beide bewust in; een mooie weergave vervangt geen capaciteitsmeting.
forced_hosts en DNS
forced_hosts koppelt een hostnaam aan een interne servernaam. DNS wijst nog steeds naar BungeeCord. Gebruik voor een domein en afwijkende poort de domein-/SRV-gids.
Velden niet verwarren
proxy_protocolis bedoeld voor een voorgeschakelde HAProxy-/PROXY-protocol-sender, niet voor normale BungeeCord-forwarding.query_enabledopent indien nodig een aparte UDP-dienst; activeer hem niet uit voorzorg.ping_passthroughneemt de MOTD en status van een doel over, maar maakt een backenduitval wel zichtbaarder.restrictedis een BungeeCord-permissie, geen firewall./greloadlaadt niet elke plugin- en permissiewijziging betrouwbaar; plan een herstart in.
Backendzijde passend configureren
Zet server.properties op online-mode=false en settings.bungeecord: true in spigot.yml. Bij Paper moet proxies.bungee-cord.online-mode overeenkomen met de online_mode van de proxy. Lees voor een wijziging de gids voor veilige forwarding en maak een geteste back-up via het kopieer-/rollbackpad dat wordt beschreven in de gids voor versiewissel.
Validatie
- Gebruik alleen spaties, geen tabs.
- Controleer de inspringing en strings met speciale tekens.
- Vergelijk alle namen in
prioritiesenforced_hostsmetservers. - Herstart backend en proxy volledig.
- Test TCP, Minecraft-ping en een echte lobby-join afzonderlijk.
- Test vanaf een onafhankelijke bron dat de backendpoort geblokkeerd is.
Als BungeeCord geen lobby bereikt, helpt de fallback-foutgids. Installeer pas na deze basistest proxy- en backend-plugins op het juiste niveau.
FAQ
Waarom moet ik de config.yml niet uit een handleiding kopiëren?
Omdat velden en standaardwaarden per build verschillen. Laat BungeeCord het bestand met je geïnstalleerde versie zelf genereren en neem daaruit alleen de waarden over die je echt wilt aanpassen. Een veld uit een oud voorbeeld kan in jouw build ontbreken of een andere betekenis hebben.
Wat is het verschil tussen max_players en player_limit?
listeners.*.max_players is puur weergave: het getal dat clients in de serverlijst zien. player_limit is de harde globale grens waarbij de proxy verbindingen weigert (0 of lager betekent onbeperkt). Stel beide bewust in — een hoge weergave vervangt geen capaciteitsmeting.
Volstaat restricted: true om een backend te beveiligen?
Nee. restricted is een BungeeCord-permissie en vereist bungeecord.server.<name> voor het wisselen via de proxy. Het weerhoudt niemand ervan de backendpoort rechtstreeks te benaderen. De bescherming daar is firewall of privénetwerk, niet de proxyconfiguratie.
Moet ik na een wijziging herstarten, of volstaat /greload?
Plan een herstart in. /greload leest de configuratie opnieuw in, maar draagt niet elke plugin- en permissiewijziging betrouwbaar over naar de actieve staat. Bij wijzigingen aan listeners, servers of forwarding is een volledige herstart de enige betrouwbare weg.
Waarom mag het proxydomein niet als backendadres staan?
Omdat de proxy zichzelf dan als doel aanspreekt en er een lus ontstaat. Onder servers.<name>.address hoort het adres waarmee het proxyproces de backend bereikt — een intern of privé-adres, niet de publieke naam waar de DNS van je netwerk naar wijst.