@iL if I solve hosting will you forgive my misdeeds and give me USA-Archer name back lol
That looks schizophrenic, you hack/ddos the stuff by one hand and make some useful things by another at the same time. It happens every time.
I have no idea about your reasons, but honestly, i'd prefer you to keep far from our server and things.
To be honest, I do believe the best is to solve it on the PvPGN server level.
The server knows all ips, all UDP ports.
Well, if you think to release that on pvpgn - ok, but i don't think i can help you with that pvpgn research. Of course i can integrate your code into server pvpgn or share the current pvpgn source code to you.
But i have no idea to resolve that on pvpgn server level.
But you right, pvpgn knows all the ips and UDP ports.
And:
http://server.war2.ru/status/status_public4.dat is a public part. Or course status has private part that also knows all the ips and ports (gets from pvpgn).
So we can share that info to your utility somehow.
So, I think we have different ways to resolve ips and ports. But i see another problem:
Can you firstly make another part? The heart of the project. A program/function to UDP request to the required ip/port from war2 port?
Something like:
int udp_request(char *ip, int port)
{
...
}
I mean, some code calls your function, your function resolves your local war2 outgoing UDP port somehow (maybe get it as a parameter also), then send UDP where required and then you will be able to receive incoming UDP packets to that ip and port.
That's a small step, but would be the main part for the project!
Can be easily tested with you, me and several friends.
So, the test will be easy: i close my ports, you and 2-3 your friends tell me your ips, i host the game, and begin to send UDP to your ips, you try to join.
I'm not sure if you can use UDP port captured by another program (war2), so here's the first problem i see here. Maybe we have to inject that UDP info war2 executable code to let it send packets when that port is already opened for reading/writing by war2? Or we can open UDP on the same interface/same port from another process?
After that part will work perfect, we can analyze traffic and find the way to get all (or all the required) ips and ports.