Introduction:
Please take note that I'm using the newer client as a reference for debugging. Clients using older methods of displaying login information and error messages will act differently, so be prepared for that. Clients using "Cn_Res.ini" in their INI folder are most likely supported by this guide. This guide is rough and incomplete, but hopefully will help you get through the login process and into the game world.
You can find packet structures on the [Only registered and activated users can see links. Click Here To Register...] or by searching the forum.
Common Login Problems:
"Blue Screen of Death" (System Crash)
If you are running a version of Conquer Online around patch 5065, there is a bot scanner that is incompatible with Windows Vista and above. The check causes the operating system or graphics driver to fail, crashing Windows. Avoid this issue by using the Conquer Loader provided in [Only registered and activated users can see links. Click Here To Register...]. Else, completely remove it (zftqat) from the client or replace it with a C# program that starts Conquer.exe with the command line argument "blacknull".
Server maintenance. Please try again later!
It's too crowded inside! Please come back later!
This error is displayed when the client could not connect to the authentication / account server. Check the IP address and port in the client. Restart it after a change is made and try again. Make sure your ports are open as well and that you're using a publicly accessible IP address or domain.
Client Hangs on black screen with no loading bar.
This problem occurs on patches 5174 and higher that use the RC5 seed packet (1059), or that use a new password cipher. If the client hangs here and the server is not receiving any packets, that's because the client is waiting on the 1059 packet. If the server is receiving packets, then the server is not programmed to handle the packets being received.
Client Hangs on "Connecting to the account server".
If the client hangs here, it probably means your firewall might be up or you haven't configured the client properly to connect.
Invalid Account ID or Password.
If the password you entered is valid (you've double checked and it should be correct with what you have in the database), then your password cipher is most likely out of date or producing invalid data.
Failed to connect to the game server. Please try again later.
You get this message when the game port is closed or the endpoint (IP and port) that you're sending in authentication forward packet (1055) is invalid. You might also get this if your game server is offline or inaccessible in which case you should check your ports and make sure that they're open.
Client crashes and closes completely without any messages.
If you run into this problem, then you're sending an invalid IP address and port in the authentication forward packet (1055) or sending an invalid 1055 packet all together. The new client does not support the use of local addresses beginning with 127.x.x.x. It also doesn't support No-IP addresses or domains. There are ways of getting around this (check my signature for releases about those methods). You may use a Hamachi IP address.
Client hangs on "Logging into the game server".
If the client hangs here, then the DH Key Exchange wasn't handled correctly, and packet 1052 was never received. This might also be a problem with the game cipher. If you first receive a packet other than the authentication receive packet (1052) after receiving the exchange data, then most likely, your game cipher or exchange is invalid or out of date. This could also be the result of not sending "ANSWER_OK" to the client. It's waiting for that message.
Client hangs on "Logging into the game server" with a key error in the console.
This happens when you're using a 32-bit libeay32.dll file on a Windows 64-bit operating system, or vice versa. Change out your libeay32.dll file and ensure that the project is running in 32bit mode.
Disconnected with game server. Please login the game again!
You may get this message if your authentication receive packet (1052) was rejected by the server. This might happen if you're using advanced authentication methods such as double client checks. If this is a result of a server check, make sure you send a message to the client similar to "ANSWER_OK" that tells the user what the problem is. If you got the "Initializing..." message before this, then this could be a result of a bad character information packet (1006). You can tell that it's a bad character information packet when the client response like it's already logged in. This is the result of faulty initialization.
Client hangs on "Initializing..."
The client should be receiving a character information packet (1006) so that your server can receive the general data packet (10010)'s set location subtype (74). If the client is hanging and the character information packet has been sent, that means that the packet is valid and it's waiting for the set location subtype packet (10010:74).
Client disconnects after "Creating maps..." / "Starting... Please wait..."
If the client disconnects after displaying this, that means that you're creating an invalid packet, probably the character info packet (1006) or date time packet (1033). Check your packet footer to ensure that "TQServer" is in the final 8 bytes of the packet. Check your length as well. The length in offset 0 shouldn't include the 8 bytes for the TQServer stamp. The client can disconnect if the packet length - 8 is shorter than the length at offset 0. If you're not sending character creation at all, then you're doing something very wrong because you should never send the set location subtype packet (10010:74) when the client doesn't request it.
The client isn't showing a map, just a black screen with a bugged interface.
The map that you sent in the set location subtype packet (10010:74) is incorrect or the values passed in the packet are incorrect. If you're confident that you're sending the right structure, check your gamemap.dat file (using a binary reader).
The client is showing the map but with a bugged interface.
Your graphic drivers are most likely out of date or set to a graphic configuration that is higher than the requirements to run the game. Set your graphics to their default configuration and make sure that the driver is updated. If the client works on another computer, then contact your graphic card's support and tell them that a DirectX 8.1 application isn't running correctly on your computer.
The client is showing the map and I can walk and do actions, but the interface isn't responding correctly.
Make sure that you're sending back the packet's you're receiving during login after the set location subtype packet (10010:74) is sent. This error is from not sending back the request inventory subtype packet (10010:75).
Common Console / Source Problems:
I'm getting a key error with libeay32.dll.
If you're running a 64bit version of Windows, then you need to replace your libeay32.dll library with a 64bit version of the library. If you're running a 32bit version of Windows, then you need to replace your libeay32.dll library with a 32bit version of the library. The library is from the OpenSSL (Secure Sockets Layer) Project and contains ciphers used in Conquer Online (Blowfish and CAST-5). Conquer Online uses their 0.9.8c (or a version around that). Here is where you can download the binaries for [Only registered and activated users can see links. Click Here To Register...]. Feel free to use any version (they all should work).
I'm getting a null reference error before the server has started up.
Most likely, if you're getting this error, the database hasn't been set up correctly and the server is unable to load the server. It's attempting to reference data that does not exist. Ensure that your connection configuration is correct.
Common Spawning Problems:
I can't see the character at all (no shadow) and the client isn't requesting packets from me.
If the client isn't sending anything back as a result of your spawn packet being received, then your packet length is correct (take note, this is on higher patches, most likely near the introduction of bosses and monks). Check your x and y offsets. If you're running on a lower patch, check your name offset as well. There might be a possibility that you're not even sending the packet. Check your screen system.
All I see is a shadow.
That's good, you're almost there. It just means your mesh is invalid or you're sending the mesh in the wrong offset. The x and y coordinates are ok, so is your packet length; don't change anything else.
I can't see the character (no shadow) and the client is sending string packet 1015:13 (Name request).
Well, if you're getting this error, that means your name offset is incorrect and the client is telling the sever to reconstruct the packet. Check your name offset.
Conclusion:
If you're still having problems with something that you believe is client related that hasn't been discussed here, please comment below. If you're having a problem with static ip addresses or something that has little to do with this thread, search for or make a new thread and don't bother the people on this one. Spamming won't solve your problems. Don't contact me about them, I'll just ignore them. Good luck.
Please take note that I'm using the newer client as a reference for debugging. Clients using older methods of displaying login information and error messages will act differently, so be prepared for that. Clients using "Cn_Res.ini" in their INI folder are most likely supported by this guide. This guide is rough and incomplete, but hopefully will help you get through the login process and into the game world.
You can find packet structures on the [Only registered and activated users can see links. Click Here To Register...] or by searching the forum.
Common Login Problems:
"Blue Screen of Death" (System Crash)
If you are running a version of Conquer Online around patch 5065, there is a bot scanner that is incompatible with Windows Vista and above. The check causes the operating system or graphics driver to fail, crashing Windows. Avoid this issue by using the Conquer Loader provided in [Only registered and activated users can see links. Click Here To Register...]. Else, completely remove it (zftqat) from the client or replace it with a C# program that starts Conquer.exe with the command line argument "blacknull".
Server maintenance. Please try again later!
It's too crowded inside! Please come back later!
This error is displayed when the client could not connect to the authentication / account server. Check the IP address and port in the client. Restart it after a change is made and try again. Make sure your ports are open as well and that you're using a publicly accessible IP address or domain.
Client Hangs on black screen with no loading bar.
This problem occurs on patches 5174 and higher that use the RC5 seed packet (1059), or that use a new password cipher. If the client hangs here and the server is not receiving any packets, that's because the client is waiting on the 1059 packet. If the server is receiving packets, then the server is not programmed to handle the packets being received.
Client Hangs on "Connecting to the account server".
If the client hangs here, it probably means your firewall might be up or you haven't configured the client properly to connect.
Invalid Account ID or Password.
If the password you entered is valid (you've double checked and it should be correct with what you have in the database), then your password cipher is most likely out of date or producing invalid data.
Failed to connect to the game server. Please try again later.
You get this message when the game port is closed or the endpoint (IP and port) that you're sending in authentication forward packet (1055) is invalid. You might also get this if your game server is offline or inaccessible in which case you should check your ports and make sure that they're open.
Client crashes and closes completely without any messages.
If you run into this problem, then you're sending an invalid IP address and port in the authentication forward packet (1055) or sending an invalid 1055 packet all together. The new client does not support the use of local addresses beginning with 127.x.x.x. It also doesn't support No-IP addresses or domains. There are ways of getting around this (check my signature for releases about those methods). You may use a Hamachi IP address.
Client hangs on "Logging into the game server".
If the client hangs here, then the DH Key Exchange wasn't handled correctly, and packet 1052 was never received. This might also be a problem with the game cipher. If you first receive a packet other than the authentication receive packet (1052) after receiving the exchange data, then most likely, your game cipher or exchange is invalid or out of date. This could also be the result of not sending "ANSWER_OK" to the client. It's waiting for that message.
Client hangs on "Logging into the game server" with a key error in the console.
This happens when you're using a 32-bit libeay32.dll file on a Windows 64-bit operating system, or vice versa. Change out your libeay32.dll file and ensure that the project is running in 32bit mode.
Disconnected with game server. Please login the game again!
You may get this message if your authentication receive packet (1052) was rejected by the server. This might happen if you're using advanced authentication methods such as double client checks. If this is a result of a server check, make sure you send a message to the client similar to "ANSWER_OK" that tells the user what the problem is. If you got the "Initializing..." message before this, then this could be a result of a bad character information packet (1006). You can tell that it's a bad character information packet when the client response like it's already logged in. This is the result of faulty initialization.
Client hangs on "Initializing..."
The client should be receiving a character information packet (1006) so that your server can receive the general data packet (10010)'s set location subtype (74). If the client is hanging and the character information packet has been sent, that means that the packet is valid and it's waiting for the set location subtype packet (10010:74).
Client disconnects after "Creating maps..." / "Starting... Please wait..."
If the client disconnects after displaying this, that means that you're creating an invalid packet, probably the character info packet (1006) or date time packet (1033). Check your packet footer to ensure that "TQServer" is in the final 8 bytes of the packet. Check your length as well. The length in offset 0 shouldn't include the 8 bytes for the TQServer stamp. The client can disconnect if the packet length - 8 is shorter than the length at offset 0. If you're not sending character creation at all, then you're doing something very wrong because you should never send the set location subtype packet (10010:74) when the client doesn't request it.
The client isn't showing a map, just a black screen with a bugged interface.
The map that you sent in the set location subtype packet (10010:74) is incorrect or the values passed in the packet are incorrect. If you're confident that you're sending the right structure, check your gamemap.dat file (using a binary reader).
The client is showing the map but with a bugged interface.
Your graphic drivers are most likely out of date or set to a graphic configuration that is higher than the requirements to run the game. Set your graphics to their default configuration and make sure that the driver is updated. If the client works on another computer, then contact your graphic card's support and tell them that a DirectX 8.1 application isn't running correctly on your computer.
The client is showing the map and I can walk and do actions, but the interface isn't responding correctly.
Make sure that you're sending back the packet's you're receiving during login after the set location subtype packet (10010:74) is sent. This error is from not sending back the request inventory subtype packet (10010:75).
Common Console / Source Problems:
I'm getting a key error with libeay32.dll.
If you're running a 64bit version of Windows, then you need to replace your libeay32.dll library with a 64bit version of the library. If you're running a 32bit version of Windows, then you need to replace your libeay32.dll library with a 32bit version of the library. The library is from the OpenSSL (Secure Sockets Layer) Project and contains ciphers used in Conquer Online (Blowfish and CAST-5). Conquer Online uses their 0.9.8c (or a version around that). Here is where you can download the binaries for [Only registered and activated users can see links. Click Here To Register...]. Feel free to use any version (they all should work).
I'm getting a null reference error before the server has started up.
Most likely, if you're getting this error, the database hasn't been set up correctly and the server is unable to load the server. It's attempting to reference data that does not exist. Ensure that your connection configuration is correct.
Common Spawning Problems:
I can't see the character at all (no shadow) and the client isn't requesting packets from me.
If the client isn't sending anything back as a result of your spawn packet being received, then your packet length is correct (take note, this is on higher patches, most likely near the introduction of bosses and monks). Check your x and y offsets. If you're running on a lower patch, check your name offset as well. There might be a possibility that you're not even sending the packet. Check your screen system.
All I see is a shadow.
That's good, you're almost there. It just means your mesh is invalid or you're sending the mesh in the wrong offset. The x and y coordinates are ok, so is your packet length; don't change anything else.
I can't see the character (no shadow) and the client is sending string packet 1015:13 (Name request).
Well, if you're getting this error, that means your name offset is incorrect and the client is telling the sever to reconstruct the packet. Check your name offset.
Conclusion:
If you're still having problems with something that you believe is client related that hasn't been discussed here, please comment below. If you're having a problem with static ip addresses or something that has little to do with this thread, search for or make a new thread and don't bother the people on this one. Spamming won't solve your problems. Don't contact me about them, I'll just ignore them. Good luck.