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
- Ticking Tile Entities
- Locating the Crash and Opening Crash Reports
- How to Remove a Ticking Tile Entity
- Further Reading & External Links
- 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?
- When the error first happens, the server will crash and all the players will be kicked.
- The server will attempt to restart.
- 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.
- 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
-
Login into your server using FTP. Go to the
Files
section of the side navigation, selectFTP File Access
and enter your FTP password. -
Click into the
crash-reports
folder. -
View or download the
crash-###########-server.txt
file and open it in a text editor like Notepad++. - 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:
-
Make sure your player is (OP)ped
See this article for assistance with (OP)ping: How to OP a Player on your Minecraft Server - Join the server.
-
Use the
/gamemode creative
command to put yourself into Creative mode. -
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. - 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.
- How to Download World Files Using FTP
- Download MCEdit 1.0 Unified: https://podshot.github.io/MCEdit-Unified/
-
Download your
world
folder. -
Open the world in MCEdit, from the main menu:
2a. ClickOpen
2b. Browse to the world folder
2c. Open thelevel.dat
file. -
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 labelledOverworld
, click it
3b. Click on the dimension you want to move to. -
Go to the Ticking Entity’s location
4a. Click onMenu
>Goto
4b. Enter the Tile Entity’s coordinates
4c. ClickGoto
4d. Close the menu by clickingmenu
again. -
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 theright mouse button
. - Move back slightly so that you can see the block.
-
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 useDeselect
from the menu on the left. -
To remove the blocks you have selected, click
Delete Blocks
or press theDelete
key. -
Save your changes by Opening the
Menu
and choosingSave
or by pressingCtrl+S
. - Upload your world back to your server.
-
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.
-
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 formatr.<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. - Open the region file using NBTExplorer.
-
Find the local chunk coordinates
The region file is separated into chunks, to find the local coordinates:
3a. From the menu, selectSearch
>Chunk Finder...
3b. In theBlock
section, type in theX
andZ
coordinates of the block. (example:249
and425
)
3c. Make a note of theLocal Chunk
X
andY
values. (example:15
and26
)
3d. Close theChunk Finder
-
In the list, locate the local chunk. (example:
Chunk [15,26]
) -
Click on the
+
symbol to expand and view the contents of the chunk. -
Inside the chunk, find and expand
Level
. -
Inside that, find and expand
TileEntities
. This will show all the tile entities in the chunk. -
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 onTileEntities
so that it is highlighted. This will restrict the search area
8b. From the menu, selectSearch
>Find...
8c. In theName
box typex
8d. In theValue
, type in thex
coordinate of the Ticking Tile Entity. (example:246
)
8e. ClickFind
8f. This will find the first TileEntity with a matching x coordinate, check if all three coordinates match
8g. UseSearch
>Find Next
, or press theF3
key to find the next matching Tile Entity. -
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. -
Delete it using the
Delete
key or by clicking the red cross on the toolbar. -
Save your changes with
File
>Save
or by clicking the Disk icon on the toolbar. - Upload the Region File to your server, replacing the old one.
-
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
Further Reading & External Links
- How do I find my Minecraft folder?
- How To: FTP Access to Download and Upload files
- Installing and configuring NppFTP for Notepad++
- How to OP a Player on your Minecraft Server
- How to: Backup your Minecraft World Folder
- How to restore a Minecraft World From a Backup
- Download NBT Explorer
- Download MCEdit 1.0 Unified:
- Ticking Tile Entity Minecraft Crash FIX (Video Tutorial)
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