Search Knowledgebase

Fixing Ticking Tile Entity Error

One of the most common issues on a modded Minecraft server, a ticking tile entity causes crashes, lag and potential corruption to player files if the cause is related. The solution for this issue can be found below as well as links to StickyPiston support. Be aware , this is a very long guide and a lot of reading, if you would like to skip that, you can just Contact Support and we will fix it for you!


Contents

  1. Ticking Tile Entities
    1. What is a Ticking Tile Entity?
    2. How do I Know It Is Happening?
  2. Locating the Crash and Opening Crash Reports
    1. Finding the Crash Report in the Multicraft Control Panel
    2. Using FTP to View or Download the Crash Report
    3. Using Notepad++ to View or Download the Crash Report
    4. Reading the Crash Report
    5. The Cause
  3. How to Remove a Ticking Tile Entity
    1. Option 1: Teleport to the Tile Entity and Destroy It
    2. Option 2: Remove the Tile Entity with MCEdit
    3. Option 3: Use NBT Explorer To Remove the Tile Entity
    4. Option 4: Delete the Region File
    5. Option 5: Restore the Server From a Backup
  4. Further Reading & External Links
  5. StickyPiston Support

Ticking Tile Entities

What is a Ticking Tile Entity?

This is a common error on Forge servers running modded Minecraft, but can also occur on unmodified Minecraft servers. A block placed in the world is causing an error during the world tick. Because the tick is unable to complete, the server crashes.

STICKY NOTE

Minecraft world ticks happen 20 times a second. Each tick updates blocks, monsters, players, and keep track of all the world events. If anything stops them from finishing, the server will crash.

How do I Know It Is Happening?

  1. When the error first happens, the server will crash and all the players will be kicked.
  2. The server will attempt to restart.
  3. If the tile entity is near the spawn area or in a chunk that is loaded, then it will be processed during the world tick and the server will crash again.
  4. If the tile entity is somewhere else, then the server will crash when a player gets close to it, or logs in near it.

If you look at the server console when the server crashes, you will see a message displaying the path of the crash report:

20:00:00 [SEVERE] This crash report has been saved to: /home/minecraft/multicraft/servers/server1/crash-reports/crash-2017-05-22_20.00.00-server.txt

If you are unsure of the file location, use this guide to find it: How do I find my Minecraft folder?


Locating the Crash and Opening Crash Reports

Finding the Crash Report in the Multicraft Control Panel

If you have a server with StickyPiston, you can view the most recent crash reports in the Multicraft Control Panel by selecting Files then Crash Reports from the left hand menu.
You will be given a list of crash reports with the most recent at the top.
Click on one to view it.

Using FTP to View or Download the Crash Report

  1. Login into your server using FTP. Go to the Files section of the side navigation, select FTP File Access and enter your FTP password.
  2. Click into the crash-reports folder.
  3. View or download the crash-###########-server.txt file and open it in a text editor like Notepad++.
  4. For more information on using FTP, see this article: How To: FTP Access to Download and Upload files.

Using Notepad++ to View or Download the Crash Report

Use this short guide to install a plugin in Notepad++ that will allow you to view crash reports directly: Installing and configuring NppFTP for Notepad++

Reading the Crash Report

Below is a crash report with the System Details section omitted as we won’t be needing it:

---- Minecraft Crash Report ----
// Why did you do that?

Time: 5/17/17 1:49 PM
Description: Ticking tile entity

java.lang.NullPointerException
    at com.mrcrayfish.furniture.tileentity.TileEntityOven.canSmelt(TileEntityOven.java:298)
    at com.mrcrayfish.furniture.tileentity.TileEntityOven.func_70316_g(TileEntityOven.java:259)
    at net.minecraft.world.World.func_72939_s(World.java:2209)
    at net.minecraft.world.WorldServer.func_72939_s(WorldServer.java:550)
    at net.minecraft.server.MinecraftServer.func_71190_q(MinecraftServer.java:668)
    at net.minecraft.server.dedicated.DedicatedServer.func_71190_q(DedicatedServer.java:276)
    at net.minecraft.server.MinecraftServer.func_71217_p(MinecraftServer.java:587)
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:484)
    at net.minecraft.server.ThreadMinecraftServer.run(SourceFile:583)

A detailed walkthrough of the error, its code path and all known details is as follows:
---------------------------------------------------------------------------------------

-- Head --
Stacktrace:
    at com.mrcrayfish.furniture.tileentity.TileEntityOven.canSmelt(TileEntityOven.java:298)
    at com.mrcrayfish.furniture.tileentity.TileEntityOven.func_70316_g(TileEntityOven.java:259)

-- Tile entity being ticked --
Details:
    Name: cfmOven // com.mrcrayfish.furniture.tileentity.TileEntityOven
    Block type: ID #501 (tile.oven // com.mrcrayfish.furniture.blocks.BlockOven)
    Block data value: 2 / 0x2 / 0b0010
    Block location: World: (249,63,425), Chunk: (at 9,3,9 in 15,26; contains blocks 240,0,416 to 255,255,431), Region: (0,0; contains chunks 0,0 to 31,31, blocks 0,0,0 to 511,255,511)
    Actual block type: ID #501 (tile.oven // com.mrcrayfish.furniture.blocks.BlockOven)
    Actual block data value: 2 / 0x2 / 0b0010
Stacktrace:
    at net.minecraft.world.World.func_72939_s(World.java:2209)
    at net.minecraft.world.WorldServer.func_72939_s(WorldServer.java:550)

-- Affected level --
Details:
    Level name: world
    All players: 0 total; []
    Chunk stats: ServerChunkCache: 696 Drop: 0
    Level seed: -7329855476928627317
    Level generator: ID 04 - BIOMESOP, ver 0. Features enabled: true
    Level generator options:
    Level spawn location: World: (40,64,256), Chunk: (at 8,4,0 in 2,16; contains blocks 32,0,256 to 47,255,271), Region: (0,0; contains chunks 0,0 to 31,31, blocks 0,0,0 to 511,255,511)
    Level time: 3358116 game time, 4295990 day time
    Level dimension: 0
    Level storage version: 0x04ABD - Anvil
    Level weather: Rain time: 93527 (now: false), thunder time: 32177 (now: false)
    Level game mode: Game mode: survival (ID 0). Hardcore: false. Cheats: false
Stacktrace:
    at net.minecraft.server.MinecraftServer.func_71190_q(MinecraftServer.java:668)
    at net.minecraft.server.dedicated.DedicatedServer.func_71190_q(DedicatedServer.java:276)
    at net.minecraft.server.MinecraftServer.func_71217_p(MinecraftServer.java:587)
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:484)
    at net.minecraft.server.ThreadMinecraftServer.run(SourceFile:583)

The Description on the fourth line confirms that it is a ticking tile entity. Below it is the Java exception that is occuring, in this case a java.lang.NullPointerException followed by the stack trace leading up to the exception.

Since the crash type is a ticking tile entity, the Crash Report contains a section called Tile entity being ticked. This contains information that will help in removing the Tile Entity. We can see it’s Name:

    Name: cfmOven // com.mrcrayfish.furniture.tileentity.TileEntityOven

But more importantly we also get the Block location:

    Block location: World: (249,63,425), Chunk: (at 9,3,9 in 15,26; contains blocks 240,0,416 to 255,255,431),
    Region: (0,0; contains chunks 0,0 to 31,31, blocks 0,0,0 to 511,255,511)

We can clearly see the location of the tile Entity in the <x>,<y>,<z> format: 249,63,425. We can also see the <x>,<z> coordinates for the Region: 0,0.

However, we do not know which world it is, it could be in The Nether or another world added by a mod, like the Deep Dark. For that you need to look for the Level dimension in the Affected level section.

    Level dimension: 0

0 is the main overworld. -1 is The Nether and 1 is The End. Here’s where the files for these dimensions are usually located:

Dimension Name Folder
0 Overworld world/region
-1 Nether world/DIM-1/region
1 The End world/DIM1/region
-100 Deep Dark world/DIM-100/region
7 Twilight Forest world/DIM7/region
6 Aroma’s Mining Dimension world/DIM6/region
<x> <modded world> world/DIM<x>/region

The Cause

There are many causes to a Ticking Tile Entity. Here are some of the most common:

  • An item has been placed inside a modded block. The modded block tries to do something with the item and the item is not compatible.
  • Two modded blocks have been placed next to each other. One of them tries to do something with/to the other but they are incompatible.
  • Modded blocks that make up a network of some kind loops back on itself and triggers an inifinite loop.
  • A modded block that interacts with entities (Players, monsters, animals, dropped items) that are near it, tries to do something with/to an entity that is incompatible.

How to Remove a Ticking Tile Entity

Option 1: Teleport to the Tile Entity and Destroy It

This will only work if the server is not crashing during start up.
You also only have a very small window of opportunity to break the block:

  1. Make sure your player is (OP)ped
    See this article for assistance with (OP)ping: How to OP a Player on your Minecraft Server
  2. Join the server.
  3. Use the /gamemode creative command to put yourself into Creative mode.
  4. Use the /tp <x> <y> <z> command to go to the exact location of the Ticking Entity
    Replace the <x> <y> <z> with the coordinates found in the crash report.
  5. Break the block.

Option 2: Remove the Tile Entity with MCEdit

This method requires you to download the world using FTP and remove the tile entity using MCEdit.

  1. Download your world folder.
  2. Open the world in MCEdit, from the main menu:
    2a. Click Open
    2b. Browse to the world folder
    2c. Open the level.dat file.
  3. Optional: Move to the correct dimension. If the Tile Entity is in the Nether or The End:
    3a. At the top of the window, look for a button labelled Overworld, click it
    3b. Click on the dimension you want to move to.
  4. Go to the Ticking Entity’s location
    4a. Click on Menu > Goto
    4b. Enter the Tile Entity’s coordinates
    4c. Click Goto
    4d. Close the menu by clicking menu again.
  5. You will now be at the Tile Entity’s location. You can move around using the WASD keys. You can look around by holding down the right mouse button.
  6. Move back slightly so that you can see the block.
  7. Select an area around the block using the mouse and the left mouse button.
    7a. The first click selects the first corner, the next click selects the second corner.
    7b. You can select just the block you want by clicking on it twice.
    7c. If you miss the block, you can use Deselect from the menu on the left.
  8. To remove the blocks you have selected, click Delete Blocks or press the Delete key.
  9. Save your changes by Opening the Menu and choosing Save or by pressing Ctrl+S.
  10. Upload your world back to your server.
  11. Optional: Delete the forcedchunks.dat file for the dimension.
    This file keeps track of the chunks that are force loaded. Sometimes this needs to be deleted for the the fix to work. The server will recreate the file when it next starts.
  • You don’t have to download your entire world.
  • You only need the level.dat file and the correct region file.
  • The region file needs to be in the correct folder relative to the level.dat for MCEdit to load it properly.

Option 3: Use NBT Explorer To Remove the Tile Entity

This method requires you to download the world using FTP and remove the entity using NBT Explorer.
This method is not always successful as it only removes the tile entity from the chunk, but does not remove it from the Block data.
This can result in the tile entity being recreated and causing the crash again.

  1. Download the region file containing the tile entity
    1a. The file is located in the region folder for the world that the tile entity is located in and has the format r.<x>.<z>.mca. (example: world/region/r.0.0.mca)
    1b. Region data for the ticking tile entity is found in the crash report as mentioned in the above example.
  2. Open the region file using NBTExplorer.
  3. Find the local chunk coordinates
    The region file is separated into chunks, to find the local coordinates:
    3a. From the menu, select Search > Chunk Finder...
    3b. In the Block section, type in the X and Z coordinates of the block. (example: 249 and 425)
    3c. Make a note of the Local Chunk X and Y values. (example: 15 and 26)
    3d. Close the Chunk Finder
  4. In the list, locate the local chunk. (example: Chunk [15,26])
  5. Click on the + symbol to expand and view the contents of the chunk.
  6. Inside the chunk, find and expand Level.
  7. Inside that, find and expand TileEntities. This will show all the tile entities in the chunk.
  8. Find the Tile Entity that is crashing the server
    If there are only a few, expand each one and check that the x, y and z values match the ticking tile entity
    If there are a lot, you can search:
    8a. Click on TileEntities so that it is highlighted. This will restrict the search area
    8b. From the menu, select Search > Find...
    8c. In the Name box type x
    8d. In the Value, type in the x coordinate of the Ticking Tile Entity. (example: 246)
    8e. Click Find
    8f. This will find the first TileEntity with a matching x coordinate, check if all three coordinates match
    8g. Use Search > Find Next, or press the F3 key to find the next matching Tile Entity.
  9. Once you have found the right one, click on the root node for it (It’ll be named something like x Entries ) to highlight it.
  10. Delete it using the Delete key or by clicking the red cross on the toolbar.
  11. Save your changes with File > Save or by clicking the Disk icon on the toolbar.
  12. Upload the Region File to your server, replacing the old one.
  13. Optional: Delete the forcedchunks.dat file for the dimension.
    This file keeps a track of the chunks that are force loaded. Sometimes this needs to be deleted for the the fix to work. The server will recreate the file when it next starts.

Option 4: Delete the Region File

  • This is a drastic option as it will remove ALL the chunks within the region file.
  • Attempt the methods above and make a backup of your world before continuing with the method below.

The file is located in the region folder for the world that the tile entity is located in and has the format r.<x>.<y>.mca. (Example: world/region/r.0.0.mca)

Option 5: Restore the Server From a Backup

If you are a StickyPiston server owner, we provide regular backups of your server and worlds. If none of the options above work you can restore your server from a backup, before the server started to crash, you can learn how to do this by reading: How to restore a Minecraft World From a Backup



StickyPiston Support

If you use our services or not, we are always happy to help. Open a support ticket and our dedicated team will be in touch.

Open Support Ticket


  • 71 Users Found This Useful

Was this answer helpful?

 Print this Article

Also Read

Reinstalling a modpack on your client

If you are having difficulty connecting to a modded server and you are getting errors like the...

Unable to Connect to Any Minecraft Server - java.net.SocketException: Address family not supported by protocol family: connect

Description When attempting to connect to any server the Minecraft client will time out. The...

Crashing on connecting due to holding a bugged item

This article relates to a client crash that is caused by holding a bugged item in the player's...

Diagnosing lag issues with a Timings report

If you are running a server with many plugins it can be very difficult to diagnose performance...

Diagnosing lag issues with a Timings report

If you are running a server with many plugins it can be very difficult to diagnose performance...