FerdiV schreef op zondag 01 januari 2012 @ 14:28:
[...]
Ik vrees dat je geen gelijk hebt als ik de minecraft forums zo lees. Maar goed, ik zal hem eerst in singleplayer laten spelen.
De wereld staat op de server maar je runt het spel toch met de applicatie?
Als je vreest dat ik geen gelijk heb, moet je even een linkje of meer informatie geven. Aan de andere kant: als je in google 'minecraft lag spike' of 'minecraft lag spike of death' of 'minecraft lsod' intypt, dan krijg je direkt een paar youtube-filmpjes met een duidelijke beschrijving, inclusief de oude versie-nummers waar ik het al over had. Met andere woorden, weet ik dus heel zeker wat mensen bedoelen met een lagspike in Minecraft. Ik ben onder andere een tijd bezig geweest om dit op te lossen.
Als je speelt via een server dan gebeurd het volgende:
De server genereert de wereld en bepaald de staat van alle blokken en voorwerpen en posities.
De server stuurt iedere pc die meespeelt de gegevens over de staat van de map.
De applicatie op elke pc zorgt ervoor dat de map zichtbaar is.
De applicatie stuurt ook weer input terug naar de server, bijvoorbeeld bij bewegen of blokken plaatsen.
De server controleert of de input moglijk is en verwerkt dit in de gegevens op de server.
De applicatie hoeft dus niet zelf nieuwe blokken te genereren in nieuwe gebieden, en ook hoeft de wereld niet steeds te worden opgeslagen. Dit doet de server. Het opslaan van de wereld zorgt in singleplayer mode voor de lagspikes, omdat elke twee seconden de engine even bezet was en er een schokje te zien was.
De server zelf hoeft geen map te tonen op een scherm en als de server stottert, maakt dat dus niks uit, want niemand ziet er iets van. Het gaat puur om het stabiel houden van de fps.
De lagspikes waren te zien door het debugmenu (F3) aan te zetten. Links onder staat een grafiek van de fps, en elke twee seconden was daar de 'spike' in te zien. Dit is sinds 1.0 allemaal gefixed.
Ik denk dat je eigenlijk bedoeld dat iemand op een server steeds blijft hangen op een plek en niet goed kan lopen, omdat zijn nieuwe positie niet op de server wordt doorgevoerd. Dit komt meestal simpelweg door een slechte verbinding, zoals bijvoorbeeld door een firewall of met een erg hoge ping. De server bepaald uiteindelijk de staat van de hele minecraft-wereld en als de pc van iemand niet snel genoeg de server alle informatie kan geven over een nieuwe status, dan zal de server die nieuwe status niet door kunnen voeren. De server stuurt vervolgens weer de oude status naar alle spelers, waardoor in dit geval dus iemand niet of minder goed kan lopen. Dit zijn in ieder geval geen 'spikes' (pieken), maar dit is een constante 'lag'. Op een server zie je soms ook dat een blok wat je net hebt gemined weer terug wordt geplaatst. Dat is lag, omdat de server dus gewoon niet de informatie op tijd heeft binnen gekregen en dus niet 'weet' dat het blok gemined is. Vervolgens stuurt de server elke pc weer aan, en ziet iedereen het blok weer gewoon terug zoals het was.
Ik zou de firewall checken, ook die van de eventuele router. Uit mijn hoofd gebruikt Minecraft poort 25565. Probeer ook eens een pingtest tussen het probleemgeval en de server te doen. Binnen Nederland mag je een ping onder de 250 verwachten, en dan zou alles prima moeten werken. Kan je via google wel uitzoeken verder. Succes!