Hoe maak je een server in Minecraft
Een eigen server geeft je volledige controle over de wereld en de spelregels. Het is de mogelijkheid om met vrienden te spelen zonder…
Een eigen server geeft je volledige controle over de wereld en de spelregels. Het is de mogelijkheid om met vrienden te spelen zonder maandelijkse abonnementen te betalen, om allerlei modificaties te installeren, minigames of technische builds te maken. De server draait als een apart programma op de computer: hij verwerkt de spellogica, en de clients van de spelers maken er verbinding mee. Het maakproces bestaat uit het kiezen van een core, de basisconfiguratie van de configbestanden en het openstellen van netwerktoegang.
De serverkern kiezen
Het type core bepaalt de functionaliteit van de server. Het is onmogelijk om Forge-mods op Paper te installeren, of plugins op Vanilla.
Type core | Ondersteuning | Waarvoor geschikt |
Vanilla | Alleen datapacks | Pure survival, speedruns. De slechtste optimalisatie. |
Paper | Plugins (Bukkit/Spigot/Paper) | Openbare servers, survival met vrienden, minigames. Uitstekende optimalisatie. |
Purpur | Plugins (Paper) + eigen config | Zoals Paper, maar met fijnafstelling van mechanieken (bijvoorbeeld toestaan om op bijen te rijden). |
Fabric | Mods (Fabric) | Technische servers (Carpet mod), vanilla+ builds, optimalisatie (Lithium). |
NeoForge / Forge | Mods (Forge/NeoForge) | Zware modpacks met nieuwe dimensies, mechanismen, magie. |
Voor 90% van de privéservers zonder grote globale mods is Paper de optimale keuze. Het vereist geen installatie van mods op de clients van de spelers (alles werkt vanuit een vanilla-client), ondersteunt plugins voor gebiedsbescherming en draait sneller dan de officiële core.
⚠️ Belangrijk: Hybride cores (Arclight, Mohist), die zowel mods als plugins tegelijk ondersteunen, verstoren vaak de mechanieken van mods en veroorzaken instabiliteit. Kies één ding: ofwel plugins, ofwel mods.
Systeemeisen en voorbereiding
De server verbruikt werkgeheugen (RAM) en processorbronnen. De videokaart heeft geen invloed op de server — het genereren van de wereld gebeurt uitsluitend op de CPU.
Voor 2-5 spelers (Paper):
RAM: 2-3 GB toegewezen geheugen.
CPU: elke moderne processor vanaf 4 kernen.
Voor 10+ spelers of zware modpacks (NeoForge):
RAM: 6-8 GB toegewezen geheugen.
CPU: hoge prestaties per kern.
Java installeren
Minecraft 1.21+ vereist Java 21 (voor versies 26.1+ is Java 26 nodig). De server gebruikt niet de in de client ingebouwde Java; die moet apart op het systeem worden geïnstalleerd.
Download JDK 21 (of JDK 26) van de officiële website van Oracle.
Installeer het en activeer beslist de optie “Add to PATH” in het installatieprogramma.
Controleer in de terminal: java -version. Het moet versie 21.0.x weergeven.
Basisinstallatie en opstarten
Voorbeeld van een installatie voor de Paper-core:
Stap 1. De core downloaden
Ga naar de officiële website papermc.io, kies de spelversie (bijvoorbeeld 26.1) en download het bestand. Maak een lege map voor de server en verplaats het bestand daarheen. Hernoem het voor het gemak naar server.jar.
Stap 2. Het opstartbestand maken
De server start niet met een dubbelklik. Je moet er geheugen aan toewijzen via een script.
Maak in de servermap een tekstdocument start.txt aan,
open het en plak de code:
DOS
java -Xmx4G -Xms4G -jar server.jar nogui
pause
De parameter -Xmx4G stelt de maximale limiet voor het werkgeheugen in (4 GB). -Xms4G – het startvolume. Sla het bestand op en verander de extensie van .txt naar .bat (voor Windows).
Maak op Linux/macOS start.sh aan en voeg #!/bin/bash toe als eerste regel.
Stap 3. De EULA accepteren
Start start.bat. De console gaat een paar seconden open en sluit weer. Open het nieuwe bestand eula.txt. Verander de regel eula=false naar eula=true. Dit is de officiële instemming met de licentieovereenkomst van de ontwikkelaars.
Stap 4. Volledig opstarten
Start start.bat opnieuw. De server genereert de wereld en de configuratiebestanden. In de console verschijnt het bericht Done!. Stop de server uitsluitend met het commando stop in de console, anders kan de wereld beschadigd raken.
Configuratie van server.properties
Het bestand server.properties bevat de belangrijkste instellingen van de server. Om het te openen, klik je met de rechtermuisknop op het bestand en kies je “Openen met…”, daarna kies je “Kladblok” of een andere teksteditor.\
Hieronder staat een tabel met de standaardinstellingen van server.properties en een beschrijving van elke parameter:
Parameter | Waarde | Beschrijving |
accepts-transfers | FALSE | Bepaalt of deze server omleidingen (transfers) van spelers van andere servers accepteert. |
allow-flight | FALSE | Staat vliegen op de server in survivalmodus toe of verbiedt het (als de speler externe modificaties gebruikt). Bij false zal de server zulke spelers kicken. |
broadcast-console-to-ops | TRUE | Indien ingeschakeld, worden de resultaten van consolecommando's in de chat verstuurd naar alle operators (beheerders) van de server. |
broadcast-rcon-to-ops | TRUE | Hetzelfde als het vorige, maar voor commando's die via externe toegang (RCON) zijn verstuurd. |
bug-report-link | (leeg) | Een link die aan spelers op het scherm wordt getoond wanneer ze door een fout of crash van de server worden losgekoppeld. |
debug | FALSE | Schakelt de debugmodus (debug mode) in voor uitgebreide foutlogging. |
difficulty | easy | Moeilijkheidsgraad op de server (peaceful - vreedzaam, easy - makkelijk, normal - normaal, hard - moeilijk). |
enable-code-of-conduct | FALSE | Of spelers bij het verbinden moeten instemmen met de gedragsregels van Microsoft (Code of Conduct). |
enable-jmx-monitoring | FALSE | Staat het gebruik van JMX (Java Management Extensions) toe voor het monitoren van de serverprestaties. |
enable-query | FALSE | Schakelt het GameSpy4-protocol (Query) in, waarmee externe monitoringsites informatie over de server kunnen opvragen (online, plugins). |
enable-rcon | FALSE | Schakelt externe toegang tot de serverconsole (RCON) in voor beheer zonder directe toegang tot de terminal van de machine. |
enable-status | TRUE | Staat toe dat de server als "online" wordt weergegeven in de serverlijst van de spelclient. |
enforce-secure-profile | TRUE | Vereist dat spelers ondertekende publieke sleutels van hun Mojang-profiel hebben (bescherming tegen vervalsing van chatberichten). |
enforce-whitelist | FALSE | Indien true, verwijdert de server gedwongen spelers die niet op de "witte lijst" (whitelist) staan zodra deze lijst wordt geactiveerd. |
entity-broadcast-range-percentage | 100 | Regelt de afstand (in procenten) waarop de server gegevens over entiteiten (mobs, andere spelers, voorwerpen) naar de client stuurt. |
force-gamemode | FALSE | Stelt spelers bij elke verbinding met de server gedwongen de standaardspelmodus in. |
function-permission-level | 2 | Het rechtenniveau (van 1 tot 4) voor functies die via datapacks (datapacks) worden uitgevoerd. |
gamemode | survival | De standaardspelmodus (survival, creative, adventure, spectator). |
generate-structures | TRUE | Bepaalt of er structuren in de wereld worden gegenereerd (dorpen, kerkers, tempels enz.). |
generator-settings | {} | Speciale instellingen voor de wereldgenerator (meestal gebruikt voor aangepaste werelden). |
hardcore | FALSE | "Hardcore"-modus. Indien true, gaat de speler na de dood voorgoed over naar de toeschouwersmodus. |
hide-online-players | FALSE | Indien true, verbergt het de lijst met bijnamen van actieve spelers in het multiplayermenu. |
initial-disabled-packs | (leeg) | De lijst met datapacks die worden uitgeschakeld bij het maken van een nieuwe wereld. |
initial-enabled-packs | vanilla | De lijst met datapacks die standaard zijn ingeschakeld (het basisspel "vanilla"). |
level-name | world | De naam van de map waarin de bestanden van jouw wereld worden opgeslagen. |
level-seed | (leeg) | De seed (numeriek zaad) voor het genereren van de wereld. Als deze leeg is, wordt een willekeurige gegenereerd. |
level-type | minecraft\:normal | Het type wereldgeneratie (normal - gewoon, flat - vlak, large_biomes - grote biomen, amplified - bergachtig). |
log-ips | TRUE | Bepaalt of de IP-adressen van spelers in de logbestanden van de server worden vastgelegd. |
management-server-* | (diverse) | Een groep parameters (poorten, sleutels, instellingen) voor externe tools voor serverbeheer (wordt zelden gebruikt). |
max-chained-neighbor-updates | 1000000 | De limiet voor geketende blokupdates (bijvoorbeeld tijdens een TNT-explosie of complexe redstone-schema's) om te voorkomen dat de server vastloopt. |
max-players | 20 | Het maximale aantal spelers dat tegelijk op de server kan zijn. |
max-tick-time | 60000 | De maximale tijd (in milliseconden) voor het uitvoeren van één "tick". Als de server langer dan deze tijd "nadenkt", schakelt hij automatisch uit (bescherming tegen "dood" vastlopen). |
max-world-size | 29999984 | De maximale straal van de wereldgrens (in blokken). |
motd | A Minecraft Server | Message Of The Day. De beschrijving/naam van de server die spelers in de serverlijst zien. |
network-compression-threshold | 256 | De minimale pakketgrootte (in bytes) waarna de server het begint te comprimeren om internetverkeer te besparen. |
online-mode | TRUE | Een zeer belangrijke parameter. Indien true — laat het alleen spelers met een legaal spel toe. Indien false — staat het spelers met "illegale" launchers toe om in te loggen. |
op-permission-level | 4 | Het standaardrechtenniveau van operators (1-4, waarbij 4 toegang geeft tot alle commando's, inclusief stop). |
pause-when-empty-seconds | -1 | De inactiviteitstijd (in seconden) waarna de server de wereld "pauzeert" als er geen spelers zijn (-1 betekent uitgeschakeld). |
player-idle-timeout | 0 | De tijd (in minuten) waarna een inactieve (AFK) speler automatisch wordt gekickt. 0 — uitgeschakeld. |
prevent-proxy-connections | FALSE | Verbiedt de verbinding van spelers die VPN of proxy gebruiken (werkt in combinatie met het authenticatiesysteem van Mojang). |
query.port | 25565 | De poort voor het Query-protocol (als deze is ingeschakeld met de parameter enable-query). |
rate-limit | 0 | Het maximale aantal pakketten van de client naar de server. Wordt gebruikt ter bescherming tegen pakketspam (0 — uitgeschakeld). |
rcon.password | (leeg) | Het wachtwoord voor externe toegang tot de serverconsole (moet worden ingevuld als enable-rcon=true). |
rcon.port | 25575 | De poort voor de RCON-verbinding. |
region-file-compression | deflate | Het compressiealgoritme voor wereldbestanden (regio's). deflate is de standaard en de meest gangbare. |
require-resource-pack | FALSE | Indien true, kan de speler de server niet betreden totdat hij ermee instemt om het serverresourcepack te downloaden. |
resource-pack | (leeg) | Een directe link (URL) naar het .zip-archief van het serverresourcepack dat aan spelers wordt aangeboden. |
resource-pack-id | (leeg) | De unieke identificatie van het resourcepack (UUID). |
resource-pack-prompt | (leeg) | Het bericht dat de speler ziet bij het aanbod om het resourcepack te downloaden (bijvoorbeeld: "Download het pack alstublieft voor een beter spel"). |
resource-pack-sha1 | (leeg) | De SHA-1-hash van het archief met het resourcepack. Deze is nodig zodat de client het pack niet opnieuw downloadt als het niet is gewijzigd. |
server-ip | (leeg) | Het IP-adres voor het "binden" van de server. Wordt meestal leeg gelaten, zodat de server op alle netwerkinterfaces van de machine werkt. |
server-port | 25565 | De hoofdpoort van de server waarmee spelers verbinding zullen maken. |
simulation-distance | 10 | De straal (in chunks) rond de speler waarbinnen de wereld wordt gesimuleerd (planten groeien, mobs bewegen, mechanismen werken). |
spawn-protection | 16 | De beschermingsstraal van de spawnzone (in blokken). In deze zone kunnen gewone spelers geen blokken breken of plaatsen. |
status-heartbeat-interval | 0 | Het interval voor het verzenden van uitgebreide gegevens over de status van de server (wordt meestal niet gebruikt). |
sync-chunk-writes | TRUE | Maakt het opslaan van chunks naar schijf synchroon (betrouwbaarder om verlies van wereldgegevens bij crashes te voorkomen, maar kan de server iets vertragen). |
text-filtering-config | (leeg) | Instellingen van een extern systeem voor het filteren van scheldwoorden in de chat. |
text-filtering-version | 0 | De API-versie voor het tekstfiltersysteem. |
use-native-transport | TRUE | Staat de server toe om geoptimaliseerde netwerkbibliotheken van het systeem te gebruiken (bijvoorbeeld epoll voor Linux), wat de netwerkprestaties verbetert. |
view-distance | 10 | De renderafstand (in chunks) die de server naar de client stuurt (waarop de zichtafstand van de speler is gebaseerd). |
white-list | FALSE | Inschakeling van de "witte lijst". Indien true, kunnen alleen spelers wier bijnamen aan deze lijst zijn toegevoegd de server betreden (met het commando /whitelist add <bijnaam>). |
⚠️ Belangrijk: Als je online-mode=false instelt, kan elke speler inloggen onder de bijnaam van de beheerder. Installeer beslist een plugin voor autorisatie (bijvoorbeeld AuthMe Reloaded) ter bescherming.
Hoe installeer je plugins
Plugins breiden de mogelijkheden van de server uit zonder dat spelers mods hoeven te installeren. Ze werken alleen op Paper, Purpur en Spigot.
Download de plugin in .jar-formaat.
Plaats het bestand in de map plugins binnen de server.
Start de server opnieuw op (stop -> start.bat).
In de map plugins verschijnt een map met de configs van de plugin, waar de instellingen worden bewerkt (meestal in het bestand config.yml).
Hoe installeer je mods
Om met mods te spelen is een Fabric- of NeoForge-core nodig. Alle spelers moeten een identieke set mods in hun client hebben.
Voor Fabric:
Download het installatieprogramma van fabricmc.net.
Start het, kies het tabblad "Server", geef de spelversie en een lege map op. Klik op "Install".
Start de gedownloade fabric-server-launch.jar via start.bat.
Zet mods in de gegenereerde map mods. Voor Fabric is de mod Fabric API beslist vereist.
Voor NeoForge:
Download het installatieprogramma van neoforged.net.
Start het, kies "Install server" en geef een map op.
Start na de installatie het bestand run.bat (het installatieprogramma maakt het zelf aan).
Plaats de servermods in de map mods.
Clientmods (minikaarten, shaders, weergaveoptimalisatie zoals Sodium) mogen niet op de server worden geïnstalleerd — ze veroorzaken een crash van de core bij het opstarten.
Hoe laat je spelers op de server toe
Methode 1: Port Forwarding
De beste methode met de laagste ping. Vereist toegang tot de router.
Ga naar het instellingenpaneel van de router (192.168.1.1 in de browser).
Zoek het gedeelte "Port Forwarding" of "NAT".
Maak een regel: poort 25565, protocol TCP/UDP, lokaal IP — het adres van jouw computer (vind het via ipconfig).
Spelers maken verbinding via jouw externe IP-adres (de site 2ip.ua).
Methode 2: Tunnels (Playit.gg)
Als de provider poorten blokkeert.
Download het programma van playit.gg.
Start het samen met de server. Het opent een pagina in de browser.
Registreer je, en de dienst geeft een openbaar adres (bijvoorbeeld auto-bridge.playit.gg).
Spelers voeren dit adres in het spel in.
Methode 3: Radmin VPN
Installeer Radmin VPN op alle computers.
Maak een netwerk aan en geef je vrienden de naam.
Zij sluiten zich aan bij het netwerk.
Spelers maken verbinding via het IP-adres van jouw pc, dat in Radmin VPN wordt weergegeven.
Technische details / Hoe het vanbinnen werkt
De Minecraft-server is een single-threaded applicatie. De hoofdspellus (tick loop), die de beweging van mobs, fysica en mechanismen verwerkt, wordt uitsluitend op één processorkern uitgevoerd.
Het spel probeert 20 ticks per seconde uit te voeren (TPS - Ticks Per Second). Aan één tick worden 50 milliseconden toegewezen. Als de berekeningen meer tijd kosten, daalt de TPS en ervaren spelers vertragingen. Juist daarom is de klokfrequentie van één kern voor de server belangrijker dan het totale aantal kernen.
Multithreading in cores zoals Paper wordt alleen gebruikt voor het asynchroon laden van chunks van de schijf en netwerkverwerking, maar de spellogica zelf blijft op één thread.
Basiscommando's voor beheerders
Worden in de serverconsole ingevoerd (zonder /).
Actie | Commando |
Operatorrechten geven | op [bijnaam] |
Rechten intrekken | deop [bijnaam] |
De witte lijst inschakelen | whitelist on |
Toevoegen aan de witte lijst | whitelist add [bijnaam] |
Een speler kicken | kick [bijnaam] [reden] |
Een speler bannen | ban [bijnaam] [reden] |
De wereld handmatig opslaan | save-all |
Hosting als alternatief
Als de thuiscomputer zwak is, kan de server worden gehuurd.
Type | Vertegenwoordigers | Voordelen | Beperkingen |
Gratis | Aternos, FalixNodes | Je hoeft niet te betalen | Wachtrijen bij het opstarten, lag bij belasting, de server gaat uit zonder spelers. |
Betaald budget | PebbleHost, Bloom.host | Vanaf 1 $ per GB, 24/7 in bedrijf | Je moet maandelijks betalen. |
VDS/VPS | Hetzner, Oracle | Volledige controle over de machine | Vereist vaardigheden in Linux-beheer. |
Veelvoorkomende fouten en hoe je ze voorkomt
Fout 1: FAILED TO BIND TO PORT. De server start niet, omdat poort 25565 al bezet is. Komt vaak voor bij het opstarten van twee start.bat. Open Taakbeheer en sluit alle Java(TM) Platform SE binary-processen.
Fout 2: UnsupportedClassVersionError. De Java-versie is verouderd. Voor 1.20.5+ is Java 21 nodig, en voor 1.16.5 — Java 11.
Fout 3: Lag bij snel vliegen. De server kan nieuwe chunks niet snel genoeg genereren. Installeer de plugin Chunky en genereer de wereld vooraf binnen een straal van 5000 blokken.
Fout 4: Crash van de Fabric/Forge-server bij het opstarten. Er is een clientmod (minikaart, Sodium) in de map mods terechtgekomen. De server heeft geen grafische interface en crasht bij de poging om ze te laden.
Fout 5: De fout Invalid session bij het verbinden. De speler gebruikt een illegale launcher terwijl online-mode=true is ingeschakeld. Verander de waarde naar false in server.properties.
Conclusie
Een eigen server op basis van Paper is de optimale keuze voor private survival met vrienden, omdat hij uitstekende prestaties biedt en het mogelijk maakt plugins toe te voegen zonder de spelclient te wijzigen. Voor grote builds met nieuwe mechanieken zul je Fabric of NeoForge moeten gebruiken, die synchronisatie van mods tussen de server en de spelers vereisen. De grootste uitdaging bij het opzetten van een thuisserver is het correct openstellen van poorten, maar het gebruik van diensten zoals Playit.gg lost het probleem met de gesloten poorten van de provider op. Als de prestaties van de thuis-pc tekortschieten, garandeert de overstap naar een goedkope betaalde hosting stabiele toegang 24/7.
Nog geen reacties. Wees de eerste om iets te delen.