[c/c++] Clientless (Work in Progress)

Posts 46–60 of 131 · Page 4 of 9
Quote Originally Posted by bluuman View Post
Thanks for the explanation! Is there any functional difference between a client that connects to the proxy and a client who sends his own packets to the server? Would you be able to manipulate incoming packets differently with a proxy, or could hooking on to and changing packets work just the same in a client without a proxy to the server? My curiosity stems from the fact that many rotmg were coded for k-relay or a similar proxy, and not just in the client using actionscript or something similar. Maybe this is on account of the fact that the client was obfuscated before.
There is no difference when it comes to packet manipulation between a proxy and a clientless bot. Both have direct access to the packets. The difference between the two just comes down to how much work you want the program do to. A proxy only has to relay packets between the client and the server, meaning the client is still doing the work of figuring out what needs to be sent and when. And of course a proxy can also send its own packets on behalf of the client if it wants, which is what the plugins for k-relay are doing. But if you look at a clientless bot, you no longer have the client dictating what and when packets are going out, you now have to send all the packets that the client would normally be sending. The advantage of a clientless program over a proxy though is the cpu & memory usage on your system. If you run a proxy, you have the proxy's usages + the clients usage (which flash is a horrible memory hog). And the reason you see people making proxies instead of modifying the actual game client just comes down to C# being easier to program in the actionscript haha.





Quote Originally Posted by toddddd View Post
I havent tested if the usages scales with the number of clients or not, thats something ill probably check into soo.
I also wanted to make an update that i tested this with 3 accounts and then 4 accounts. It seems the memory and cpu usages of the program sticks around 0.5% - 2%, which is amazing in my opinion. It has an initial spike where it hits like 8%, but then drops down and stays around 1% pretty much. Compared to the game client which for me runs 30%+ just for 1 account, this is pretty cool to me.

Edit: wanted to post that when i compiled the program in release mode instead of debug, and i had 19 accounts running, the cpu was actually about 1-2% lol (19 clients in debug mode ran around 7-10% for me). Running the program in release mode removes a lot of the debugging crap that is added to the debug mode version, im actually shocked at how little memory it uses for 19 clients.
Hey, thank you for making this. It's really helpful for understanding packet structure and now I see how you make each client instance and check them from a main thread

(p.s. i don't know c++ but it seems quite similar to c#. im trying to write my own client for c# rn (currently it is borrowing a lot from k-relay) and your project is really helpful)
Quote Originally Posted by bluuman View Post
p.s. i don't know c++ but it seems quite similar to c#
Yes c# was Microsoft's attempt to create their own "java" pretty much, by running through .NET it means every computer the program runs on it should look/work the same. They borrowed a lot from C++ and a few other languages when creating it.
I'm having trouble installing and including cURL. Which version do you recommend I use and which type (installer, library etc)? Thanks.
Quote Originally Posted by bluuman View Post
I'm having trouble installing and including cURL. Which version do you recommend I use and which type (installer, library etc)? Thanks.
check out this post i made for how to setup curl: http://www.mpgh.net/forum/showthread...1#post12488746

I should probably get around to making some sort of setup guide on the github but im pretty lazy sometimes.
Quote Originally Posted by toddddd View Post
check out this post i made for how to setup curl: http://www.mpgh.net/forum/showthread...1#post12488746

I should probably get around to making some sort of setup guide on the github but im pretty lazy sometimes.
Thanks, I didn't catch that little spoiler box in my read over
Quote Originally Posted by toddddd View Post
check out this post i made for how to setup curl: http://www.mpgh.net/forum/showthread...1#post12488746

I should probably get around to making some sort of setup guide on the github but im pretty lazy sometimes.
can you help me? i think i'm close to compiling now (i added all the directories for curl and openssl) but i just have one problem currently. i get the error "LNK1104 cannot open file 'for.obj'" during compile. please send help, i have no idea what this file is.
Quote Originally Posted by bluuman View Post
can you help me? i think i'm close to compiling now (i added all the directories for curl and openssl) but i just have one problem currently. i get the error "LNK1104 cannot open file 'for.obj'" during compile. please send help, i have no idea what this file is.
I have no idea as ive never had that problem. Your best bet is to do some googling and see what you can find, for example here are the first few results i found on google just now:
http://stackoverflow.com/questions/1...occur-when-i-c
http://stackoverflow.com/questions/3...e-d-myproj-exe
https://msdn.microsoft.com/en-us/library/ts7eyw4s.aspx
Quote Originally Posted by toddddd View Post
I have no idea as ive never had that problem. Your best bet is to do some googling and see what you can find, for example here are the first few results i found on google just now:
http://stackoverflow.com/questions/1...occur-when-i-cⓘ
http://stackoverflow.com/questions/3...e-d-myproj-exeⓘ
https://msdn.microsoft.com/en-us/library/ts7eyw4s.aspxⓘ
I assumed it might be your custom file, because i couldn't find a specific result. Anyways, thanks for the response, i will continue to troubleshoot further.
Just saw this. Nice work
Is there anyway to pick a specific character when logging in? I am trying to use Chars.find(some value) but I don't know enough about C/C++ to know what I am supposed to lookup.

I have tried using .find(ClassType::ROGUE) but that gives me an error "list iterator is not dereferencebale"
Quote Originally Posted by dudeguything21 View Post
Is there anyway to pick a specific character when logging in? I am trying to use Chars.find(some value) but I don't know enough about C/C++ to know what I am supposed to lookup.

I have tried using .find(ClassType::ROGUE) but that gives me an error "list iterator is not dereferencebale"
its based on your charID, this is grabbed from the realmofthemadgodhrd.appspot.com/char/list
i dont know how this program handles it though, because i cant compile it (its been quite frustrating).
Quote Originally Posted by bluuman View Post
its based on your charID, this is grabbed from the realmofthemadgodhrd.appspot.com/char/list
i dont know how this program handles it though, because i cant compile it (its been quite frustrating).
I am going to assume so but have you deleted all the files and redownloaded/cloned them?

and if so what error are you getting?
Quote Originally Posted by dudeguything21 View Post
I am going to assume so but have you deleted all the files and redownloaded/cloned them?

and if so what error are you getting?
lots of random include file errors. currently it's "cannot open include file: 'corecrt.h', even though i included its path in additional lib and include files. i can see the file in the folder, so its there. this is mostly due to my lack of c++ knowledge.
Quote Originally Posted by bluuman View Post
lots of random include file errors. currently it's "cannot open include file: 'corecrt.h', even though i included its path in additional lib and include files. i can see the file in the folder, so its there. this is mostly due to my lack of c++ knowledge.
Yea, prior to doing this I had 0 knowledge of c++. I can try to help if you want with teamviewer, skype or dcord. hmu with a pm if you want.
Posts 46–60 of 131 · Page 4 of 9

Post a Reply

Similar Threads

Tags for this Thread

None

Need help?