Jump to content

kennylovecode

Member
  • Posts

    151
  • Joined

  • Last visited

Everything posted by kennylovecode

  1. So can we develop a private server for clients that use it?
  2. Maybe you need to find a way to release DX8' s rendering heap in the client.
  3. I always thought it was a server problem. I reconstructed my vision countless times and finally had to send changemap regularly to solve it.
  4. I am using version 5517 to develop my private server, and I have encountered a particularly strange rendering problem as follows. When one or more people use skills in the same area, they keep hurting, killing, removing and refreshing monsters. After a period of time, this area will become particularly stuck and drop frames. This time must be,The player login again or switches map come back again,To reset this stuck state. At present, my solution is to let the server send a packet of 10010 type switching map to the static player at regular intervals to refresh the rendering status automatically. Very strange question, I don't know who has met it
  5. the second tools is the c3effect manager ... very useful
  6. I've been thinking about how to embed the BOSS timing of my server in the game and draw it on the map. This idea has also started to communicate with duki. Great, I finally have a place to copy it. I mean study, hahaha.
  7. I don't intend to set anyone against each other. I'm just saying that we should independently think and research the concept of not solely waiting for others to help us.
  8. The community is strong because of you.
  9. Hi, actually, I know him, but I didn't make it so obvious, but we can't control him to do so. Therefore, I think that open source should be limited. We provide you with an idea, a framework and some foundations, and we can't let these people copy and paste them and sell them.
  10. Let me answer you, because not everyone is as smart as you can find it, and most people will get it quickly by using money Therefore, we only need to pay attention to how and why we do it, and we ignore what others do.
  11. You will only encounter this problem when you replace the old swf, and then you will not send any packets to the client.
  12. Doing it yourself is much faster than waiting for others to update, isn't it? developer
  13. In fact, have you found that while you are using imgui, the fps of the original game drawing window is dropping sharply. That's why I gave up using imgui, because I didn't find a solution.
  14. I'm glad this can help you. You just need to replace this file, because the 5065 version of this file should have no subsequent code for logging in after creation, so you must close the client and log in again.
  15. I once met this kind.It appeared when I changed from version 5517 to version 5065, because I replaced CharacterInAndOut.swf To version 5065, you will not directly enter the game after creating a character, so you must close the client and reopen the login.
  16. I'm glad to offer this little thing.
  17. nice bro.... I'm glad I provided value like dust
  18. I did a boring experiment, and you made a world.
  19. hi, why the github link death...
  20. where the v3 download from, i try to slove the problem
  21. May I ask if GameServer crashes when you disconnect from the client?
  22. using System; using System.IO; namespace ConquerServer_v2.Client { public static class DHKeyExchange { public class ServerKeyExchange { OpenSSL.DH _keyExchange; byte[] _serverIv; byte[] _clientIv; public byte[] CreateServerKeyPacket() { _clientIv = new byte[8]; _serverIv = new byte[8]; string P = "E7A69EBDF105F2A6BBDEAD7E798F76A209AD73FB466431E2E7352ED262F8C558F10BEFEA977DE9E21DCEE9B04D245F300ECCBBA03E72630556D011023F9E857F"; string G = "05"; _keyExchange = new OpenSSL.DH(OpenSSL.BigNumber.FromHexString(P), OpenSSL.BigNumber.FromHexString(G)); _keyExchange.GenerateKeys(); return GeneratePacket(_serverIv, _clientIv, P, G, _keyExchange.PublicKey.ToHexString()); } public GameCryptography HandleClientKeyPacket(string PublicKey, GameCryptography cryptographer) { byte[] key = _keyExchange.ComputeKey(OpenSSL.BigNumber.FromHexString(PublicKey)); cryptographer.SetKey(key); cryptographer.SetIvs(_clientIv, _serverIv); return cryptographer; } public byte[] GeneratePacket(byte[] ServerIV1, byte[] ServerIV2, string P, string G, string ServerPublicKey) { Random Random = new Random(); int PAD_LEN = 11; int _junk_len = 12; string tqs = "TQServer"; MemoryStream ms = new MemoryStream(); byte[] pad = new byte[PAD_LEN]; Random.NextBytes(pad); byte[] junk = new byte[_junk_len]; Random.NextBytes(junk); int size = 47 + P.Length + G.Length + ServerPublicKey.Length + 12 + 8 + 8; BinaryWriter bw = new BinaryWriter(ms); bw.Write(pad); bw.Write(size - PAD_LEN); bw.Write((UInt32)_junk_len); bw.Write(junk); bw.Write((UInt32)ServerIV2.Length); bw.Write(ServerIV2); bw.Write((UInt32)ServerIV1.Length); bw.Write(ServerIV1); bw.Write((UInt32)P.ToCharArray().Length); foreach (char fP in P.ToCharArray()) { bw.BaseStream.WriteByte((byte)fP); } bw.Write((UInt32)G.ToCharArray().Length); foreach (char fG in G.ToCharArray()) { bw.BaseStream.WriteByte((byte)fG); } bw.Write((UInt32)ServerPublicKey.ToCharArray().Length); foreach (char SPK in ServerPublicKey.ToCharArray()) { bw.BaseStream.WriteByte((byte)SPK); } foreach (char tq in tqs.ToCharArray()) { bw.BaseStream.WriteByte((byte)tq); } byte[] Packet = new byte[ms.Length]; Packet = ms.ToArray(); ms.Close(); return Packet; } } } } you are using this code , right?
  23. I can almost be sure that if you can find a matching client, there won't be any problems.
  24. When setting up a private service for the first time, it is best to ensure that your client is the official original client. This way, you don't have to encounter DHKey exchange failures due to client issues. If you are using someone else's client, please solve the problem I mentioned first, and there is a high probability that you will be able to resolve it. For example, if you use the 5619 client, you don't necessarily need 5619. You can use any version between 5600-5930, and the difference between them won't be significant
  25. This prompt is already very obvious. Try setting a breakpoint on the socket connection accept connection and debug the DHKeyExchange with the client. Only after successfully exchanging keys with the client can your socket receive the correct content
×
×
  • Create New...