Java Edition server software

A custom server is a Minecraft server that uses no derived code or components from the original Minecraft Classic or Survival server software, thus they are 100% free of Mojang code and restrictions. They are made as alternatives to the original server to add extra features, such as gameplay changes or to make fixes such as lag optimization. The protocol implemented by beta Minecraft releases from Mojang can change with each release, so custom server creation and maintenance has the extra challenge of remaining up to date with these changes.

Features
Custom servers have a range of features, some common with official server editions. These features extend the functionality of gameplay, administration and many new, original additions.

Multiworld
Multiworld is the name of a feature of the Minecraft client which can be used by a custom server. The first server to have this feature was /Myne/.

Usually on these servers they have a main world with portals to direct the player to these other maps or by a command. They can also create new worlds and assign various properties to the world, for example; restrictions on who may enter or build on certain worlds. This makes it possible to show old worlds while still having maps for the public to build on. This can also grant more private areas to prevent griefing.

Formatting codes
Formatting codes are handled by the game with a section sign (§). The default Minecraft Client does not allow to insert this symbol into chat, therefore many Custom Servers allow to use an ampersign (&) or percent (%) instead.

Messages sent from the server to the client can contain formatting codes.

When the client sends color coded chat to the server (using a modified or old client), some servers (including vanilla) will kick the player and ignore the message.

Color coding at the start of the message will only work if the player ID byte is less than 127. If it is 127 or higher, the game automatically adds §e before the message, making it yellow. However, color codes after the first character still work. Using an ID below 127, it doesn't add a color code, so the ones the player uses will work.

It is important to note that a section sign at the end of a message that is not followed by a hex digit will crash all clients that receive it, so it is a must to sanitize chat messages received from clients.