Toon paginaOude revisiesReferentiesTerug naar boven Deze pagina is alleen-lezen. Je kan de broncode bekijken maar niet veranderen. Neem contact op met de beheerder als je denkt dat dit niet klopt. # Velocity Proxy De **Velocity Proxy** is het centrale toegangspunt van het Tulpencraft-netwerk. Alle spelers die verbinding maken met Tulpencraft komen binnen via de Velocity-proxy. De proxy stuurt spelers door naar de centrale Lobby. De achterliggende Minecraft-servers zijn **niet zelfstandig vanaf het internet bereikbaar**. --- ## π Basisinformatie | Eigenschap | Waarde | | -------------------- | -------------------------- | | Hostname | `mc-proxy001` | | Software | Velocity | | Rol | Centrale netwerkproxy | | Publiek adres | `tulpencraft.nl` | | Minecraft-poort | `25565` | | Eerste backend | `lobby` | | Besturingssysteem | Linux | | Installatiedirectory | `/srv/minecraft/velocity/` | --- ## ποΈ Architectuur Tulpencraft gebruikt een centrale netwerkarchitectuur. De verbinding van een speler verloopt altijd via de proxy en vervolgens naar de Lobby: ``` Minecraft-client β β tulpencraft.nl:25565 βΌ ββββββββββββββββββββββ β Velocity Proxy β β mc-proxy001 β βββββββββββ¬βββββββββββ β β βΌ ββββββββββββββββββββββ β Lobby β β mc-proxy001 β βββββββββββ¬βββββββββββ β ββββββββββββΌβββββββββββ β β β βΌ βΌ βΌ Survival Events SkyBlock ``` ### Belangrijk ontwerpprincipe De Velocity-proxy maakt voor spelers uitsluitend de **Lobby** tot eerste backend. De spelservers bevinden zich achter de Lobby. De gewenste verkeersstroom is: ``` Speler β Velocity β Lobby β Spelserver ``` Niet: ``` Speler ββββ Survival ββββ Events ββββ SkyBlock ``` De achterliggende servers zijn dus geen zelfstandige publieke Minecraft-servers. --- # π Velocity Velocity verzorgt de centrale netwerklaag van Tulpencraft. De proxy handelt onder andere af: * inkomende Minecraft-verbindingen; * doorsturen naar de Lobby; * netwerkcommando's; * serverroutering; * versiecompatibiliteit; * proxyplugins; * centrale netwerkfunctionaliteit. De hoofdconfiguratie staat in: ``` /srv/minecraft/velocity/velocity.toml ``` --- # π GeΓ―nstalleerde plugins De huidige pluginset op `mc-proxy001` bestaat uit: | Plugin | Versie | Rol | | ---------------- | -----------: | -------------------------------------- | | VLobby | 2.1.1 | Lobbycommando's en routering | | ViaVersion | 5.11.0 | Minecraft-versiecompatibiliteit | | ViaBackwards | 5.11.0 | Ondersteuning oudere Minecraft-clients | | MCKotlinVelocity | 1.5.1-k2.4.0 | Kotlin-runtime voor Velocity | | Simple Voice Chat| 2.6.18 | Voice-chat proxy | | bStats | β | Anonieme plugin-statistieken | De pluginbestanden bevinden zich in: ``` /srv/minecraft/velocity/plugins/ ``` De huidige directorystructuur is: ``` /srv/minecraft/velocity/plugins/ βββ bStats/ βββ MCKotlinVelocity-1.5.1-k2.4.0.jar βββ viabackwards/ βββ ViaBackwards-5.11.0.jar βββ viaversion/ βββ ViaVersion-5.11.0.jar βββ vlobby/ βββ VLobby-2.1.1.jar ``` De mappen bevatten de configuratie en plugin-data van de betreffende plugins. --- # πͺ VLobby [[plugins:vlobby|VLobby]] verzorgt de lobbycommando's op de Velocity-proxy. De huidige pluginversie is: ``` VLobby 2.1.1 ``` Configuratie: ``` /srv/minecraft/velocity/plugins/vlobby/configuration.conf ``` De configuratie gebruikt momenteel de handler: ``` command-handler="COMMAND_TO_SERVER" ``` De beschikbare routeringscommando's zijn onder andere: ``` /survival /events /lobby /hub ``` De configuratie koppelt deze commando's aan de betreffende servers. Voorbeeld: ``` survival=survival events=events lobby=lobby hub=lobby ``` ### Cooldown VLobby gebruikt momenteel een cooldown van **5 seconden** voor de geconfigureerde commando's. De Nederlandse melding hiervoor is: ``` Je kunt dit commando niet zo snel opnieuw gebruiken. Wacht <time> seconden. ``` --- # π ViaVersion [[plugins:viaversion|ViaVersion]] verzorgt de Minecraft-versiecompatibiliteit op de proxy. **Versie:** ``` 5.11.0 ``` Pluginbestand: ``` /srv/minecraft/velocity/plugins/ViaVersion-5.11.0.jar ``` Configuratie: ``` /srv/minecraft/velocity/plugins/viaversion/ ``` ViaVersion maakt het mogelijk om verschillende ondersteunde Minecraft-clientversies met het netwerk te laten communiceren. --- # β©οΈ ViaBackwards [[plugins:viabackwards|ViaBackwards]] werkt samen met ViaVersion. **Versie:** ``` 5.11.0 ``` Pluginbestand: ``` /srv/minecraft/velocity/plugins/ViaBackwards-5.11.0.jar ``` Configuratie: ``` /srv/minecraft/velocity/plugins/viabackwards/ ``` ViaBackwards breidt ViaVersion uit met ondersteuning voor oudere Minecraft-clientversies. De combinatie is: ``` ViaVersion + ViaBackwards β Versiecompatibiliteit ``` --- # π§© MCKotlinVelocity [[plugins:mckotlinvelocity|MCKotlinVelocity]] levert Kotlin-runtimefunctionaliteit voor Velocity-plugins die hiervan afhankelijk zijn. **Versie:** ``` 1.5.1-k2.4.0 ``` Pluginbestand: ``` /srv/minecraft/velocity/plugins/MCKotlinVelocity-1.5.1-k2.4.0.jar ``` MCKotlinVelocity is geen gameplayplugin. Het is een technische runtime/dependency voor plugins die Kotlin gebruiken. --- # ποΈ Simple Voice Chat [[plugins:voicechat|Simple Voice Chat]] verzorgt de proximity voice chat binnen Tulpencraft. De voice-chatoplossing bestaat uit twee onderdelen: * de **Velocity-proxycomponent** op `mc-proxy001`; * de **Paper-backendplugin** op `mc-survival001`. De proxy ontvangt het publieke UDP-verkeer en koppelt dit aan de backend waarop voice chat actief is. ## Huidige status ^ Onderdeel ^ Waarde ^ | Status | π’ Actief | | Proxy | `mc-proxy001` | | Velocity-plugin | Simple Voice Chat 2.6.18 | | Survival-plugin | Simple Voice Chat 2.6.21 | | Publieke voice-host | `server.tulpencraft.nl:25565` | | Publiek protocol | UDP | | Publieke poort | `25565` | | Survival backend-poort | `24454` | ## π¦ Velocity-proxy Op `mc-proxy001` draait de Velocity-component van Simple Voice Chat. Pluginbestand: `/srv/minecraft/velocity/plugins/voicechat-velocity.jar` Configuratie: `/srv/minecraft/velocity/plugins/voicechat/voicechat-proxy.properties` De proxy luistert voor voice chat op: `0.0.0.0:25565/UDP` Dit gebruikt hetzelfde **poortnummer** als Minecraft, maar een ander protocol: ^ Protocol ^ Poort ^ Functie ^ | TCP | `25565` | Minecraft / Velocity | | UDP | `25565` | Simple Voice Chat | De publieke voice-host is: `server.tulpencraft.nl:25565` ## ποΈ Survival-backend Op `mc-survival001` draait de Paper-versie van Simple Voice Chat. Pluginbestand: `/srv/minecraft/survival/plugins/voicechat.jar` Versie: `2.6.21` De backend gebruikt intern: `UDP 24454` Deze poort is **niet het publieke voice-chat endpoint**. Het publieke voice-verkeer komt binnen op de Velocity-proxy en wordt vervolgens naar de backend doorgestuurd. ## π Verkeersstroom De voice-chatverbinding verloopt als volgt: Minecraft client β β UDP 25565 βΌ server.tulpencraft.nl β βΌ pfSense β βΌ mc-proxy001 Velocity + Simple Voice Chat β β backend βΌ mc-survival001 Simple Voice Chat UDP 24454 ## π₯ Firewall Op `mc-proxy001` moet UDP `25565` beschikbaar zijn voor Simple Voice Chat. Dezelfde host gebruikt TCP `25565` voor Minecraft. TCP en UDP zijn afzonderlijke protocollen en kunnen daarom hetzelfde poortnummer gebruiken. Op `mc-survival001` blijft UDP `24454` beschikbaar voor de backendcomponent. ## π DNS Voor Minecraft wordt `tulpencraft.nl` gebruikt. Voor voice chat wordt expliciet: `server.tulpencraft.nl:25565` gebruikt als publieke voice-host. Het DNS-record `server.tulpencraft.nl` moet naar het publieke adres van Tulpencraft wijzen. ## π€ Client Simple Voice Chat vereist client-side ondersteuning. Spelers moeten daarom de bijbehorende Simple Voice Chat-client gebruiken om voice chat te kunnen gebruiken. ## π§ Configuratie wijzigen ### Velocity `/srv/minecraft/velocity/plugins/voicechat/voicechat-proxy.properties` Belangrijke instellingen: `port=25565` `voice_host=server.tulpencraft.nl:25565` ### Survival `/srv/minecraft/survival/plugins/voicechat/voicechat-server.properties` De backend gebruikt intern poort `24454`. Wijzigingen aan deze configuratie worden pas actief wanneer de betreffende plugin/server de configuratie opnieuw inleest. ## π§ͺ Troubleshooting ### Proxy controleren `sudo journalctl -u velocity --since "10 minutes ago" --no-pager | grep -iE 'voicechat|voice chat'` Bij een correcte start moet de proxy een melding geven dat de voice-chatserver actief is. ### Survival controleren `sudo journalctl -u minecraft-survival --since "10 minutes ago" --no-pager | grep -iE 'voicechat|voice chat'` ### Luisterende UDP-poorten controleren Op de proxy: `sudo ss -lunp | grep 25565` Op Survival: `sudo ss -lunp | grep 24454` ## β οΈ Belangrijk De Velocity-proxy is het publieke voice-chatpunt. Maak daarom op pfSense **geen publieke NAT-regel naar `mc-survival001:24454`**. De publieke route is: `UDP 25565 β mc-proxy001` De Survival-poort `24454/UDP` is alleen voor de interne backendverbinding. --- # π bStats bStats wordt gebruikt voor anonieme plugin-statistieken. De gegevens worden door individuele plugins gebruikt om algemene gebruiksstatistieken te verzamelen. De bStats-data bevindt zich onder: ``` /srv/minecraft/velocity/plugins/bStats/ ``` --- # π Directorystructuur De volledige Velocity-installatie bevindt zich onder: ``` /srv/minecraft/velocity/ ``` Belangrijke onderdelen: ``` /srv/minecraft/velocity/ βββ velocity.toml βββ plugins/ βββ lang/ βββ logs/ βββ ... ``` ### Configuratie ``` /srv/minecraft/velocity/velocity.toml ``` ### Plugins ``` /srv/minecraft/velocity/plugins/ ``` ### Taalbestanden ``` /srv/minecraft/velocity/lang/ ``` ### Logs ``` /srv/minecraft/velocity/logs/ ``` --- # π Taal en berichten Velocity bevat verschillende taalbestanden: ``` /srv/minecraft/velocity/lang/ ``` Daaronder bevindt zich onder andere: ``` messages_nl_NL.properties ``` Dit bestand bevat de Nederlandse vertalingen van Velocity-meldingen. Voorbeeld: ``` velocity.error.connecting-server-error=Kan je niet verbinden met <arg:0>. Probeer het later opnieuw. ``` De standaard `messages.properties` bevat de Engelse fallback-teksten. Bij wijzigingen aan Velocity-teksten moet rekening worden gehouden met de taal die door de Minecraft-client wordt gebruikt. --- # π οΈ Beheer Velocity wordt als systemd-service uitgevoerd. ### Status bekijken ``` sudo systemctl status velocity ``` ### Proxy starten ``` sudo systemctl start velocity ``` ### Proxy stoppen ``` sudo systemctl stop velocity ``` ### Proxy herstarten ``` sudo systemctl restart velocity ``` --- # π Logs De Velocity-logs kunnen via `journalctl` worden bekeken. ### Live logs ``` sudo journalctl -u velocity -f ``` ### Recente logs ``` sudo journalctl -u velocity --since "10 minutes ago" --no-pager ``` ### Fouten zoeken ``` sudo journalctl -u velocity --since "10 minutes ago" --no-pager | \ grep -Ei 'error|exception|warn' ``` ### VLobby controleren ``` sudo journalctl -u velocity --since "10 minutes ago" --no-pager | \ grep -Ei 'vlobby|error|exception' ``` --- # π§ Pluginconfiguratie wijzigen Pluginconfiguraties worden opgeslagen binnen: ``` /srv/minecraft/velocity/plugins/ ``` Na wijzigingen moet een plugin worden herladen of, indien noodzakelijk, moet Velocity worden herstart. Voor wijzigingen aan kritieke proxyconfiguratie wordt een volledige restart aanbevolen: ``` sudo systemctl restart velocity ``` Daarna controleren: ``` sudo journalctl -u velocity --since "1 minute ago" --no-pager ``` --- # π Netwerkbeveiliging De Velocity-proxy is het **enige publieke Minecraft-toegangspunt**. De gewenste netwerkstructuur is: ``` INTERNET β β :25565 βΌ βββββββββββββββββββ β Velocity β β mc-proxy001 β ββββββββββ¬βββββββββ β βΌ Lobby β ββββββββββββΌβββββββββββ βΌ βΌ βΌ Survival Events SkyBlock ``` De backendservers mogen niet rechtstreeks vanaf het internet bereikbaar zijn. --- # π¦ Serverroutering De proxy gebruikt de Lobby als centrale ingang. ### Verbinding bij het inloggen ``` Minecraft-client β tulpencraft.nl β Velocity β Lobby ``` ### Naar Survival ``` Speler β Lobby β Survival ``` ### Naar Events ``` Speler β Lobby β Events ``` ### Naar toekomstige SkyBlock ``` Speler β Lobby β SkyBlock ``` --- # π¨ Troubleshooting ## Speler kan niet verbinden met Tulpencraft Controleer: ``` sudo systemctl status velocity ``` Controleer vervolgens de logs: ``` sudo journalctl -u velocity --since "10 minutes ago" --no-pager ``` --- ## Speler komt niet in de Lobby Controleer eerst Velocity: ``` sudo systemctl status velocity ``` Controleer daarna de Lobby: ``` sudo systemctl status minecraft-lobby ``` Controleer vervolgens de proxylogs: ``` sudo journalctl -u velocity --since "5 minutes ago" --no-pager | \ grep -Ei 'lobby|error|exception' ``` --- ## Speler kan niet naar Survival Controleer of Survival actief is: ``` sudo systemctl status minecraft-survival ``` Controleer vervolgens de proxy: ``` sudo journalctl -u velocity --since "5 minutes ago" --no-pager | \ grep -Ei 'survival|vlobby|error|exception' ``` Controleer daarna de Lobby-server zelf. --- # π Huidige configuratiestatus | Onderdeel | Status | | ------------------------ | ------------------ | | Velocity | π’ Actief | | Lobby als eerste backend | π’ In gebruik | | VLobby | π’ 2.1.1 | | ViaVersion | π’ 5.11.0 | | ViaBackwards | π’ 5.11.0 | | MCKotlinVelocity | π’ 1.5.1-k2.4.0 | | bStats | π’ Aanwezig | | Publieke backendservers | π Niet bereikbaar | | Wiki-documentatie | π‘ In ontwikkeling | --- # π Gerelateerde pagina's * [[serverinfrastructuur:overzicht|Serverinfrastructuur β Overzicht]] * [[serverinfrastructuur:lobby|Lobby]] * [[serverinfrastructuur:survival|Survival]] * [[serverinfrastructuur:events|Events]] * [[plugins:vlobby|VLobby]] * [[plugins:viaversion|ViaVersion]] * [[plugins:viabackwards|ViaBackwards]] * [[beheer:start|Beheer]] --- > **Laatste update:** augustus 2026 > > De Velocity-proxy is de centrale toegangspoort van Tulpencraft. Wijzigingen aan de proxyconfiguratie, netwerkarchitectuur of geΓ―nstalleerde plugins moeten in deze documentatie worden bijgewerkt. serverinfrastructuur/proxy.txt Laatst gewijzigd: 2026/08/25 07:24door rroethof