RustMS icon indicating copy to clipboard operation
RustMS copied to clipboard

Client Debugging

Open lee-aaron opened this issue 2 years ago • 6 comments

Hey this is a bit old but I'm just here trying to do fun stuff with Rust.

I'm wondering how you tested the client because I have the HeavenMS client for localhost and I'm getting client disconnects after logging in. It's also a bit annoying to start up the exe each time so wondering if there's just a dummy client that sends the formatted packets to the server.

lee-aaron avatar Mar 23 '23 05:03 lee-aaron

I've only ever tried working on this with Linux. I used the linux branch of the heavenclient and iirc I had to make some slight modifications to get it to build (see this PR: https://github.com/ryantpayton/HeavenClient/pull/88). About a year ago, I also managed to get an "official" client to work with just a TCP listener, though I didn't go much further than that.

If you want to just hit the server directly with a CLI client, you will either need to write your client so that it performs the handshake (which sets up the AES initialization vectors) and encrypts subsequent packets, OR it should be relatively simple to modify the server's code so that it doesn't encrypt packets.

neeerp avatar Mar 26 '23 15:03 neeerp

Ah thanks no worries. Do you know where I could get the wz/nx files used? All the google drive links are old and probably dead now. Couldn't find ones that work with HeavenClient.

I have several platforms available to build the client. I can try linux (hoping it works on WSL2). Crypto isn't my strongpoint but I'll try figuring out how that works. Thanks!

lee-aaron avatar Mar 26 '23 21:03 lee-aaron

I don't remember off the top of my head, but I think I had to try several different places. There's definitely some forums out there where you can find wz/nx files and old clients. Ragezone is one of them.

neeerp avatar Mar 26 '23 22:03 neeerp

Ah yeah I had found a few wz files but the HeavenClient has extra modifications to them and extra files (ie Map001.wz which I couldn't figure out how to generate). Thanks though! I'll reach out again if I have more questions.

lee-aaron avatar Mar 26 '23 22:03 lee-aaron

Try taking a look at some of these projects: https://github.com/NoLifeDev; they might have what you need.

neeerp avatar Mar 26 '23 23:03 neeerp

Yeah I've used some of those libraries. Unfortunately the google drive link to the wz / nx files used in that server is dead so I'd have to figure out how to generate those files. https://github.com/ryantpayton/HeavenClient/blob/master/Util/NxFiles.h I found a previously closed GitHub issue that indicates these files are the newer versions. I suppose you don't have a copy of those files? Nothing on ragezone that has the same ones in the above link.

lee-aaron avatar Mar 28 '23 04:03 lee-aaron