Spieler fallen durch die Welt.

  • Spieler fallen durch die Welt.

    Moin

    Es kommt immer wieder vor, dass Spieler durch die Welt fallen.
    Besonders wenn mehr als 10 leute auf dem Server sind.
    Das selbe Problem haben wir auch mit den Reittieren.

    Wir vermuten, dass es mit dem Mapaufbau zutun hat.
    Zwischenzeitig braucht die Welt lange zum aufbauen.
    Und der Ping geht in die höhe (500 bis 2500 Ping)

    In den Moment fallen die Spieler durch die Welt.

    Der Ram verbrauch liegt so bei bei 8Gb (12Gb hab ich den Server zugeteilt)
    Die CPU Auslastung liegt im durchschnit bei 50 % (8 Kerne)

    Kann ich irgendwas machen um das Problem zu reduzieren?
    Soll ich mein Server noch mehr Leistug geben? also 12 Kerne?
    Kann mein Server-Hoster etwas machen?


    MFG
    Smoka
    Green-Island.Online
    Deutscher Citybuild-Server
    IP: 185.239.236.47:4250
  • ja das ist ätzend wenn so was ist. Das betrifft zum Teil wohl auch die Spieler die Grad connecten ( wir sprachen ja im TS darüber ).
    Ich kann mir nicht vorstellen das ein Server so viel Leistung braucht, das Problem liegt ja evtl mit an der connectionszeit. Vielleicht sollte / kann @red51 hier Zeitlich was drehen, so das der Spieler erst auf der Map connectet wenn für ihn die Welt auch fertig aufgebaut ist. wie das jetzt mit den Tieren ist , hm keine Ahnung.
    Aber vielleicht liege ich ja auch so schön mit meinem Gedanken komplett falsch.

    ==Hessenstrolche==

    Teamspeak 3: 185.239.238.125:9987 / Rising World Server:185.239.238.125:4255
    Homepage / Discord / FB-Gruppe
  • Interessant, für eine Analyse des Problems wäre es vielleicht gut wenn man das Szenario auf verschiedenen Servern versucht nachzustellen. Sprich man müsste mal 1-2 andere Server nehmen und dort mit 10+ connecten und vergleichen, ob dort die selben Probleme auftauchen. So würde ich jetzt erst einmal an das Problem heran gehen. Auf meinem Server waren bisher max ~ 8 gleichzeitig eingelogt und es hat noch keiner einen "Durchfall" durch die Welt gemeldet, zumindest nicht was Spieler betrifft. Pferde landen schon mal auf dem Dach, sind wohl auch schon mal verschunden, Spieler aber nicht.

    Die Peaks mit 2k ping für sehr kurze Zeit sind mir aber auch schon 1-2 mal unter gekommen, obwohl mein Server sich zur selben Zeit gelangweilt hat (habe meisst htop auf meinem zweiten Monitor mit laufen, wenn ich spiele)
    Gamer aus Leidenschaft
    (Web) Entwickler aus Leidenschaft
    <3 Vater aus Leidenschaft <3
    (prio in aufsteigender Sortierung ;) )

    ~~~~~~~~~~~~~~~~~
    1. Entweder man macht etwas richtig oder lässt es bleiben!
    2. Egal wie lange etwas dauert, Hauptsache es wird fertig (irgendwann)
    ------------------------
    Discord: Devidian#1334
  • Ich hab schon mit 2 anderen Server Admins gesprochen und die haben das selbe problem, mit weniger Spielern

    Mir wurde geraten, mit mein hoster zu reden, die könnten mir ein anderen "frischen" Server geben, wo noch nicht so viel los ist.
    Meiner Meinung nach, ist das aber nur ne zeitliche Problem verlagerung nach hinten.

    Zurerst hab ich gedacht, es liegt daran, das soviel gebaut wurden ist in den Bereichen
    aber die selben Probleme haben wir auch weit außerhalb von bebauten Gebiet.

    Dann dachte ich es liegt am Teleport-Pluin, aber solange die Spieler warten bis die Map aufgebaut ist, fällt keiner durch
    und die leute fallen auch so beim laufen durch die welt. was wiederrum den teleport ausschließt

    Algemein finde ich den Ram verbrauch heftig, gestern hab 11,78 GB Ram gebraucht bei 19 leuten
    Ich hab ja das gefühl, das der ram nur sammelt und sich nicht wieder leert.


    Wenn das Reittier weg ist dann schau mal unter der Erde!
    20190107161652_1.jpg

    Hier ist ein Kamel und ein Pferd auf dem Keller drauf


    Was ich auch in letzterzeit häufiger habe ist:

    Spoiler anzeigen

    java.io.IOException: Connection reset by peer
    at sun.nio.ch.FileDispatcherImpl.read0(Native Method)
    at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:39)
    at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223)
    at sun.nio.ch.IOUtil.read(IOUtil.java:192)
    at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:380)
    at io.netty.buffer.PooledUnsafeDirectByteBuf.setBytes(PooledUnsafeDirectByteBuf.java:288)
    at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1106)
    at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:343)
    at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:123)
    at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:645)
    at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:580)
    at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:497)
    at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:459)
    at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:858)
    at io.netty.util.concurrent.DefaultThreadFactory$DefaultRunnableDecorator.run(DefaultThreadFactory.java:138)
    at java.lang.Thread.run(Thread.java:748)


    der wird erzeugt, wenn einer probleme hat auf mein Server zu kommen
    vllt hängt das ja mit zusammen.

    Nachtrag:
    Mir wurdevon mein Spielern erzählt, das es hin und wieder vor kommt, dass man mit dem Boot (Motorboot) durch die Welt fällt.

    Mfg
    Smoka
    Green-Island.Online
    Deutscher Citybuild-Server
    IP: 185.239.236.47:4250
  • Generell kannst du (zumindest grob) herausfinden, ob es wirklich am Server liegt, wenn du beim Herumfliegen die Debugausgabe (F3) aktivierst und einen Blick auf die 10. Zeile (4. Zeile vom 2. Absatz) wirfst. Dort sind Requested Chunks: x (LOD: x, CA: x) angegeben. Das gibt die Anzahl der Chunks an (die Zahlen hinter LOD und CA sind ebenfalls relevant), die vom Client angefordert, aber noch nicht vom Server geliefert wurden. Unter normalen Bedingungen sollten sich diese Werte - wenn sie größer als 0 sind - rasch wieder reduzieren. Auch wenn es mal 1-2 Sekunden dauert, bis die Zahl "abgearbeitet" werden, ist das i.O. Problematisch wird es aber, wenn sich diese Zahl ewig nicht reduziert.

    Die Serverperformance hängt nicht nur von der CPU um vom RAM ab, sondern auch von der Geschwindigkeit der Festplatte. Es spielt auch eine Rolle, ob SQLite oder MySQL verwendet werden (und im Falle von MySQL spielt die Geschwindigkeit des MySQL Servers eine Rolle). Und natürlich ist auch die Bandbreite von Relevanz, da recht viele Daten übertragen werden müssen (umso mehr, je stärker und detailreicher die Welt bebaut und je mehr Bilder platziert wurden).

    Handelt es sich bei deinem Server um einen eigenen Server (also ein vServer oder Rootserver), oder um einen Gameserver (also zB explizit ein RW Server)? Leider erleben wir bei manchen Gameserver-Hostern (ohne Namen nennen zu wollen) immer wieder, dass die angebotenen RW Server viel zu wenig Leistung bieten. Wir haben schon Fälle gesehen, dass "gute" und relativ teure Gameserver teilweise langsamer waren als so mancher 2€ vServer =O Das betrifft natürlich nicht alle Hoster und ich will damit auch nicht sagen, dass das zwangsläufig auf deinen Hoster zutrifft (ich weiß ja nichtmals, wer dein Hoster ist), aber alleine solche Sachen können schon zu einer Menge Ärger führen...

    Was den RAM Verbrauch angeht: Der RAM, der von Java reserviert wurde, wird - solange der RW Server läuft - nicht mehr für andere Anwendungen freigegeben (auch wenn der reservierte RAM nicht verwendet wird). Von "außerhalb" des RW Servers ist es schwierig, genaue Aussagen über den tatsächlichen RAM Verbrauch zu treffen, da Java direkt von Anfang an - je nach Auslegung des Betriebssystems - mehr RAM reserviert als verwendet wird.
    Um den tatsächlichen RAM Verbrauch festzustellen, kannst du den Ingamebefehl getserverinfo memory verwenden. Dort siehst du bei "Used memory" wieviel RAM in Wirklichkeit verbraucht wird. Ggf. ist es sinnvoll, den Befehl mehrmals hintereinander einzugeben, da sich die Zahl in manchen Fällen zügig ändern kann ;)

    Die Meldung Connection reset by peer besagt prinzipiell nur, dass die Verbindung vom Client unerwartet unterbrochen wurde. In den meisten Fällen wird diese Meldung vmtl. nicht die Ursache, sondern die Folge davon sein, dass der Client den Ladevorgang abgebrochen hat. Wenn der Spieler nicht auf den Server kommt kann das natürlich viele Gründe haben. Wenn der Server scheinbar Probleme mit dem Generieren und dem Senden der Welt hat, kann das sogar schon die Ursache dafür sein...

    Wegen dem Motorboot: Das ist leider ein Bug. Wenn das Motorboot schneller als die Weltgenerierung ist, wird es ungewollterweise nicht an der Stelle "gefreezed", sondern fährt ungehindert weiter und verlässt den Bereich, der eine "Kollision" hat. Als Folge fällt das Boot durch die Welt :S

    Eventuell kannst du mir einen Serverlog zusenden (von einer möglichst langen Spielsession, in welcher die Probleme auftraten)? Entweder hier im Thread posten, oder mir direkt via PN senden. Vielleicht enthält das ein paar weitere Informationen darüber, was da in Wirklichkeit los ist :)
  • Neu

    Irgendwo muss irgendwas nicht stimmen <X

    mitlerweile kann eine stammspielerin nicht mehr als 1 min auf dem Server sein.

    Spoiler anzeigen

    [TcpProtocolDecoder ExceptionCaught] /93.238.115.28:50374: java.io.IOException: Connection reset by peer
    [TcpProtocolDecoder ExceptionCaught] /93.238.115.28:50277: java.io.IOException: Connection reset by peer
    [TcpSessionHandler ChannelInactive] /93.238.115.28:50277
    CLIENT 33 CHANGE STATE: Connected -> Reconnecting
    [TcpSessionHandler ChannelInactive] /93.238.115.28:50374
    2019/01/09 12:30 PM G.f
    INFO: Ildariel is losing connection (4,250, TCP)...
    2019/01/09 12:30 PM G.f
    INFO: [TcpProtocolDecoder ExceptionCaught] /93.238.115.28:50471: java.io.IOException: Connection reset by peer
    [TcpSessionHandler ChannelInactive] /93.238.115.28:50471
    Ildariel is losing connection (4,251, TCP)...
    2019/01/09 12:30 PM G.f
    INFO: [TcpProtocolDecoder ExceptionCaught] /93.238.115.28:50568: java.io.IOException: Connection reset by peer
    Ildariel is losing connection (4,252, TCP)...
    [TcpSessionHandler ChannelInactive] /93.238.115.28:50568
    2019/01/09 12:30 PM G.f
    INFO: Ildariel is losing connection (4,253, TCP)...
    2019/01/09 12:30 PM: Server Validate Auth Ticket Response: 110000104f68be5 - 110000104f68be5 AuthTicketCanceled
    clear temporary voxel maps
    2019/01/09 12:30 PM G.f
    INFO: Ildariel timed out!
    CLIENT 33 CHANGE STATE: Reconnecting -> Disconnected
    REMOVE: de.jiw.network.server.session.ClientConnection@429d47ab - 33 -
    7
    2019/01/09 12:30 PM G.f
    INFO: Delete Client ID: 33


    Sie war sons Stundenlang auf dem Server ohne Probleme und jetzt auf einmal kann sie nur noch ganz kurz auf dem server sein.



    Das durch die welt fallen können wir miminieren, wenn man nach dem teleportieren wartet bis die welt sich komplett aufgebaut hat und wenn man regelmäßig den server neu betritt.
    naja, ich werd mal weiter googlen, ob ich irgendwo ne antwort für meine probleme bekomme.

    MFG
    Smoka
    Green-Island.Online
    Deutscher Citybuild-Server
    IP: 185.239.236.47:4250
  • Neu

    Smoka schrieb:

    mitlerweile kann eine stammspielerin nicht mehr als 1 min auf dem Server sein.
    Sie war sons Stundenlang auf dem Server ohne Probleme und jetzt auf einmal kann sie nur noch ganz kurz auf dem server sein.
    Das ist echt eigenartig =O Wir haben nichts am Netzwerksystem verändert, zumal das letzte Update ja ohnehin etwas her ist... irgendwie kommt es mir langsam so vor, als hätte der Provider etwas geändert (denn alle User, die in letzter Zeit aus heiterem Himmel dieses Problem haben, sind beim gleichen Provider) 8|

    Was passiert denn auf Seite der Userin? Bekommt sie die Meldung "verliere Verbindung", oder stürzt evtl. das Spiel ab oder tritt eine Fehlermeldung auf o.ä? Seit wann hat sie das Problem? Tritt es wirklich erst seit jetzt auf?
  • Neu

    Seid Montag hat sie das Problem.
    Das Spiel beendet sich ohne fehlermeldung

    wir haben gestern Abend bisschen getestet, die Spielern kann an ihren aktuellen Projekt nicht weiter machen, setzt sie an den Ort ein brett/block dann flieg sie raus.
    kleines Stück daneben ist alles in Ordnung. ?(

    Sie baut grad eine wendeltreppe (ca. 100blöcke und 2000 holzelemente) also sind nicht viele Teile verbaut.

    Gut zumindestend hab ich jetzt ne Aussage von dir. Ich zieh mal mein Provider (Server-Hoster) die Ohren lang.

    mfg
    Smoka
    Green-Island.Online
    Deutscher Citybuild-Server
    IP: 185.239.236.47:4250

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Smoka ()

  • Neu

    @Smoka ich denke @red51 meint den Provider der Spieler die raus fliegen. Es sei denn er meint mit "User" Server-Betreiber aber dann hätte er hoster gesagt ;)

    Wenn du natürlich sagst das "ein kleines Stück daneben" alles in Ordnung ist, denke ich nicht das dies ein Provider Problem ist. Kannst du selbst denn in ihrem Bereich etwas bauen, ohne raus zu fliegen?
    Gamer aus Leidenschaft
    (Web) Entwickler aus Leidenschaft
    <3 Vater aus Leidenschaft <3
    (prio in aufsteigender Sortierung ;) )

    ~~~~~~~~~~~~~~~~~
    1. Entweder man macht etwas richtig oder lässt es bleiben!
    2. Egal wie lange etwas dauert, Hauptsache es wird fertig (irgendwann)
    ------------------------
    Discord: Devidian#1334
  • Neu

    Wenn du das Problem selber aber nicht hast, würde ich auch eher sagen das es nicht am hoster sondern an der Umgebung des users liegt (Sei es der Provider oder sonst was)
    Gamer aus Leidenschaft
    (Web) Entwickler aus Leidenschaft
    <3 Vater aus Leidenschaft <3
    (prio in aufsteigender Sortierung ;) )

    ~~~~~~~~~~~~~~~~~
    1. Entweder man macht etwas richtig oder lässt es bleiben!
    2. Egal wie lange etwas dauert, Hauptsache es wird fertig (irgendwann)
    ------------------------
    Discord: Devidian#1334
  • Neu

    Oh, sorry für die missverständliche Formulierung! Ich meinte tatsächlich den Internetprovider der User 8|
    Wenn du aber sagst, dass das Spiel der Userin abstürzt, dann ist das kein Verbindungsabbruch in dem Sinne (hat also nichts mit dem Netzwerk oder Internet des Users oder Servers zutun). In dem Falle müsste sich im Spielverzeichnis der Userin eine Datei "hs_err_pid" befinden, vielleicht kann sie uns die ja zukommen lassen (entweder hier im Forum, oder per Mail an support@jiw-games.net).

    Aber auch dieser Absturz hat nichts mit dem Server zutun, sondern entweder mit einem Bug im Spiel, oder aber mit einem technischen Problem auf Userseite (Treiberproblem o.ä.)
  • Neu

    red51 schrieb:

    Oh, sorry für die missverständliche Formulierung! Ich meinte tatsächlich den Internetprovider der User 8|
    Wenn du aber sagst, dass das Spiel der Userin abstürzt, dann ist das kein Verbindungsabbruch in dem Sinne (hat also nichts mit dem Netzwerk oder Internet des Users oder Servers zutun). In dem Falle müsste sich im Spielverzeichnis der Userin eine Datei "hs_err_pid" befinden, vielleicht kann sie uns die ja zukommen lassen (entweder hier im Forum, oder per Mail an support@jiw-games.net).

    Aber auch dieser Absturz hat nichts mit dem Server zutun, sondern entweder mit einem Bug im Spiel, oder aber mit einem technischen Problem auf Userseite (Treiberproblem o.ä.)
    Also den Provider (die mit den "Digits" hinter ihrem einen Buchstaben :saint: ) kann ich im Falle der Elfe ausschliessen da wir auf der gleichen Leitung sitzen und ich die Probleme nicht habe. :whistling:

    DIe Err datei sagt direkt mal JAVA fehler

    wunderts jmd?

    Elfe1090 schrieb:

    Also ich hatte das Problem auch, das ich etwas platziert habe und dann vom Server geflogen bin.
    Allerdings, erst seit dem Steam Update gestern.
    Dazu sei noch anzumerken das auf dem selben PC der andere Account (vom Sohnemann) keinerlei Probleme macht. 8|



    PS
    Es betrifft auch andere User und nicht nur Frauen! :thumbsup:
    Besucht uns doch mal auf
    Voreifel by Rheinfront
    IP: 185.223.31.16:4301

    Voreifel bei Discord
  • Neu

    Es hängt nicht mit dem ISP zusammen, das war ein Missverständnis ;) Denn das war nur darauf bezogen, wenn ein Verbindungsverlust auftreten würde (also man landet im Hauptmenü mit der Meldung, dass die Verbindung unterbrochen wurde, bzw. schon während des Spielens kommt die Meldung, dass die Verbindung zum Server verloren geht).

    In dem konkreten Fall ging es aber um einen Absturz des Spiels, was aus Serversicht logischerweise wie ein Verbindungsabbruch aussieht, tatsächlich aber nichts mit der Verbindung bzw. dem Server bzw. dem Netzwerk bzw. dem Provider zutun hat.

    rheinfront schrieb:

    DIe Err datei sagt direkt mal JAVA fehler <X
    wunderts jmd? :cursing:
    Wenn ein Fehler auftritt, also eine Exception geworfen wird, steht darin immer der Verweis auf Java (bzw. genau genommen auf den Namespace, in dem sich "Exception" befindet, nämlich "java.lang"). Das hat nichts mit Java zutun. Wenn das Spiel etwas falsch macht, ist es egal, in welcher Sprache es geschrieben ist (wobei wir bei Java immerhin den Luxus haben, in den meisten Fällen Hinweise darauf zu bekommen, was genau schiefgelaufen ist) ^^
    Bei einem native Crash hingegen (also wenn keine Fehlermeldung angezeigt, sondern lediglich eine hs_err_pid Datei im Spielverzeichnis angelegt wird) trat der Fehler "weiter unten", also irgendwo außerhalb der Kontrolle der JVM auf. Meistens sind das eher Treiberprobleme, aber kann auch durch bestimmte Bugs auftreten.

    Am besten ist es, im Falle eines Fehlers immer die vollständige Log-Datei zu posten (also entweder die hs_err_pid Datei aus dem Spielverzeichnis, oder die Fehlermeldung [falls eine Fehlermeldung auftrat]). Denn auch wenn die meisten Fehler auf dem ersten Blick identisch aussehen (gleiche Überschrift o.ä), sind sie in Wirklichkeit häufig grundlegend verschieden :)