Dreamcast Now! is a new service which allows players to see which and how many DreamPi users are online, and also what they are playing. You can preview the Dreamcast Now! service at the rather spectacular URL: dreamcast.online/now/
It looks something like this (on mobile):
But there's more! I'm working closely with the dreampipe.net team to provide a level of integration with their site which will allow you to see who's online without ever leaving the confines of the Dreamcast.
I'll also be providing user-specific URLs for widgets that can be embedded in forum signatures to show when you are online.
I hope to release this over the next couple of weeks, a few select testers will be receiving test DreamPi images over the next few days so keep an eye on the page for online gamers!
How does it work (technical stuff ahead)?
It's all just a little bit clever. On boot a unique identifier is generated from your Raspberry Pi, this is your secret key which allows the service to know which DreamPi is online. When you connect to an online game, the DreamPi sends a message to the Dreamcast Now! service indicating that the user with that unique identifier came online. This is all pretty much anonymous, the whole communication happens securely over SSL and the only thing that is sent is the Pi's unique ID.
Once the game is connected, the first thing it will do is perform a DNS lookup for the game's server. The DreamPi software watches for the domain query, creates a non-reversable hash of the domain (using SHA256) and sends this to the server. Again, this is all over SSL and the server has no way of knowing what the domain was unless it happens to match one of the game domain hashes we have on the server. These domain hashes are never stored.
This is how the server detects when a DreamPi comes online and what game is being played.
What about usernames and profile images?
These are entirely optional. If you don't do anything you'll get an auto-generated username (e.g. Unnamed_12345) and just a default profile image will be shown. However it will be possible to browse to the DreamPi's IP address in your browser (e.g. dreampi.local) and enter a username, and a Gravatar email. The email is MD5 hashed before being sent to the server, the only data sent to the server that isn't just a hash value is the username. Usernames are not permanent, you "lease" them. They are associated with your DreamPi's unique ID but if you fail to go online for 30 days then they are free to be associated with another DreamPi. This is necessary so that if your DreamPi breaks, you'll be able to regain your username after 30 days by associating it with another DreamPi.
I don't like the sound of this, can I disable it?
Yes. It can be switched off from the same page you configure your username. It will be enabled by default though.