The game sends
Code:
P /Sts/Connect STS/1.0
l:254
<Connect>
<ConnType>400</ConnType>
<Address>192.168.1.69</Address>
<ProductType>0</ProductType>
<ProductName>Gw2</ProductName>
<AppIndex>1</AppIndex>
<Epoch>479124536</Epoch>
<Program>101</Program>
<Build>1004</Build>
<Process>23128</Process>
</Connect>
After it starts TLS handshake using
Code:
P /Auth/StartTls
s:1;timeout=29989
</Request>
Then it starts login process on TLS channel.
Code:
P /Auth/StartSsoLogin STS/1.0
l:193
s:2;timeout=29990
<Request>
<Provider>Portal</Provider>
<LoginName>censored</LoginName>
<Scopes>_self full_economy</Scopes>
<Language>en</Language>
<Password>Base64Encoded</Password>
<SavePassword/>
</Request>
The problem is that i get {not logged in} error when i should get
Code:
STS/1.0 200 OK
s:3R
l:347
<Reply>
<UserId>censored</UserId>
<UserCenter>4</UserCenter>
<UserName>censored</UserName>
<Parts/>
<ResumeToken>8E8F248D-AF76-4565-9897-CE7C8820B87D</ResumeToken>
<EmailVerified>1</EmailVerified>
<PasswordToken>censored</PasswordToken>
<PasswordTokenVersion>srp2</PasswordTokenVersion>
</Reply>
The game sends the same amount of packets to the server than my program(I checked using Microsoft's Network Monitor) and the server replies correctly. The handshaking process seems to be same also, so I have no idea what's wrong.
Edit: Found the problem