There are a variety of ways for Dealing With Malicious Users, but it is also very important to understand your MMORPG's vulnerabilities. Even if your game is small, don't think that there aren't people who want to ruin your game. The following list highlights a variety of ways that malicious users can damage and disrupt your game.
Common Spam Spam comes in a variety of forms. For an MMORPG, it might be advertising or someone abusing your chat system - most likely a combination. Be sure to build a strong chat filter that picks up mass repeats of the same phrase. Track the number of chat messages sent within a period of time, too, but note that packets (including chat messages) can sometimes build up resulting in a burst of packets from the one connection, so be lenient with automatic kicks and time bans.
Packet Spam Just like chat messages, someone can spam packets at your server. Track the number of packets received from each connection within a period of time. Malicious users might also try to send massive packets filled with junk data. Luckily, the 39dll includes functions which let you check the length of a packet and discard it if it is too large to be worth processing.
Impersonation It's common that users will attach certain tags to the front of their user names, such as "[admin]" or "moderator" in order to impersonate people with authority in the game. Some players are very easily fooled, and will happily hand over their password to such a person. Impersonators can also cause trouble by creating a bad impression of your game. Make sure you code a filter for name selection. This should be separate to your chat filter, because obviously you don't want to stop users from saying "admin" or "moderator" in a normal conversation.
Font An interesting continuation of impersonation, certain text fonts are open to abuse. The characters "i" and "l" look identical in some fonts. Make sure you choose a font which differentiates these characters.
Brute Force Attack This is a disruptive attack that is used to try and crack the password of a specific user, achieved by running through all possible combinations of available characters (and common words) until the password is cracked. A good preventative method is to temporarily ban the user if they enter the wrong password more than 5 times within a period of time.
Denial of Service Attack A DoS attack is when a malicious user sends mass connection attempts to your server. Your server can only handle a certain number of connections at any given point, and because it is simple to fake the IP address from which a connection attempt is coming from, this is a dangerous attack. Any other users trying to connect during the attack are unlikely to be able to. Note that these connections don't necessarily have to be run directly from your client program either, so client side checks won't always help defend against this attack. Denial of service attacks are not easily prevented, but they are not common either.
Some of these attacks are actually illegal, so be sure to track any offender's IP address and using certain online services you can report the offence to the user's internet service provider. However, remember that an IP can be spoofed and changed, so avoid banning offending IP addresses permanently.
Security should always be a top priority for you. A single attack can effectively cripple your server if you haven't taken the appropriate actions to defend against it.