Warrock login string

01/12/2014 14:38 dybo6#1
With my program I login to the warrock server. I get my NPP through webrequest when I first login.

I build my string like this:

Code:
            sb.Append(Environment.TickCount.ToString());
            sb.Append(" 4352 ");
            sb.Append(WRCrypt.rnd());
            sb.Append(" 0 ");
            sb.Append(username);
            sb.Append(" ");
            sb.Append(npp.Split(':')[3]);
            sb.Append(" ");
            sb.Append(username);
            sb.Append(" ???? 1 0 ");
            sb.Append(npp);
            sb.Append(" ");
            sb.Append(Environment.NewLine);
            byte[] bBytes = Encoding.ASCII.GetBytes(sb.ToString());
            bBytes = WRCrypt.xor(bBytes, (byte)195);
            return bBytes;
First time I login and everything works fine. Second I login with different account and retreives NPP and my first account logs in?

Somebody Knows what the error is?
01/12/2014 15:59 Alliance™#2
Try to add another webbrowser
01/12/2014 16:20 Maurice#3
U ever heard of "Logout"? U can't login a second time within the same session -.-
01/12/2014 16:32 ~iToXiiC#4
Send logout
Close Socket
Wait 1 sec
Relogin

Have fun
01/12/2014 17:11 dybo6#5
Aaah, So when I don't send the logout packet my account stays in the server right?
01/13/2014 16:25 ~iToXiiC#6
Yes and is timegettime not environment.tickcount
01/13/2014 19:11 +Yazzn#7
Quote:
Environment.TickCount Property
Gets the number of milliseconds elapsed since the system started.
Quote:
timeGetTime function
The timeGetTime function retrieves the system time, in milliseconds. The system time is the time elapsed since Windows was started.
They are the same.
01/13/2014 19:54 Raz9r#8
The system time does not even matter. Technically, the timestamps only need to follow the basic rules of linear temporal logic (LTL): For every packet a and b where a gets sent before b the timestamp of a needs to be smaller than the timestamp of b. Therefore you might as well just add one to the any packets timestamp to receive the next timestamp.