Kan ikke forbinde til Minecraft-serveren: fejlbeskederne forklaret
Connection refused, Connection timed out, ReadTimeoutException, Outdated server, Invalid session og resten - hvad hver fejl betyder, hvem der kan rette den, og hvorfor din konsol ofte er tom.
Start her: tre spørgsmål løser de fleste sager
1. Kan spilleren se serveren på listen? Vises version og spillertal, er serveren fint tilgængelig - så er problemet noget, der sker efter klik på Join: version, whitelist, login eller kapacitet.
2. Hvor hurtigt fejler det?
- Med det samme (under et sekund) → porten kan nås, men der lytter ingen. Serveren er nede, eller porten er forkert. Dit problem.
- Efter 20-30 sekunder → pakkerne bliver smidt væk undervejs. Firewall, port forwarding eller routing.
3. Hvor mange spillere er ramt? Én spiller, mens resten er inde → det er deres netværk, deres version eller deres konto. Alle på én gang → det er serveren.
Huskeregel: Refused = forkert dør. Timed out = ingen dør. Incompatible = forkert nøgle. Invalid session = forkert spiller, ikke din server.
Og husk: en tom konsol er også et svar. Flere af fejlene herunder skriver ingenting i serverloggen, fordi forbindelsen aldrig nåede frem. Se tabellen nederst.
Connection refused: getsockopt
Den fulde fejl ser sådan ud:
io.netty.channel.AbstractChannel$AnnotatedConnectException:
Connection refused: getsockopt: minserver.dk/203.0.113.10:25565
Ældre Minecraft-versioner skriver
no further informationi stedet forgetsockopt. Det er præcis samme fejl. Ordlyden kommer fra Java, ikke fra Minecraft, og den skiftede med Java 17. Kører spilleren 1.17 eller nyere - altså alt moderne - ser degetsockopt.
Hvad det betyder: pakken nåede frem til en maskine, men der lytter ingen på den port. Det fejler lynhurtigt.
De typiske årsager, i rækkefølge:
- Serveren kører ikke, er crashet, eller er stadig ved at starte op
- Spilleren bruger den forkerte port - typisk fordi de skriver værtsnavnet uden port, mens serveren ikke kører på 25565
server-portiserver.propertiesmatcher ikke den port, du har fået tildeltserver-iper udfyldt, så serveren bandt sig til den forkerte adresse- Port forwarding peger på en gammel intern IP
- En proxy foran serveren er nede, selv om selve serveren kører
Sådan finder du fejlen:
- Kig i Konsol efter linjen
**** FAILED TO BIND TO PORT!. Ser du den, er årsagen næsten altid, at der står noget iserver-ip. Lad feltet stå tomt, så binder serveren sig til alle adresser. - Test selv udefra på præcis den adresse og port, du giver dine spillere.
- Bruger du en SRV-record, så tjek at porten i den passer med
server-port.
Serverlog: ingenting. Forbindelsen nåede aldrig frem.
Connection timed out
io.netty.channel.AbstractChannel$AnnotatedConnectException:
Connection timed out: getsockopt: minserver.dk/203.0.113.10:25565
Der findes også en beslægtet fejl, som kommer fra Minecraft selv i stedet for styresystemet:
io.netty.channel.ConnectTimeoutException:
connection timed out after 30000 ms: minserver.dk/203.0.113.10:25565
Hvad det betyder: der kom slet intet svar. Pakkerne bliver droppet i stilhed. Derfor tager det 20-30 sekunder, hvor Connection refused fejler med det samme.
Årsager:
- En firewall dropper porten - på serveren, hos hosten eller i routeren
- Porten er ikke forwardet, eller peger det forkerte sted hen
- Spillerne har fået en forældet IP-adresse, eller DNS peger forkert
- Hostens DDoS-filter blokerer den pågældende spillers IP
- Spilleren sidder bag et skole- eller firmanetværk
Sådan retter du det: åbn porten indgående på TCP i alle lag - serverens firewall, hostens firewall og routeren. Bekræft derefter, at den offentlige adresse og DNS stemmer.
Serverlog: ingenting.
Internal Exception: io.netty.handler.timeout.ReadTimeoutException
Hvad det betyder: der gik 30 sekunder uden at der kom en eneste byte. Forbindelsen var oprettet - den holdt bare op med at svare.
Årsager, i rækkefølge:
- Serverens hovedtråd frøs i mere end 30 sekunder - chunk-generering, et plugin der laver synkron I/O, en
/reload, eller en lang GC-pause. Det er den klart hyppigste årsag, når alle ryger ud samtidig. - Serveren crashede eller blev dræbt af watchdoggen
- Reelt pakketab på vejen
- En proxy foran serveren gik i stå
Sådan finder du fejlen: rammer det kun én spiller, er det deres netværk. Rammer det alle på én gang, skal du kigge på serverens sundhed - Can't keep up! Is the server overloaded? eller et thread dump i konsollen er beviset.
Forveksl den ikke med
Timed out. Den korte besked kommer fra serverens egen keep-alive-kontrol og logges pænt somlost connection: Timed out.ReadTimeoutExceptioner netværkslagets egen timer.
Serverlog: som regel ja - lost connection: Internal Exception: io.netty.handler.timeout.ReadTimeoutException. Men er serveren helt frosset, logger den ingenting før den tør op igen. En konsol der er helt tavs i 30 sekunder er i sig selv diagnosen.
Internal Exception: java.net.SocketException: Connection reset
Den ældre udgave af samme fejl, som stadig fylder meget i søgninger:
Internal Exception: java.io.IOException:
An existing connection was forcibly closed by the remote host
Ordlyden skiftede med Java 17. Kører spilleren Minecraft 1.17 eller nyere, ser de
Connection reset. Ældre versioner viser den lange Windows-tekst. Det er den samme fejl.
Hvad det betyder: forbindelsen blev revet over i stedet for lukket pænt.
Årsager:
- Serverprocessen døde midt i det hele - crash, OOM-killer eller et stop fra panelet
- En firewall eller et DDoS-filter dræbte forbindelsen undervejs
- Routeren eller NAT-tabellen tabte forbindelsen
- Spilleren lukkede spillet hårdt, eller slog VPN til eller fra
Sådan finder du fejlen: tjek først, om serveren stadig kørte i det øjeblik. Genstartede den, er det et crash-spørgsmål og ikke et netværksspørgsmål - se efter Killed eller exit code 137, som betyder at serveren løb tør for hukommelse.
Serverlog: som regel ja - lost connection: Internal Exception: java.net.SocketException: Connection reset.
Incompatible client!, Outdated client! og Outdated server!
Her afhænger teksten af, hvilken serversoftware du kører:
| Fejlbesked | Hvilken server | Betydning |
|---|---|---|
Incompatible client! Please use <version> |
Vanilla, Fabric, NeoForge | Versionerne passer ikke |
Outdated client! Please use <version> |
Paper, Spigot, Purpur | Spillerens version er ældre end serverens |
Outdated server! I'm still on <version> |
Paper, Spigot, Purpur | Spillerens version er nyere end serverens |
Versionsnummeret i beskeden er altid serverens - også i
Outdated server!. Spillere læser den ofte som om serveren fortæller, at den selv er forkert. Den fortæller dem, hvilken version de skal skifte til.
Sådan retter du det: skriv den præcise version tydeligt, hvor spillerne finder din server. Vil du acceptere flere versioner på én gang, skal du installere ViaVersion (og ViaBackwards, hvis ældre klienter også skal ind).
Kører du Paper, kan du i øvrigt skrive din egen besked i spigot.yml under messages:
messages:
outdated-client: 'Din klient er for gammel. Serveren kører {0}.'
outdated-server: 'Skift din launcher til {0} for at joine.'
Serverlog: ingenting. Afvisninger i handshake-fasen logges ikke. "Spilleren siger, de får en fejl, men min log er tom" er helt normalt netop her.
Failed to log in: Invalid session
Den fulde besked er Failed to log in: Invalid session (Try restarting your game and the launcher).
Beslægtede varianter:
Failed to log in: The authentication servers are currently not reachable. Please try again.
Failed to log in: Multiplayer is disabled. Please check your Microsoft account settings.
Hvad det betyder: fejlen opstår hos spilleren, før din server overhovedet bliver kontaktet. Deres klient bad Microsoft om lov til at joine, og det svar kom ikke.
Årsager: udløbet login-token (launcheren har stået åben for længe), nedbrud hos Microsoft, spilleren kører to instanser af spillet, eller deres systemur er forkert.
Hvad du kan gøre: næsten altid ingenting - det er spillerens konto. Bed dem lukke både spillet og launcheren helt ned og logge ind igen.
Det eneste, du selv kan gøre forkert, er
online-mode. Står den påfalse, kan fejlen slet ikke opstå - men så bliver ingen spillere verificeret, og hvem som helst kan joine under et hvilket som helst navn.
Serverlog: ingenting.
You are not white-listed on this server!
Bemærk, at der findes to stavemåder, alt efter serversoftware:
| Fejlbesked | Hvilken server |
|---|---|
You are not white-listed on this server! |
Vanilla, Fabric, NeoForge - med bindestreg |
You are not whitelisted on this server! |
Paper, Spigot, Purpur - uden bindestreg |
Årsager:
white-list=trueog spilleren står ikke på listen- Spilleren er skrevet på under et gammelt brugernavn
- Du har redigeret
whitelist.jsoni hånden uden at kørewhitelist reload enforce-whitelist=truesmider allerede tilsluttede spillere ud, når listen genindlæses
Test aldrig med din egen konto. Operatører kommer altid ind, uanset whitelist. Brug en almindelig konto til at teste.
Serverlog: ja - Disconnecting <spiller> (/<ip>): You are not white-listed on this server!
The server is full! og Connection throttled!
To vidt forskellige ting, som ofte forveksles.
The server is full! betyder simpelthen, at max-players er nået. Vær opmærksom på, at det reelle loft som regel er din RAM, ikke tallet i filen.
Connection throttled! Please wait before reconnecting. findes kun på Paper og Spigot. Serveren afviser en ny forbindelse fra samme IP-adresse, hvis der er gået under 4 sekunder siden sidste forsøg. Indstillingen står i bukkit.yml:
settings:
connection-throttle: 4000
Den klassiske falske alarm: alle bag samme offentlige IP deler den samme spærretid - en husstand, en skole, eller enhver server der står bag en proxy. Kører du Velocity eller BungeeCord foran, ser bagserveren kun proxyens IP, og så rammer spærringen alle. Sæt
connection-throttle: -1på bagserveren og lad proxyen styre det i stedet.
Serverlog: The server is full! logges. Connection throttled! logges ikke - endnu et tilfælde af "fejl hos spilleren, tom konsol".
Took too long to log in
Hvad det betyder: helt præcist at der gik 600 server-ticks - altså 30 sekunder, hvis serveren kører normalt - uden at login blev færdigt. Kører serveren langsomt, tager det tilsvarende længere i rigtige sekunder.
Årsager:
- Serveren var for travl til at nå at gøre login færdigt - typisk stadig under opstart, eller et plugin der blokerer hovedtråden
- Serveren kan ikke nå Microsofts login-servere. En blokeret udgående forbindelse er en klassiker på strengt lukkede servere, og den viser sig først, når nogen prøver at logge ind
- Spillerens gemte data er meget store eller beskadigede
Serverlog: ja - Disconnecting <spiller>: Took too long to log in
Can't resolve hostname
Spilleren får den allerede i serverlisten, før de klikker Join. Der findes en beslægtet variant ved navn Unknown host.
Hvad det betyder: adressen kunne slet ikke slås op i DNS. Det er ikke din server - det er navnet.
Årsager: forkert eller manglende A-record, en SRV-record der peger på en rå IP-adresse i stedet for et værtsnavn, eller DNS der endnu ikke er slået igennem.
Kører du uden portnummer via en SRV-record, så vær opmærksom på to ting:
Spillerne skal skrive kun domænet - skriver de en port bagefter, springes SRV-opslaget helt over, og de rammer port 25565.
Og porten i din SRV-record skal matche
server-port. Gør den ikke det, får spillerneConnection refused, mens du selv tester med IP og port og synes alt virker.
Hvad logger serveren - og hvad gør den ikke?
Det her sparer dig for at lede efter noget, der aldrig bliver skrevet:
| Fejl hos spilleren | Står der noget i konsollen? |
|---|---|
Connection refused |
Nej - nåede aldrig frem |
Connection timed out |
Nej |
Can't resolve hostname |
Nej |
Incompatible client! / Outdated server! |
Nej - handshake logges ikke |
Connection throttled! |
Nej |
Failed to log in: Invalid session |
Nej - sker hos spilleren |
You are not white-listed on this server! |
Ja |
The server is full! |
Ja |
You are banned from this server |
Ja |
Took too long to log in |
Ja |
ReadTimeoutException |
Som regel - medmindre serveren er frosset |
Connection reset |
Som regel |
Kort sagt: alt før login logges ikke, alt fra login og frem logges. Får en spiller en fejl, og din konsol er helt tom, er det næsten altid én af tre ting: forbindelsen nåede aldrig frem, versionerne passer ikke, eller de blev throttlet.
Gode råd
- Lad
server-ipstå tomt. Der er meget få gode grunde til at udfylde det, og mange dårlige. - Skriv den præcise Minecraft-version, hvor dine spillere kan se den. Det fjerner en hel kategori af sager.
- Test din adresse udefra en gang imellem - ikke fra samme netværk som serveren.
- Bed altid spilleren om et skærmbillede af hele fejlen. Halen med adresse og port er ofte den vigtigste del.
- Sæt ikke
max-tick-time=-1for at slippe for crashes. Så bytter du en ren genstart ud med en server, der hænger i det uendelige - og hvor ingen kan komme ind.
Kan du ikke placere en fejl? Send os fejlbeskeden præcis som spilleren ser den, sammen med et udsnit af konsollen fra samme tidspunkt.