Donnerstag, 17. Dezember 2009

How to start a LOTRO client

I'm currently looking into understanding the network protocol better. I use the following command to see what the client is doing:


lotroclient.exe
-a 2
-h 192.168.1.123:9000
--glsticketdirect 1
--chatserver 192.168.1.124:2900
--language fr
--bugurl http://192.168.1.125/bug.php
--supporturl http://192.168.1.126/TSSTrowser/Trowser.aspx
-GameType LOTROEU
--authserverurl https://lotroeugls.com/gls.authserver/service.asmx
--glsticketlifetime 86400


Note that this assumes you are running on a system with a hacked /etc/hosts file so you don't actually connect to lotroeugls.com!

I'll explain the options I used in detail to show you what I am doing:
-a 2
: I just a invalid username (I don't want to use a real one for privacy reasons). You can change this to whatever you like. This allows you to find the name in the network traffic.
-h 192.168.1.123
: This is bogus IP on the same local network as I am using. This is necessary to filter packets by IP to identify which host a client sends packets to
--glsticketdirect 1
: A bogus GLS ticket. Could be whatever you like. I chose a short one to minimize the logs.
--chatserver 192.168.1.124:2900
: Another bogus host to be used as a chatserver.

The other options don't really matter right now (as we don't have another side to talk to this will never be used). This generates the inital network traffic the client is performing to setup a connection to the server.

Once you trace the crypt and networking code (using wine as described below) you are able to trace what ever the client was doing.