Luigi Auriemma

aluigi.org (ARCHIVE-ONLY FORUM!)
It is currently 19 Jul 2012 12:40

All times are UTC [ DST ]





Forum locked This topic is locked, you cannot edit posts or make further replies.  [ 55 posts ]  Go to page 1, 2  Next
Author Message
 Post subject: EAlist (Battlefield Bad Company 2 yeah)
PostPosted: 16 Mar 2010 15:33 

Joined: 13 Aug 2007 21:44
Posts: 4068
Location: http://aluigi.org
I know that many people were interested in a server lister for the new Battlefield game so I have just released EAlist that allows to list the servers of any game supported by Electronic Arts:

http://aluigi.org/papers.htm#ealist

example:
ealist -n bfbc2-pc -a myusername mypassword bfbc2-pc

the last field of the -a option is the name of the game for which has been enabled the account.
indeed the accounts on EA are uniques but they are activated for specific games so (for example) if we have the dedicated server of Medal of Honor Airborne and have activated an EA account with username myuser and password mypass but we want to retrieve the list of servers of Bad Company 2 for Xbox 360 we will need to use:

ealist -n bfbc2-360 -a myuser mypass mohair-pc

easy job


Top
 Profile  
 
 
 Post subject: Re: EAlist (Battlefield Bad Company 2 yeah)
PostPosted: 17 Mar 2010 01:26 

Joined: 16 Aug 2007 06:25
Posts: 367
nice work 8)


Top
 Profile  
 
 Post subject: Re: EAlist (Battlefield Bad Company 2 yeah)
PostPosted: 21 Mar 2010 21:05 

Joined: 03 Dec 2008 18:35
Posts: 8
Code:
EAlist 0.1.1
by Luigi Auriemma
e-mail: aluigi@autistici.org
web:    aluigi.org

- target   159.153.235.12 : 18390
Gamename:    bfbc2-pc
theater:     bfbc2-pc.theater.ea.com : 18395

Error received from the server:
      "System Error"


- dump follows:
---
localizedMessage="System Error"
errorContainer.[]=0
TXN=Login
errorCode=99
---


Top
 Profile  
 
 Post subject: Re: EAlist (Battlefield Bad Company 2 yeah)
PostPosted: 21 Mar 2010 23:17 

Joined: 21 Mar 2010 22:53
Posts: 1
Unfortunately this doesn't work for Bad Company 2 as it uses the encryptedInfo instead of the name and password field in the Login package. Or is it possible to authenticate another way?

Anyways, I was wondering something myself. I'm trying to archive a similar thing in php, but i can't figure out a part of the message.
Code:
00000000  66 73 79 73 c0 00 00 01  00 00 00 b8 54 58 4e 3d fsys.... ....TXN=

There are some weird characters in it for me. I understand the first part which is fsys plus a sequence number which increases each packet. But how is the second part generated 00 00 00 b8 plus the TXN=?

I tried looking at the code, but it was quite complicated for me, and I could not reproduce it.


Top
 Profile  
 
 Post subject: Re: EAlist (Battlefield Bad Company 2 yeah)
PostPosted: 22 Mar 2010 15:15 

Joined: 13 Aug 2007 21:44
Posts: 4068
Location: http://aluigi.org
no problem, this thing with Battlefield bc2 and Heroes is known and obviously there are ways to avoid the problem :)

almost one week ago I released version 0.1.1 of ealist, download it.
now first check if the following works:
Code:
ealist -n bfbc2-pc -a USERNAME PASSWORD mohair-pc
(where USERNAME and PASSWORD are your current account) it should work but "IF" doesn't work you can first create another account on mohair-pc or another game:
Code:
ealist -a NEWUSER NEWPASS mohair-pc -A
it will create a new EA account using that user and pass at your choice and then:
Code:
ealist -n bfbc2-pc -a NEWUSER NEWPASS mohair-pc


Top
 Profile  
 
 Post subject: Re: EAlist (Battlefield Bad Company 2 yeah)
PostPosted: 22 Mar 2010 15:56 

Joined: 03 Dec 2008 18:35
Posts: 8
Code:
...
68.232.175.104   19567
   111.68.21.10   19577
  62.104.17.101   19567
91.198.152.178   19567
  62.104.18.182   19567
  194.97.167.10   19567
  62.104.17.155   19567
  62.104.17.129   19567
  62.104.179.77   19567

1765 servers found


thanks. Worked properly. Faster than the browser game.

Anyone can create a step by step to build the ealist?
Using Devcpp or another. I wanted to change the output format for easy inclusion in mysql.

something like that
Code:
INSERT INTO $serverlist (ip,port) VALUES (68.232.182.175,19567);
INSERT INTO $serverlist (ip,port) VALUES (62.104.179.77,19567);
INSERT INTO $serverlist (ip,port) VALUES (62.104.18.182,19567);
INSERT INTO $serverlist (ip,port) VALUES (91.198.152.178,19567);


Last edited by fusca147 on 22 Mar 2010 18:25, edited 1 time in total.

Top
 Profile  
 
 Post subject: Re: EAlist (Battlefield Bad Company 2 yeah)
PostPosted: 22 Mar 2010 18:23 

Joined: 13 Aug 2007 21:44
Posts: 4068
Location: http://aluigi.org
IMPORTANT UPDATE, version 0.1.2 that retrieves all the game servers because in the previous versions I got only those located in the first lobby:
http://aluigi.org/papers.htm#ealist

now you should see over 8000 servers for bfbc2-pc instead of the over 1000 of the previous version.


Top
 Profile  
 
 Post subject: Re: EAlist (Battlefield Bad Company 2 yeah)
PostPosted: 22 Mar 2010 20:30 

Joined: 03 Dec 2008 18:35
Posts: 8
can capture the query port ( default 48888 ) with the server?


Top
 Profile  
 
 Post subject: Re: EAlist (Battlefield Bad Company 2 yeah)
PostPosted: 22 Mar 2010 21:03 

Joined: 13 Aug 2007 21:44
Posts: 4068
Location: http://aluigi.org
unfortunately the informations sent by EA don't contain references to the query port.
you can verify this by adding the -X none option that dumps all the received info exactly like does gslist with the same option.

a note about -X: I have modified the name of some parameters returned by EA for making them more "humans", that's why the parameter "I" is displayed as "hostaddr", "MP" as "maxplayers" and so on.


Top
 Profile  
 
 Post subject: Re: EAlist (Battlefield Bad Company 2 yeah)
PostPosted: 22 Mar 2010 22:00 

Joined: 03 Dec 2008 18:35
Posts: 8
Thanks for the help. Nothing about the query port

Code:
201.33.23.59:19575 \JP\0\F\0\B-U-location\UNKNOWN\adminname\bfbc2.server.p\B-U-level\Levels/MP_003\B-U-sguid\-407295106\hostname\"BFBrasil.com Ranked BR - BSNGaming"\hostaddr\201.33.23.59\J\O\admin_userid\224444376\B-U-Time\"T%3a290.02 S%3a 4.19 L%3a 0.00"\gamever\1.0\B-U-gamemode\CONQUEST\hostport\19575\B-U-balance\NORMAL\B-U-hash\95E90EF2-725A-6810-5EF8-F98145069A90\B-numObservers\0\TYPE\G\B-U-Frames\"T%3a 300 B%3a 1"\B-version\ROMEPC519619\B-U-HasPassword\0\QP\0\maxplayers\32\B-U-BannerUrl\http%3a//img443.imageshack.us/img443/7237/topobc24.png\B-U-type\NORMAL\GID\54348\B-U-public\YES\B-U-Punkbuster\YES\NF\0\platform\PC\B-U-elo\1107\B-maxObservers\0\password\0\numplayers\32


Top
 Profile  
 
 Post subject: Re: EAlist (Battlefield Bad Company 2 yeah)
PostPosted: 26 Mar 2010 22:35 

Joined: 26 Mar 2010 22:26
Posts: 2
Hey Luigi,

Love this app - very nice work.

We're you able to find any information on how to obtain the players for each server? The data coming back from the master servers ends at "... numplayers\32". In the BFBC2 game, they have a box for a player list in the server query - but I've never seen it populate for any games. More interestingly enough, I took a look into their query protocol (part of their remote administration docs: http://blogs.battlefield.ea.com/battlef ... c2-pc.aspx ) which requires you to have a remote admin password before you can get the player info. This just seems odd, being that most other games offer some mechanism for obtaining the players list.

Any thoughts on this?


Top
 Profile  
 
 Post subject: Re: EAlist (Battlefield Bad Company 2 yeah)
PostPosted: 01 Apr 2010 15:31 

Joined: 13 Aug 2007 21:44
Posts: 4068
Location: http://aluigi.org
I don't know if Electronic Arts maintans a more detailed list of users per players (I highly doubt) so I can't give you an answer.
if someone knows other commands supported by theater that can be useful, I'm here :)


Top
 Profile  
 
 Post subject: Re: EAlist (Battlefield Bad Company 2 yeah)
PostPosted: 01 Apr 2010 15:38 

Joined: 13 Aug 2007 21:44
Posts: 4068
Location: http://aluigi.org
the following should be the full list of commands (got from the exe of bfbc2):
Code:
CONN
USER
RLST
RDAT
LLST
LDAT
GLST
GDAT
GDET
PDAT
CGAM
UGAM
UGDE
UPLA
UBRA
EGAM
EGEG
ECNL
EGRQ
EGRS
QLEN
PENT
PLVT
RGAM
PING
HOMG
HMRQ
KICK
GREM
KGAM
ABUS
DISC
RESV
KEEP
HGAM
GRST
RCLM
PCNT
HLST
HACK
HXFR
HTSN
HTRS
HTFN
RSRQ
RSCL
QENT
QLVT
DQEG
QKCK
UQUE


Top
 Profile  
 
 Post subject: Re: EAlist (Battlefield Bad Company 2 yeah)
PostPosted: 01 Apr 2010 16:11 

Joined: 26 Mar 2010 22:26
Posts: 2
Hey Luigi,

Thanks for getting back to me. Those theatre commands are helpful - I did see some of them in the game exectuable as well. I will post anything I can find on these.


Top
 Profile  
 
 Post subject: Re: EAlist (Battlefield Bad Company 2 yeah)
PostPosted: 12 Apr 2010 09:22 

Joined: 12 Apr 2010 09:14
Posts: 9
hi, Luigi,
thanks for your program
Can i get with your program information about player statistics (bc2) from theater ? and what commands i must use?
please help,
Sorry for my bad english


Top
 Profile  
 
 Post subject: Re: EAlist (Battlefield Bad Company 2 yeah)
PostPosted: 12 Apr 2010 17:10 

Joined: 13 Aug 2007 21:44
Posts: 4068
Location: http://aluigi.org
at the moment ealist works only as a servers list retriever.
I have not performed much research on the protocol (I don't have bfbc2 and the other games are a bit limited) so I don't know what else is possible with the commands I listed.

one thing I can do without problems is adding an option to ealist for the sending of a custom 4bytes command with the custom data choosed by the user (via file), which means that the user must know at 100% what he needs and is doing.

here I have some dumps and there are some commands that return various informations on fesl, for example:
acct+NuGetAccount: retrieves the registration info
acct+NuLookupUserInfo: other info
rank+GetStats: stats
rank+UpdateStats: interesting stuff?

anyway ealist is a servers lister so its job is already done.


Top
 Profile  
 
 Post subject: Re: EAlist (Battlefield Bad Company 2 yeah)
PostPosted: 12 Apr 2010 17:13 

Joined: 03 Dec 2008 18:35
Posts: 8
lemm wrote:
hi, Luigi,
thanks for your program
Can i get with your program information about player statistics (bc2) from theater ? and what commands i must use?
please help,
Sorry for my bad english


I want to know this is possible too. Make a site like this, http://bfbc2.elxx.net/


Top
 Profile  
 
 Post subject: Re: EAlist (Battlefield Bad Company 2 yeah)
PostPosted: 13 Apr 2010 05:43 

Joined: 12 Apr 2010 09:14
Posts: 9
aluigi wrote:

one thing I can do without problems is adding an option to ealist for the sending of a custom 4bytes command with the custom data choosed by the user (via file), which means that the user must know at 100% what he needs and is doing.


add this option, please

may be anybody knows something about protocol and comands on theater ?


Top
 Profile  
 
 Post subject: Re: EAlist (Battlefield Bad Company 2 yeah)
PostPosted: 13 Apr 2010 08:16 

Joined: 12 Apr 2010 09:14
Posts: 9
i tried to dump data with http://aluigi.org/mytoolz.htm#stcppipe , game patched http://aluigi.org/patches/fesl.lpatch ,patch was successful
Code:
C:\Users\Alexey\Desktop\stcppipe>stcppipe -S -d c:\ bfbc2-pc.theater.ea.com 18395 18395

Simple TCP proxy/datapipe 0.4.6a
by Luigi Auriemma
e-mail: aluigi@autistici.org
web:    aluigi.org

  resolve hostname bfbc2-pc.theater.ea.com
- enter folder c:\
- local port     18395
- remote hosts:  159.153.235.12:18395
- wait connections:
IN  127.0.0.1:51518
OUT 159.153.235.12:18395
IN  127.0.0.1:51521
OUT 159.153.235.12:18395

but something wrong,game can not connect to ea online when tries to get game statistics

without proxy connection successful

Any ideas?


Top
 Profile  
 
 Post subject: Re: EAlist (Battlefield Bad Company 2 yeah)
PostPosted: 13 Apr 2010 10:03 

Joined: 13 Aug 2007 21:44
Posts: 4068
Location: http://aluigi.org
yes, theater doesn't use ssl so you must not use the -S option.
only fesl.com needs -S


Top
 Profile  
 
 Post subject: Re: EAlist (Battlefield Bad Company 2 yeah)
PostPosted: 14 Apr 2010 06:41 

Joined: 12 Apr 2010 09:14
Posts: 9
connection was successful,i got stats information in game,but did not get any information in proxy,only IN and OUT
Code:
C:\Users\Alexey\Desktop\stcppipe>stcppipe  -d c:\ bfbc2-pc.theater.ea.com 18395
18395

Simple TCP proxy/datapipe 0.4.6a
by Luigi Auriemma
e-mail: aluigi@autistici.org
web:    aluigi.org

  resolve hostname bfbc2-pc.theater.ea.com
- enter folder c:\
- local port     18395
- remote hosts:  159.153.235.12:18395
- wait connections:
IN  127.0.0.1:61045
OUT 159.153.235.12:18395


Code:
C:\Users\Alexey\Desktop\stcppipe>stcppipe  -d c:\ bfbc2-pc.fesl.ea.com 18390 183
90

Simple TCP proxy/datapipe 0.4.6a
by Luigi Auriemma
e-mail: aluigi@autistici.org
web:    aluigi.org

  resolve hostname bfbc2-pc.fesl.ea.com
- enter folder c:\
- local port     18390
- remote hosts:  159.153.235.12:18390
- wait connections:
IN  127.0.0.1:59162
OUT 159.153.235.12:18390
IN  127.0.0.1:61016
OUT 159.153.235.12:18390


Top
 Profile  
 
 Post subject: Re: EAlist (Battlefield Bad Company 2 yeah)
PostPosted: 14 Apr 2010 10:08 

Joined: 13 Aug 2007 21:44
Posts: 4068
Location: http://aluigi.org
in c:\ you have 2 or more files with the CAP extension, they are the files containing all the protocol.
open them with wireshark or other compatible sniffers.


Top
 Profile  
 
 Post subject: Re: EAlist (Battlefield Bad Company 2 yeah)
PostPosted: 14 Apr 2010 11:44 

Joined: 12 Apr 2010 09:14
Posts: 9
I decided this problem,program have no rights to write in c:\


Top
 Profile  
 
 Post subject: Re: EAlist (Battlefield Bad Company 2 yeah)
PostPosted: 15 Apr 2010 15:30 

Joined: 12 Apr 2010 09:14
Posts: 9
how to send this command for example (leaderboard)
Code:
rank... ....TXN=GetTopNAndStats
key=score
ownerType=1
minRank=1
maxRank=100
periodId=0
periodPast=0
rankOrder=0
keys.0=score
keys.1=rank
keys.2=form
keys.3=level
keys.4=kills
keys.5=deaths
keys.6=sc_squad
keys.7=time
keys.8=veteran
keys.9=elo
keys.[]=10
.


i tried to modify your program but have no success


Top
 Profile  
 
 Post subject: Re: EAlist (Battlefield Bad Company 2 yeah)
PostPosted: 16 Apr 2010 20:50 

Joined: 13 Aug 2007 21:44
Posts: 4068
Location: http://aluigi.org
you can add any additional command to send to fesl at line 745, example:
Code:
        ...
        if(!quiet) fprintf(stderr, "lkey:        %s\n", lkey);

        // beginning of the new code
        if(ea_send(ssl_sd, fesl_sd, "rank", 0xc0000000, // 0xc0000000 is automatically changed by ealist
"TXN=GetTopNAndStats\n"
"key=score\n"
"ownerType=1\n"
"minRank=1\n"
"maxRank=100\n"
"periodId=0\n"
"periodPast=0\n"
"rankOrder=0\n"
"keys.0=score\n"
"keys.1=rank\n"
"keys.2=form\n"
"keys.3=level\n"
"keys.4=kills\n"
"keys.5=deaths\n"
"keys.6=sc_squad\n"
"keys.7=time\n"
"keys.8=veteran\n"
"keys.9=elo\n"
"keys.[]=10\n") < 0) goto quit;
for(;;) {
        buff = ea_recv(ssl_sd, fesl_sd, &len, NULL);
        if(!buff || (len < 0)) goto quit;
}
        // end of the new code

        if(ea_send(ssl_sd, fesl_sd, "acct", 0xc0000003,  // logout
        ...
and then remember to add the -v option to ealist when running it to see the received data.


Top
 Profile  
 
 Post subject: Re: EAlist (Battlefield Bad Company 2 yeah)
PostPosted: 17 Apr 2010 08:01 

Joined: 12 Apr 2010 09:14
Posts: 9
something wrong ,i got error
Code:
### SEND DUMP (rank 0xc0000003) ###
TXN=GetTopNAndStats
key=score
ownerType=1
minRank=1
maxRank=100
periodId=0
periodPast=0
rankOrder=0
keys.0=score
keys.1=rank
keys.2=form
keys.3=level
keys.4=kills
keys.5=deaths
keys.6=sc_squad
keys.7=time
keys.8=veteran
keys.9=elo
keys.[]=10


### RECV DUMP (rank 0x80000003) ###
localizedMessage="System Error"
errorContainer.[]=0
TXN=GetTopNAndStats
errorCode=99


Top
 Profile  
 
 Post subject: Re: EAlist (Battlefield Bad Company 2 yeah)
PostPosted: 17 Apr 2010 14:37 

Joined: 13 Aug 2007 21:44
Posts: 4068
Location: http://aluigi.org
you get the error because the bf2bc2 login must be handled in a particular way, so I simply showed you how to do what you requested.

anyway I can't continue to help you on this matter except if it's something related to EAlist (servers browser)


Top
 Profile  
 
 Post subject: Re: EAlist (Battlefield Bad Company 2 yeah)
PostPosted: 19 Apr 2010 13:36 

Joined: 19 Apr 2010 13:16
Posts: 1
Great tool!

I try to implement a simple filter, has anyone done this
and show me that piece of code?
Unfortunately my experience in c are really restricted :(


Top
 Profile  
 
 Post subject: Re: EAlist (Battlefield Bad Company 2 yeah)
PostPosted: 19 Apr 2010 14:20 

Joined: 12 Apr 2010 09:14
Posts: 9
aluigi wrote:
you get the error because the bf2bc2 login must be handled in a particular way, so I simply showed you how to do what you requested.

anyway I can't continue to help you on this matter except if it's something related to EAlist (servers browser)

thanks)


Top
 Profile  
 
 Post subject: Re: EAlist (Battlefield Bad Company 2 yeah)
PostPosted: 11 May 2010 16:02 

Joined: 11 May 2010 15:50
Posts: 4
Hello,

I was just playing a little bit with your great tool, but sometimes when I change the TXN call I get the following error: "The required parameters for this call are missing or invalid%3a21" (errorCode=21). Do you know a possibility how I can find out which parameter(s) is/are missing or is there any kind of switch I could use to get more information about this error?

Thanks


Top
 Profile  
 
Display posts from previous:  Sort by  
Forum locked This topic is locked, you cannot edit posts or make further replies.  [ 55 posts ]  Go to page 1, 2  Next

All times are UTC [ DST ]


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
cron