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.
| 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/ |
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
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 verzorgt de centrale netwerklaag van Tulpencraft.
De proxy handelt onder andere af:
De hoofdconfiguratie staat in:
/srv/minecraft/velocity/velocity.toml
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 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
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 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 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 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 verzorgt de proximity voice chat binnen Tulpencraft.
De voice-chatoplossing bestaat uit twee onderdelen:
mc-proxy001;mc-survival001.De proxy ontvangt het publieke UDP-verkeer en koppelt dit aan de backend waarop voice chat actief is.
| 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 |
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
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.
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
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.
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.
Simple Voice Chat vereist client-side ondersteuning.
Spelers moeten daarom de bijbehorende Simple Voice Chat-client gebruiken om voice chat te kunnen gebruiken.
/srv/minecraft/velocity/plugins/voicechat/voicechat-proxy.properties
Belangrijke instellingen:
port=25565
voice_host=server.tulpencraft.nl:25565
/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.
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.
sudo journalctl -u minecraft-survival --since "10 minutes ago" --no-pager | grep -iE 'voicechat|voice chat'
Op de proxy:
sudo ss -lunp | grep 25565
Op Survival:
sudo ss -lunp | grep 24454
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 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/
De volledige Velocity-installatie bevindt zich onder:
/srv/minecraft/velocity/
Belangrijke onderdelen:
/srv/minecraft/velocity/ βββ velocity.toml βββ plugins/ βββ lang/ βββ logs/ βββ ...
/srv/minecraft/velocity/velocity.toml
/srv/minecraft/velocity/plugins/
/srv/minecraft/velocity/lang/
/srv/minecraft/velocity/logs/
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.
Velocity wordt als systemd-service uitgevoerd.
sudo systemctl status velocity
sudo systemctl start velocity
sudo systemctl stop velocity
sudo systemctl restart velocity
De Velocity-logs kunnen via journalctl worden bekeken.
sudo journalctl -u velocity -f
sudo journalctl -u velocity --since "10 minutes ago" --no-pager
sudo journalctl -u velocity --since "10 minutes ago" --no-pager | \ grep -Ei 'error|exception|warn'
sudo journalctl -u velocity --since "10 minutes ago" --no-pager | \ grep -Ei 'vlobby|error|exception'
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
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.
De proxy gebruikt de Lobby als centrale ingang.
Minecraft-client
β
tulpencraft.nl
β
Velocity
β
Lobby
Speler β Lobby β Survival
Speler β Lobby β Events
Speler β Lobby β SkyBlock
Controleer:
sudo systemctl status velocity
Controleer vervolgens de logs:
sudo journalctl -u velocity --since "10 minutes ago" --no-pager
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'
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.
| 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 |
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.