HelpProxy?

Posts 1–8 of 8 · Page 1 of 1
Proxy?
I'm very interested in making my own proxy for RotMG. Botmaker will be kindly supplying me with a .dll, however he is too busy to teach me and I have the need to learn what is going on for myself. I need to learn from the ground up about this.

This learning will be to help my [wip] multibox program become much better, for a quicker release.

C#.NET or VB.NET are the languages I'd prefer, please. Thanks =)

Please PM me if you can help!
@rock.theory


Start off with opening a connection to one of the servers
Default port 2050

server_list={
{"USWest","50.18.113.133"},
{"USMidWest","107.22.218.252"},
{"EUWest","46.137.187.86"},
{"USEast","184.72.218.199"},
{"AsiaSouthEast","46.137.247.5"},
{"USSouth","107.22.231.55"},
{"USSouthWest","50.18.176.194"},
{"EUEast","46.51.176.123"},
{"EUNorth","176.34.240.11"},
{"EUSouthWest","176.34.240.126"},
{"USEast3","50.19.47.160"},
{"USWest2","184.169.130.44"},
{"USMidWest2","174.129.56.145"},
{"USEast2","23.21.243.164"},
{"USNorthWest","184.169.131.108"},
{"USSouth2","107.20.55.255"},
{"AsiaEast","46.137.218.95"},
{"USSouth3","204.236.195.161"},
{"EUSouth","176.34.71.225"},
{"EUNorth2","46.137.38.91"},
{"EUWest2","176.34.195.206"}
}

There are probably lots of tutorials for making a simple chat client and sever for your chosen language,
I don’t know how to achieve this in vb, or c@
http://www.codeproject.com/Articles/...P-Chat-Program


Microsoft API as documentation online, and is very useful .
sockets
http://msdn.microsoft.com/en-us/libr...=vs.85%29.aspx


Edit
I’m probably never going to make that dll for you, it requires to much time and I have everything I need without a c++ version

This is code written in C it is a basic asynchronous non-blocking client connecting to one of the rotmg nexus servers.
Compiler is mingw32, dev c++, I’m sure you can use code blocker as it also uses mingw32 compiler
http://pastebin.com/KpMj8dfY
Quote Originally Posted by Botmaker View Post
I’m probably never going to make that dll for you, it requires to much time and I have everything I need without a c++ version
Damn.. Was looking forward to releasing a version with proxy soon.

Quote Originally Posted by Botmaker View Post
This is code written in C it is a basic asynchronous non-blocking client connecting to one of the rotmg nexus servers.
Compiler is mingw32, dev c++, I’m sure you can use code blocker as it also uses mingw32 compiler
#include <windows.h> #include <winsock2.h> /* C Standard includes */ #include - Pastebin.com
Is this the full proxy? I may be able to convert it then...
@rock.theory

I need a solid design plan before I can processed

One the DLL is going to require your input, I require feedback from you to be able to write the code and make it useful.

I don’t know how to use threads in c++ yet, because I couldn’t get boost library to work, my thinking is the DLL would work on registering callbacks, for the update packet and new tick packets, but again I’m not sure.

I can’t make this without someone with knowledge to aid me in the API and best methods.

I think the idea is the DLL handles the connection, and reads and writes the packets but there is the issue of modifying the packets before sending them ,
also ideally The DLL would be using threads, I might look into win32 api thread functions, http://msdn.microsoft.com/en-us/libr...=vs.85%29.aspx

Client connect(server, list of prams)

My point is if you can’t grasp the concept of opening a socket then your in over your head and you should stop.

It would take around two weeks for me to write almost every packet necessary and make the API and DLL
Around 4000 lines of code.


Edit

If you only want a proxy to read the x and y values, then you can do it.
Open 3 connections
1 server 2050
1 client 2050
1 cross domain server 843, Policy.

4 rc4 keys
You could just read the new tick and update and use portal and reconnect packets.

Fairly simple stuff, and it could be done in c# or vb.net.
Regarding threads, unless you actually use them in your normal proxies, you probably won't need them for the dll. Like I said, I can handle threading within my program.

I do understand the concept of opening a socket, that's not the problem. What I'm not understanding is how to go about interrupting an already existing connection (running a client .swf in Flash Player 11 SA). I mean, I understand the concept of how it works, but I wouldn't know how to actually implement that. I'll be looking over what you've posted here to see if maybe I can just dig in and get started on my own. I've never really used sockets except for winsock way back in the vb5 days, so I guess I have a lot of studying to do.

Also, please understand, learning on my own for all these years I only have had the opportunity to learn from example, and out of necessity. I never really needed to use anything like this until now. It's not a matter of not being able to learn, or being a slow learner, because I can learn quickly and easily. I don't always know the proper terms to search for so without examples, I have no luck, hence asking for help here.
Quote Originally Posted by rock.theory View Post
Regarding threads, unless you actually use them in your normal proxies, you probably won't need them for the dll. Like I said, I can handle threading within my program.

I do understand the concept of opening a socket, that's not the problem. What I'm not understanding is how to go about interrupting an already existing connection (running a client .swf in Flash Player 11 SA). I mean, I understand the concept of how it works, but I wouldn't know how to actually implement that. I'll be looking over what you've posted here to see if maybe I can just dig in and get started on my own. I've never really used sockets except for winsock way back in the vb5 days, so I guess I have a lot of studying to do.

Also, please understand, learning on my own for all these years I only have had the opportunity to learn from example, and out of necessity. I never really needed to use anything like this until now. It's not a matter of not being able to learn, or being a slow learner, because I can learn quickly and easily. I don't always know the proper terms to search for so without examples, I have no luck, hence asking for help here.
I want to help you but, I don’t want to do everything for you, it’s definitely better if you learn the basics first, because then you be able to achieve the goals you've set out, I can see you understanding this with some time and hard work,

Spend a bit of time messing around with sockets and opening connections and what not, even if you pull the code from the internet it‘s fine, once you’ve got this, the next steps will go a lot smoother , and if you get stuck I’ll be here to help, so long as you post the code and explain the problem in a bit of detail.
The host file https://en.wikipedia.org/wiki/Hosts_%28file%29

C:\windows\system32\drives\etc.

"127.0.0.1 ec2-50-19-47-160.compute-1.amazonaws.com"

The client.swf connects to the us east 3 server with a domain name ,"ec2-50-19-47-160.compute-1.amazonaws.com"

The host.file can be edited to direct all DNS requests matching
"ec2-50-19-47-160.compute-1.amazonaws.com"
To the local host 127.0.0.1

The proxy listens on port 2050, and port 843

Port 843 is required because of how flash works, google flash policy server
it's basic once you understand it, "<cross-domain-policy><allow-access-from domain="*"/></cross-domain-policy>"

public static final String POLICY_XML = "<?xml version=\"1.0\"?>" + "<cross-domain-policy>" + "<allow-access-from domain=\"*\" to-ports=\"*\" />" + "</cross-domain-policy>\n\u0000";

The proxy opens a connection to the us east 3 server, with the actual ip address, not with the domain name because the host file would redirect the connection request back to the proxy

use this to get the the server list and us east 3 server domain name
https://realmofthemadgod.appspot.com/char/list?
Quote Originally Posted by Botmaker View Post
The host file
C:\windows\system32\drive\something, not sure had a bit to drink.

The client.swf connects to the us east 2-3 server with a domain name , like “ec2-176-34-195-206.eu-west-1.compute.amazonaws.com”

The host.file can be edited to direct all DNS requests matching
“ec2-176-34-195-206.eu-west-1.compute.amazonaws.com”
To the local host 127.0.0.1

The proxy listens on port 2050, and port 840

Port 840 is required because of how flash works, google flash policy server
OH! This makes sense! THANKS! LOL!!!!!
Posts 1–8 of 8 · Page 1 of 1

Post a Reply

Similar Threads

Talk with us