You can use gslist:
http://aluigi.org/papers.htm#gslist
the tool works by default from command-line but if you click on gslistweb.exe it will become a graphical server browser which works directly from your browser.
Go on Scan and it will automatically retrieve all the games installed in the registry.
If the UT3 game is not automatically added to your list do the following:
- go on DB
- type unreal
- select "Add game" from the line of "Unreal Tournament 3 Demo"
- now you will be automatically redirected in the Config section
- search the "Unreal Tournament 3 Demo" (the games are sorted alphabetically)
- in the query field there is a "Gs \status\" that you must substituite with "Gamespy 3"
- now select your UT3Demo.exe executable using the relative button
- copy the path which will be showed in the above field called "executable's path"
- click on Save
- go on Main
- select "Unreal Tournament 3 Demo" and click on LIST
- now you can join any server you want
Naturally you can also write a GUI for gslist:
gslist -n ut3pcd