We were hacked. Several times over the past two weeks, in fact.
While all passwords are encrypted and salted, it's recommended that you change your password here when you can.
How's that public school education working out for ya?
Haha whatever im sure you felt really awesome when you thought of that, gj. Congratulations to you. You managed to diss someone online that you've never met. I've been following this thread since it was first posted so I did read everything.
Anyway the first post also says
Let me know if you have trouble.
And I am having trouble getting it to work on windows/single player so there ya go. Also, I'm assuming that not everyone uses linux that got it to work but maybe I'm wrong.
hey munson listen, I'm not here to argue I just needed a question answered. I don't understand why people have to make remarks such as those said but it's pointless and just wastes time. Let's just forget about it. Thanks
:yay: Thank you!
It works for you non-believers connect to server IP 82.165.176.223
It's sad we have to play these cat & mouse games to get the full use out of the game we already paid for.
Mofino! is my hero!
We edited our hosts-file on our win2000-server and it unlocks all weapons.
Just add the line he suggested and it works like a shine.
Thanks for the effort of making this great little program.
This version of the CGI simple gives back the fully unlocked status, but with fake credentials (ID and nick). If Dice were to ever require these items to be valid, this script will no longer function, but until then it's the better one to use.
Code:
#!/usr/bin/perl
my @ids=qw/11 22 33 44 55 66 77/;
sub main();
sub main() {
my $time=time;
print "Content-type: text/plain\n\n";
print "O\n";
print "H\tpid\tnick\tasof\n";
print "D\t12345678\tUNLOCKED\t$time\n";
print "H\tenlisted\tofficer\n";
print "D\t0\t0\n";
print "H\tid\tstate\n";
for (@ids) {
print "D\t$_\ts\n";
}
print "\$\t103\t\$\n";
}
main();
Now this one actually queries the Gaymenspy "web cluster" (haha it's garbage). This one has frequent errors and sometimes does not unlock the weapons. This is not due to my code!!! It's because Gamespy barely has a grasp on how to deal with large traffic volumes and spews "bad request" errors (stats not updating anyone?). So if Dice ever looks for a valid player ID and nick name, you will need this script instead of the one above. They could screw me by looking for the header info returned by Gamespy. But if they do, I'll just make an all out proxy, so no worries. So basically, use the above script until it breaks!
Code:
#!/usr/bin/perl
# this script may not work, I don't use it anymore.
# and I've made code changes without testing them.
# if it doesn't work.. fix it.
use IO::Socket::INET;
my @ids=qw/11 22 33 44 55 66 77/;
sub parse_form(\%);
sub parse_form(\%) {
my $webvar=$_[0];
my $buffer;
if ($ENV{'REQUEST_METHOD'} eq "GET") {
$buffer=$ENV{'QUERY_STRING'};
} elsif ($ENV{'REQUEST_METHOD'} eq 'POST' && $ENV{'CONTENT_TYPE'} eq "application/x-www-form-urlencoded") {
read(STDIN, $buffer, $ENV{CONTENT_LENGTH});
} else {
$buffer = $ENV{'QUERY_STRING'};
$buffer || read(STDIN, $buffer, $ENV{CONTENT_LENGTH});
}
my @pairs = split(/&/, $buffer);
for (@pairs) {
my ($name, $value)=split(/=/);
$name =~ tr/+/ /;
$name =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
$value =~ tr/+/ /;
$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
$value =~ s/'/\\'/g;
$$webvar{$name} = $value;
}
}
sub main();
sub main() {
my %webvar;
parse_form(%webvar);
my $sock = IO::Socket::INET->new(PeerAddr => 'BF2Web.gamespy.com', PeerPort => '80', Proto => 'tcp');
print $sock "GET /ASP/getunlocksinfo.aspx?pid=$webvar{'pid'} ";
print $sock "HTTP/1.1\nHost: BF2Web.gamespy.com\nUser-Agent: ";
print $sock "GameSpyHTTP/1.0\nConnection: close\n\n";
print "Content-type: text/plain\n\n";
while(my $recv=<$sock>) {
next unless $recv=~/^(?:O|H|D|\$)\s/;
if ($recv=~/^D/) {
for (@ids) {
if ($recv=~/\s$_\s/) {
$recv=~s/n/s/;
}
}
}
print $recv;
}
}
main();
So after you've taken the script of your choice. You'll need to name it like this:
Code:
/ASP/getunlocksinfo.aspx
Once that is done, do the hosts file trick on your BF2 server, but now point it to your web server's IP and not mine. At this point you should know how to assign bf2web.gamespy.com to your web server configuration. And you should know how to enable CGI on the getunlocksinfo.aspx file.
I will NOT help you with your web server configuration. If you do not know how to use this script, then please use the hosts file trick I've provided in the first post, it's so much easier! Plus I will always keep script updated!
On a side note, if you notice that unlocked weapons no longer work on your server, and they were working just fine previously. Please send me an email: <mofino%;%gmail.com>. This applies to use either my server via your hosts file OR using one of the CGIs provided above.
So like I said, you are not required to setup your own web server, you may continue to use mine with no problems.
Take care everyone,
-mo
PS: I know I don't need main(), or to even prototype it, but I love C style, so :P
Nope!! Doesn't work with my windows... But hoping there will be another way to make it work..
Did you enable "Global Unlocks"?
Did you ping bf2web.gamespy.com once the hosts file change was made? This will check to see if your resolver see the changes in your hosts file. If the IP in the ping is not 209.91.168.238, you did something wrong.
We process personal data about users of our site, through the use of cookies and other technologies, to deliver our services, personalize advertising, and to analyze site activity. We may share certain information about our users with our advertising and analytics partners. For additional details, refer to our Privacy Policy.
By clicking "I AGREE" below, you agree to our Privacy Policy and our personal data processing and cookie practices as described therein. You also acknowledge that this forum may be hosted outside your country and you consent to the collection, storage, and processing of your data in the country where this forum is hosted.
Comment