Update: The server-side version of this fix (Amaranth's CraftBukkit implementation) is now part of CraftBukkit. So if you're on a Bukkit server with version 1.2.5-R0.1 (Build #02136) or later, you don't need BetterSMP at all - you can still use SMPSlimeFix to further improve slime behaviour though.
Corrects mob positions received from multiplayer servers to (mostly) prevent mobs from glitching through blocks. Also corrects the bounding box of slimes. Note that these issues are said to be gone by 1.3. The mods have no effect in singleplayer.
Video Demo: http:www.youtube.com/watch?v=oksq4S5ESTI
BetterSMP-Server is an alternative to BetterSMP-Client, providing an additional fix for permanent server-side glitches, but lacking the ability to fix the bounding box of slimes (that's where SMPSlimeFix comes into play). You can find it here: http:dev.bukkit.org/server-mods/bettersmp/
Which Mod To Use
- Use BetterSMP-Client if you don't have BetterSMP-Server installed on your Minecraft server, and your server is not running CraftBukkit 1.2.5-R0.1 (Build #02136) or later
- Use SMPSlimeFix if you do have BetterSMP-Server installed (or your server is running CraftBukkit 1.2.5-R0.1 (Build #02136) or later), in order to further improve the behavior of slimes.
Note that BetterSMP-Server also fixes permanent server-side glitches, which cannot be fixed with only client mods.
How it works
Every few ticks (depending on the entity movement and position) the server sends positions of entities to clients. However, three concerning things happen at the process:
- Positions are sent inaccurately (as multiples of 1/32, for performance reasons) and always rounded down towards negative infinity. Consequently, the client may think that the entity is in a different block than it really is. Example: A villager is enclosed in a 1 wide, 1 long cell, ranging from (x=0,z=0) to (1,1). Villagers have a bounding box of 0.6x0.6, so a villager could be at x = 0.3, barely touching the block at -1 < x < 0. When multiplying 0.3 with 32, rounding it down, and dividing it with 32 again, you end up with x = 0.28125. The new minimal x coordinate of the villager's bounding box is now -0,01875 (as opposed to 0.0). This is the cause for many visual (temporary, client-side) glitches.
- Sometimes (every few seconds, or if the entity teleported, i.e. moved a great distance), the server sends a different packet with absolute positions (as opposed to positions relative to the previously sent ones). The client (for some reason) adds 1/64 to the y coordinate, which may cause additional client-side glitches
- Slimes are not assigned the correct bounding box (67% of the time). Although the slime size itself (either 1, 2 or 4) is stored correctly, the bounding box is only set randomly when the mob is created
To fix these issues, the mod(s) do(es) the following
- attempts to correct inaccurate coordinates received from the server by iterating through possible positions (either the received coordinate or +1) to find a position which would result in the same colliding bounding boxes as the current client position (using the real coordinates, which are only known to the server, might be more reliable in theory; but this client-side correction seems to work equally well) <- BetterSMP only
- removes the addition of 1/64 to the Y-coordinate <- BetterSMP only
- resets (corrects) the bounding box of slimes as soon as the slime size is known <- BetterSMP and SMPSlimeFix
Both mods are available for both 1.2.4 and 1.2.5. You cannot use both mods at the same time, as SMPSlimeFix is integrated into BetterSMP-Client. See "Which Mod To Use".
- Download the desired mod (zip file) for your Minecraft version
- Paste its contents into your minecraft.jar
- Delete the META-INF folder inside minecraft.jar if you haven't done that yet
- Start Minecraft and enjoy =)
First Release for game version 1.2.4
- Tinkers Construct
- Mobs, Processing, Technology, and Armor, Tools, and Weapons
- 429,281 Monthly Downloads
- CoFH Core
- Server Utility and API and Library
- 321,218 Monthly Downloads
- API and Library
- 310,284 Monthly Downloads
- Server Utility, API and Library, and Map and Information
- 306,892 Monthly Downloads
- API and Library
- 303,006 Monthly Downloads