Actually, you need to login only once, and use received ticket for indefinite time unless you logout explicitly. Funny thing is you can get as many tickets as you want using the same login/password pair.
You can use UT3 account to get that ticket, you can use general gamespyid account, and probably an account from any other game namespace. To get that ticket I used general account, but I believe you won't get any duplicate logins once you get the ticket using UT3 account.
You don't need to use that Apophis' thing, you can rewrite it easily. It's just
SOAP over HTTP, I'm using PHP compiled with cURL for it.
to get ticket you need to connect directly using TCP, but as stated above it's one time thing
http://sake.gamespy.com/SakeStorageServer/StorageServer.asmx?op=SearchForRecordstry to sniff UT3 packets with something like wireshark to get the idea
also you could look at Apophis' sources, but they pretty strange sometimes :)
alternatively I could provide you with code snippets too