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. Custom servers have to stay updated to the current version of the client due to possible protocol changes, note this only applies to Beta.

Features
Custom servers have a range of features, some of which are common between them. These features extend the functionality of gameplay, administration or even many other things never thought of before in the original server.

Multiworld
Multiworld is the name of a most likely unintentional 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 you to these other maps or by a command. They can also create new worlds and assign various properties to the world like ranks only in that world, only certain people can build, etc. This makes it possible to show old worlds while having maps for the public to build on and can grant more private stuff to prevent grief.

Comparison
This is a comparison of available custom servers for both versions of Minecraft.

Would you like your server to be added to the list?

You need to have one public release, then go here for submission.

Beta
This version of Minecraft only includes SMP at this time.

Classic
This version of Minecraft only includes Creative Multiplayer.

Features
Server-Software