Jump to content

kennylovecode

Member
  • Posts

    164
  • Joined

  • Last visited

Everything posted by kennylovecode

  1. 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.
  2. 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.
  3. 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.
  4. I'm glad to offer this little thing.
  5. nice bro.... I'm glad I provided value like dust
  6. I did a boring experiment, and you made a world.
  7. hi, why the github link death...
  8. where the v3 download from, i try to slove the problem
  9. May I ask if GameServer crashes when you disconnect from the client?
  10. 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?
  11. I can almost be sure that if you can find a matching client, there won't be any problems.
  12. 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
  13. 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
  14. You explained it very clearly, I hope it's true. I am an amateur C # enthusiast who has developed many private servers in China using Spirted's Comet source and some open-source sources. My strengths are basic business development and testing, feedback, and bug fixing. I have some experience in disassembly, but not much. Hope to have the opportunity to participate
  15. So, are you saying that you will invest in this open-source project and develop it for everyone to use for free? Are you God~ My question is what can I gain from participating in this project? Just the joy of coding? Childhood memories? It still has monetary rewards. If it has monetary rewards, who will pay for this expense? If it has monetary rewards, would it still open source? Sorry, I have seen too many of these things before, and I am still very sensitive to them.
  16. Your confusion is also my confusion. I don't believe in this kind of thing. People are all profit driven animals. This approach reminds me of pro4ever on the eliteppers forum.
  17. You can write an absolute value of 130005 at the packet when debugging and building it, and see if the client displays it.
  18. I couldn't find what you called in my 6609 version ANI file Any data related to 40130005 So the question is whether you have used clients that have been modified by others, and whether you have aligned the data on the server with the file configuration on the client?
  19. Are you looking for free labor?
  20. I am trapped in a logical loophole that has not been resolved yet. 1. I use a script to determine the number of monsters in the map when triggering monster kills. When determining the number of monsters, I used a copy of the monster object in the map, which may have some data delay. For thread safety, I did this. 3. The current problem is that when the monster is cleaned up at once and this script is triggered multiple times, the monster's IsAlive property in the replica data still seems to be true, which causes my next script statement to not be executed. How should I handle such issues? Regarding the issue of secure synchronization of multi-threaded data.
  21. It works, but the logical order of the business code must be correct. I debugged for a long time because of the wrong order.
  22. How to correctly display equipment with artifact in the equipment redemption list?
  23. It is obvious that it is not very suitable because of the pre role model relationship. Make this effect look foolish...
  24. MsgData msg = new MsgData (); MsgData msg = new MsgData(); msg.Identity = user.Id; msg.Action = 104; msg.Data = 1000000; msg.Details = 0; user.Send(msg); This data packet can modify the pre mask of the current map to achieve a dark like effect. But it cannot gradually darken and then gradually darken. Next, I will try sending some ROLE-FECT through StringPacket as you mentioned, hoping it will be fun.
  25. The second problem has also been solved, it's really amazing. Every time I post on this forum, it always brings me inspiration to solve the problem. Actually, I should not add an invisible state with a value of 12, but rather a partially invisible state with a value of 23.
×
×
  • Create New...