Offline mode is a feature that Minecraft servers offers that disables user authentication. This allows you to access the game even if Mojang's servers go down. However, it is often used for piracy because the user doesn't need to log into their Microsoft account. However, Offline Mode has fewer software support and security risks.
There are a few reasons that Offline Mode is available. One reason is to allow players to use local servers offline. It can be located anywhere without an internet connection, or behind a firewall that blocks access to Minecraft authentication servers. Examples of common examples include schools, workplaces and some countries.
Offline Mode was useful in the early days of Minecraft. The authentication servers would drop a lot. People would rather be in Offline Mode than being locked out of playing with their friends.
There are significant security risks associated with offline mode. It completely disables authentication. This means that anyone can join using any username. Servers with players who have OP privileges, or permissions granted via a plugin permissions plugin are more vulnerable to this vulnerability. These accounts can be used by anyone with elevated permissions.
AuthMe plugins, such as AuthMe for Bukkit servers, can partially mitigate these weaknesses. However it is possible that other plugins or mods are still available on the server and provide elevated access to the authentication plugin or that a vulnerability has been discovered within the plugin. Low-security passwords, such as usernames, can be created by authentication plugins.
Offline Mode is unique in that the UUID to which each Minecraft account is tied is different. Modified UUIDs can cause issues in many plugins, particularly those that need to look up user information. It could cause WorldGuard to not be able to find usernames for offline players, for example.
This UUID breakdown is also an issue when you turn Offline Mode on or off. All data stored by the server and its plugins using one UUID format will be lost. If Offline Mode is turned on, it will expect the other format. This will cause all user data to fail.
These issues are why most plugins that store user information will not support Offline Mode. This is because it can often cause problems.
Offline Mode is commonly used to pirate Minecraft-related software. Most large pieces of Minecraft software won't support it. Large projects must adhere to EULA regulations. Mojang is happy that most projects will take a stand against piracy.
Most projects will still be happy to assist you if Offline Mode is being used for a legitimate reason (e.g., a local school Minecraft server on an encrypted network). Sometimes, you will receive support only from the developers, although the communities involved in those projects may still be able to help.
Server proxies for Minecraft servers require that they be in Offline Mode. This is a partial myth. This is true for older proxy software or when proxies work with unsupported server platforms. However, most proxy software offers workarounds that allow the server to be in online mode.
Most proxy servers can appear to be in Offline Mode, but act like it is in Online Mode. This is most common with Velocity and Waterfall which use an IP Forwarding method. Although the UUID problem is not present here, it can lead to security problems if the firewall isn't set up correctly to block connections from any other than the proxy.
This means that if the proxy is in Offline Mode, then everything else applies to it.
Although Offline Mode is useful in certain situations, it should not be used to pirate software. This can cause security issues, software breakages and decrease your ability to seek help when you have problems.