This is my implementation of the game Dominion (and all its various expansions). You can play against other people on the internet (there's no AI).
The login system uses OpenID, so you log in with existing credentials (currently a Google or Yahoo account) rather than creating a username and password specific to this site. I don't get to see the username and password you log in with; those are sent directly to the provider (Google or Yahoo). I do see a contact email address (the provider will make you approve sending that to me) but that's only used in case I need to contact you about a problem. Your login info is not shown to other players; they only see the nickname that you choose on this site.
/me is waiting for a friend" into the chat box.No constraints are used for auto-match games, you always get the "default" selection (which is a random set of 10 chosen from all the available cards). You can bias the selection in favor of certain sets by checking the boxes (and you can effectively bias away from certain sets by checking all the others). Checking the box for a set will make it more likely that cards from that set are used in the game.
Quitting the game during the veto phase will count as resigning (ie, a loss) for the leaderboard.
Platinum and Colony are determined according to the rulebook suggestion after the ten kingdom cards are decided — one of the ten is chosen at random; if it's from Prosperity then Platinum and Colony are added to the game.
If Young Witch is in the selected set of ten, then a Bane is chosen at random from the remaining $2- and $3-cost cards. Cards that were vetoed won't be chosen as the Bane.
The server as a whole is currently limited to 600 simultaneous players. If you sit in the lobby a long time without playing a game, you may get booted out to make room for new users. Play games!
Great Hall – this is the default lobby; it works just like the old single lobby did. It's intended for casual play.
Secret Chamber – intended as a rendezvous point for people who are trying to play games with specific people (their RL friends, etc.) and aren't interested in games with random strangers. Auto-match is disabled in this lobby.
The older text mode (no card images) is still available. You can switch back and forth by using the "text" or "image" link in the bottom right corner (next to the speaker icon for toggling sound). Text mode looks like this.
However, if you find they don't fit in your browser, possibly because you've installed a bunch of toolbars or something, there are a few things you can try:
button that opens all the card descriptions in a new browser window.
If you are playing with Black Market or Tournament, the button window lists the additional cards that those kingdom cards bring into the game. The card text popups work in the info window for those cards, so you can read the text of the black market and Prize cards.

Here, clicking the button will play the 2 Coppers and the Silver (which you could also play individually by clicking them, if you want). If you want to play the Contraband, you should click the card explicitly (when you do that is up to you; typically you'd play Contraband before any other treasure).

Here I clicked when I could have played either of two actions. If playing the treasure is really what I wanted to do, I just have to click the button again to confirm it.

Once they're in the order you want, press the button.
A similar drag-and-drop interface is also used to arrange Stash cards in your deck when you reshuffle.




When proposing a game, you can explicitly specify the Bane by entering it in the "require card(s)" box, with an asterisk in front of it. (Note that a Bane is only needed if Young Witch is one of the chosen kingdom cards; you should require it as well if you want to guarantee playing with Young Witch.)
Anyway, if you decide you want to resign, wait for the start of your turn, before you've played any cards, and click the button:

The button will appear along with the confirmation of . If you really want to quit, click :

You'll have to click again to confirm:

If there's only one player left when you drop out, the game will end.

If at least two players are left, you can return to the lobby and the remaining players can continue the game without you.
When ranks are assigned at the end of the game, the first person to resign is put in last place (regardless of how many VPs are in their deck). The second person to resign gets next-to-last place, and so on. Anyone who finishes the game will be ranked ahead of anyone who resigns. Resigning does not change the Supply or the victory conditions: if one player in a 3-player game drops out, there are still 12 of each Victory card available. If one player in a 5-player game drops out, the ending condition is still 4 stacks empty, not 3.
Disconnecting from the server (clicking the "exit" link, closing your browser, etc.) is now treated as resigning, when possible. (Depending on what's going on at the time, it may still cause the game to abruptly abort for all the players. If you must drop out, be kind to your fellow players and wait for the start of your turn.)
To thwart this, the system now times you out if it's your turn to play (or respond to an opponent's attack, etc.) and you don't respond for a while. All your opponents are presented with a prompt like this:

Here it's Bob's turn but he's not doing anything. His opponent Alice gets this prompt. If she clicks the "make Bob resign" option, Bob will immediately be resigned from the game. If she is happy to wait (maybe she and Bob are playing a friendly game while both are doing other things as well), she can just ignore this prompt — it will go away whenever Bob plays his turn.
/mute" into the chat window to mute them (and "/unmute" to see their chats once again). In a game with more than 2 players, you specify which player you want to mute by their position in turn order relative to you: "/mute before" mutes the player who comes before you, and "/mute 2 after" mutes the player who comes 2 after you (ie, after the person who plays after you).
Muting is one-way: it only prevents you from seeing their chat messages. It does not stop them from seeing yours (though of course they can choose to mute you too), and it doesn't stop what any other players in the game see.
Muting only works in games, not in the lobby, and it's not preserved from game to game. (Though really, if you find someone so annoying that you don't want to listen to them any more, why would you want to play another game with them?)
All users who have played a game while logged in should show up there. Your statistics are accumulated under the account you use to log in, not the nickname you choose, so even if you change your nickname you won't lose your stats. (They'll show up in the leaderboard under the nickname you've used most recently.)
If you don't play for a week, you'll disappear from the leaderboard. All your stats are still tracked, though, so if you come back and play some more your old games (within the 30-day window) will still count towards your rank.
In a nutshell: skill is measured on a scale that goes from roughly 0 to 50 points. (Actually skill can be any number, but 99.8% of players should fall in the 0–50 range.) The skill range column is a 99.8% confidence interval — the system is 99.8% sure your true skill lies somewhere in that range. New players are assigned a skill of "25 ± 25", which is to say, we don't really have any idea what that person's skill is. As you play more, your mean skill moves up or down and the range gets smaller as the system believes it has a better estimate of your skill.
The level column is the low end of your range, rounded down to an integer and clamped to the range [0, 50]. If we ignore the clamping, it is a conservative skill estimate in the sense that we are 99.9% confident that you are at least that skillful.
Because Dominion has a lot of randomness (it's not uncommon for a low-skill player to beat a high-skill player, through fortunate shuffling), it takes a relatively long time to change your skill — the system needs to see a lot of examples of you winning before it accepts that it's not just due to luck. (For those interested in the details, I've set β = 25 and the draw probability at 5%.)

I'm not currently making the source available.
The source for my implementation of TrueSkill is available on github.
The CSV file with a summary of all the completed games is no longer produced. There's a replacement being generated but I haven't documented it yet. Coming soon.
If you want more details on each game, you have to download the daily tarball of complete game logs and be prepared to do a bit of simple HTML parsing (regex matching should work well enough). For 11 October 2010:
http://dominion.isotropic.org/gamelog/201010/11/all.tar.bz2
These can be quite large (in recent days they've had ~6200 games and are around 6 MB). Each day's file should be available by about 15-20 minutes after midnight US Pacific time. Note that the daily tarball will contain logs for all games, even those that aren't finished due to a player aborting or some kind of error. Be prepared to filter those out as appropriate if you're doing some kind of analysis on the games.
There is a monthly transfer cap on the server, and if we start to hit it I will take these down. To avoid that, please:
.html.gz URLs; I will probably start making these expire after a week or so anyway) — if you want all or most of them then downloading the daily tarball is much more efficient.