Uploaded image for project: 'Minecraft: Java Edition'
  1. Minecraft: Java Edition
  2. MC-145813

Chunks past a certain point (multiplayer cache?) fail to load when client render distance is less than server view distance.

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Fixed
    • Minecraft 19w13b
    • Minecraft 19w09a, Minecraft 19w11a, Minecraft 19w11b, Minecraft 19w12a, Minecraft 19w12b
    • Confirmed
    • (Unassigned)

      The only way to work around this is to set the client render distance greater than server view distance, and reconnect. F3+A or just changing the render distance after the fact do not help.
      There are no errors on the server command line.
      There are lots of errors like this on the client game output screen (19w11a):

      02:05:15 dgb Client thread warn Ignoring chunk since it's not in the view range: 16, -21

      There are lots of errors like this on the client command line (19w11b):

      [0316/133139:INFO:GameCallbacks.cpp(198)] game/dga (Client thread) warn Ignoring chunk since it's not in the view range: -9, 6

      Steps to reproduce (tested to work with 19w12b also):

      1. Start a new world on vanilla 19w12b server with unmodified configuration. (start any vanilla 19w12b server with view distance greater than 2)
      2. Join with a vanilla 19w12b client with render distance set to 2.
      3. Walk ~100 blocks in any direction. (Walk at least (MultiplayerChunkCache ^ 0.5 + 1) * 8 blocks along either X or Z axis)

      You will seemingly stand on nothing now. Logging out and reconnecting allows you to load the same amount of chunks from this point to any direction.

      Logs for both client and server are included. Note that all of the "fell out of the world" messages are results of the kill command on server command line, not falling down.

      I can confirm that the server sends chunks too far away when client render distance is less than the server's, only for the client to discard them, and it won't re-send them when the client would actually need them.

      Full example:

      • both server and client are vanilla 19w11b.
      • client render distance: 2
      • server view distance: 10

      Connected to the server standing in chunk [0, 0]
      The client ignores chunks:

      • [-11, 1] through [-11, 11]
      • [-10, 11] through [-6, 11]
      • [-10, -10] through [10, 10], except for a smaller square in it, [-4, -4] through [4, 4].

      The smaller square not discarded, [-4, -4] through [4, 4], is the same size as the cache displayed on the f3 overlay:
      MultiplayerChunkCache: 81, 81

      When walking over to chunk [1, 0], the client ignores chunks [11, -10] through [11, 10] and discards [-4, -4] through [-4, 4] leaving MultiplayerChunkCache 81, 72

      Same with walking (along X) to chunk (2, 3, 4, 5); ignoring X (12, 13, 14, 15); discarding X (-3, -2, -1, 0); chunks remaining in cache (63, 54, 45, 36).

      Blocks in chunk [5, 0] are not rendered (entities are).
      When stepping over the edge to the seemingly nonexistent chunk [5, 0], the client ignores chunks [15, -10] through [15, 10] and discards [0, -4] through [0, 4] leaving MultiplayerChunkCache 81, 36.
      When "air walking" back over to chunk [4, 0], the client (again) ignores chunks ( [-7, 1] through [-7, 11] ) and ( [-6, -10] through [-6, 0] )
      At this point chunks [-3, -4] through [0, 4] have been unloaded from the client and there is no way to load them either without reconnecting to the server (this includes the chunk I connected standing in, [0, 0]). F3 overlay shows MultiplayerChunkCache: 81, 36 now.

        1. 2019-03-14T02_14_03_1920x620_scrot.png
          2019-03-14T02_14_03_1920x620_scrot.png
          789 kB
        2. 2019-03-14T02_17_53_1920x620_scrot.png
          2019-03-14T02_17_53_1920x620_scrot.png
          505 kB
        3. 2019-03-14T02_23_24_1920x620_scrot.png
          2019-03-14T02_23_24_1920x620_scrot.png
          314 kB
        4. 2019-03-14T02_32_13_1920x620_scrot.png
          2019-03-14T02_32_13_1920x620_scrot.png
          640 kB
        5. client.log
          192 kB
        6. Full example 19w11b.client.log
          62 kB
        7. Full example 19w11b.png
          Full example 19w11b.png
          41 kB
        8. Full example 19w11b.server.log
          5 kB
        9. server.log
          5 kB

            boq [Mojang] Bartosz Bok
            mossymountain Osmo Hyttinen
            Votes:
            3 Vote for this issue
            Watchers:
            5 Start watching this issue

              Created:
              Updated:
              Resolved:
              CHK: