first of all, I don't know if there's already a solution available for this issue (I couldn't find anything)... If there is, please let me know.
This is not about the glitch where entities (e.g. slimes) appear to move through walls, and are able to move you around while you cannot attack them (only a client-side bug).
This is about the glitch where entities actually move through walls or fall through the ground (e.g. when having many mobs in a tight area, or when putting minecarts on a trap door etc), which seems to happen mostly when reloading the chunk (or being a certain distance away from the entity).
Fix (Vanilla Server Mod)???
Put jh.class into minecraft_server.jar (Vanilla 1.2.3), don't delete META-INF.
Please note that since this bug is hard to reproduce I'm not 100% sure if the mod actually fixes the bug. I did as much testing as I could though . Also, this change might produce more bugs. Please let me know if you experience any new bugs.
What it does
All the mod does is to remove three lines in EntityTrackEntry.java (line ~110):
To understand what these lines were doing, you need to see this code, which is processed before:
int i = MathHelper.floor_double(trackedEntity.posX * 32D);
int j = MathHelper.floor_double(trackedEntity.posY * 32D);
int k = MathHelper.floor_double(trackedEntity.posZ * 32D);
I think this the purpose of this class is to refresh the position of a mob for the clients. And to reduce the amount of network data, it reduces the accuracy of the coordinates (to steps of 1/32). However, for some odd reason, the inaccurate coordinates are also saved server-side (by the 3 lines on the top), which ultimately leads to the glitch.
For example, a Villager in a 1x1 area might be located at x=100.3. Villagers have a size of 0.6x0.6, so with 100.3 in the center, he would barely touch the block at 99-100, because 100.3-0.3 = 100. However, when you do 100.3*32, round it down, and multiply it with 32 again, you end up with 100.28125, so the villager ends up inside that block. I'm not really sure why this seems to only cause problems when reloading the chunk, or why it affects minecarts too...
I wasn't sure whether to post this in the mod section or here. Moderators, feel free to move this thread if you think it belongs somewhere else.
From the various tweets, it sounds like they'll be fixing the glitching thing in 1.3... So probably a month or 2 away.. But I guess there could be snapshots sooner. The 1.2.4 update, which might be out on thursday, has a bunch of smp things fixed... I think I read that some glitchy things were fixed but not the major mob ones.