There's been a lot of progress since my original post. Let me give you an update on what's been done - at least of what's important.
Proxy CodeThe proxy code works in general; it's able to connect two players that both have no port forwarding and let them play. It still has bugs however when there are multiple people in the lobby, maybe some leaving and joining etc.
Parsing map vaultThe map vault is currently an embedded web view with a pretty clumsy UI - so it's HTML. In order to get that information into my client, I needed to parse that HTML (tell me if there's another way). This has been implemented and I can currently list the maps in a boring table.
Parsing leader boardsPretty much the same as map vault; it's able to parse the standard leader board and display it in a table.
Proxy CodeThe proxy code works in general; it's able to connect two players that both have no port forwarding and let them play. It still has bugs however when there are multiple people in the lobby, maybe some leaving and joining etc.
Parsing map vaultThe map vault is currently an embedded web view with a pretty clumsy UI - so it's HTML. In order to get that information into my client, I needed to parse that HTML (tell me if there's another way). This has been implemented and I can currently list the maps in a boring table.
Parsing leader boardsPretty much the same as map vault; it's able to parse the standard leader board and display it in a table.
Detecting/selecting game pathIf your game path can't be detected automatically, you'll be asked to select it.
Game creationSet a title, a password, select a desired ranking (has no effect without server-side support), the game type and search/select a map. Remembers your last settings.
Join gameJoining games, providing a password if needed. However, some games (probably ones using mods) can't be joined since I receive no answer from the server on request. Investigation pending.
Persistent notificationsThere will be "persistent" and "transient" notifications. Persistent notifications have been implemented; they stay until the user performs any action on them but without blocking his UI like a modal dialog.
Status bar and background tasksTo prevent the UI from locking, tasks are done in background. The progress of long-running tasks are displayed in the status bar. Also, there's information whether your port is reachable and whether your connected to FAF and IRC.
For more information or to support my work, visit the
project page.
Feedback appreciated.