{"action":"created","issue":{"url":"https://api.github.com/repos/dxx-rebirth/dxx-rebirth/issues/127","labels_url":"https://api.github.com/repos/dxx-rebirth/dxx-rebirth/issues/127/labels{/name}","comments_url":"https://api.github.com/repos/dxx-rebirth/dxx-rebirth/issues/127/comments","events_url":"https://api.github.com/repos/dxx-rebirth/dxx-rebirth/issues/127/events","html_url":"https://github.com/dxx-rebirth/dxx-rebirth/issues/127","id":107438976,"number":127,"title":"Fix Tracker for Latest Builds","user":{"login":"Mako88","id":4147635,"avatar_url":"https://avatars.githubusercontent.com/u/4147635?v=3","gravatar_id":"","url":"https://api.github.com/users/Mako88","html_url":"https://github.com/Mako88","followers_url":"https://api.github.com/users/Mako88/followers","following_url":"https://api.github.com/users/Mako88/following{/other_user}","gists_url":"https://api.github.com/users/Mako88/gists{/gist_id}","starred_url":"https://api.github.com/users/Mako88/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Mako88/subscriptions","organizations_url":"https://api.github.com/users/Mako88/orgs","repos_url":"https://api.github.com/users/Mako88/repos","events_url":"https://api.github.com/users/Mako88/events{/privacy}","received_events_url":"https://api.github.com/users/Mako88/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":{"url":"https://api.github.com/repos/dxx-rebirth/dxx-rebirth/milestones/1","html_url":"https://github.com/dxx-rebirth/dxx-rebirth/milestones/0.60","labels_url":"https://api.github.com/repos/dxx-rebirth/dxx-rebirth/milestones/1/labels","id":1317656,"number":1,"title":"0.60","description":"Fixed in upcoming release 0.60","creator":{"login":"vLKp","id":3164941,"avatar_url":"https://avatars.githubusercontent.com/u/3164941?v=3","gravatar_id":"","url":"https://api.github.com/users/vLKp","html_url":"https://github.com/vLKp","followers_url":"https://api.github.com/users/vLKp/followers","following_url":"https://api.github.com/users/vLKp/following{/other_user}","gists_url":"https://api.github.com/users/vLKp/gists{/gist_id}","starred_url":"https://api.github.com/users/vLKp/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/vLKp/subscriptions","organizations_url":"https://api.github.com/users/vLKp/orgs","repos_url":"https://api.github.com/users/vLKp/repos","events_url":"https://api.github.com/users/vLKp/events{/privacy}","received_events_url":"https://api.github.com/users/vLKp/received_events","type":"User","site_admin":false},"open_issues":3,"closed_issues":66,"state":"open","created_at":"2015-09-22T02:14:39Z","updated_at":"2015-12-11T11:31:52Z","due_on":null,"closed_at":null},"comments":14,"created_at":"2015-09-21T03:43:20Z","updated_at":"2015-12-22T03:56:21Z","closed_at":null,"body":"I know this isn't directly the Rebirth's team's job, but I thought I'd make a github issue to be sure that this gets done before the release."},"comment":{"url":"https://api.github.com/repos/dxx-rebirth/dxx-rebirth/issues/comments/166499544","html_url":"https://github.com/dxx-rebirth/dxx-rebirth/issues/127#issuecomment-166499544","issue_url":"https://api.github.com/repos/dxx-rebirth/dxx-rebirth/issues/127","id":166499544,"user":{"login":"Matt1360","id":568198,"avatar_url":"https://avatars.githubusercontent.com/u/568198?v=3","gravatar_id":"","url":"https://api.github.com/users/Matt1360","html_url":"https://github.com/Matt1360","followers_url":"https://api.github.com/users/Matt1360/followers","following_url":"https://api.github.com/users/Matt1360/following{/other_user}","gists_url":"https://api.github.com/users/Matt1360/gists{/gist_id}","starred_url":"https://api.github.com/users/Matt1360/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Matt1360/subscriptions","organizations_url":"https://api.github.com/users/Matt1360/orgs","repos_url":"https://api.github.com/users/Matt1360/repos","events_url":"https://api.github.com/users/Matt1360/events{/privacy}","received_events_url":"https://api.github.com/users/Matt1360/received_events","type":"User","site_admin":false},"created_at":"2015-12-22T03:56:21Z","updated_at":"2015-12-22T03:56:21Z","body":"Oh cool, I didn't know Boost was to be included.  That would make it simpler, and more portable, then.  If you'd like to do that in the `matt-tracker` branch, please feel free.  Even simpler would be your suggestion, that the tracker specifies the UUID, a simple `SecureRandom.uuid` will generate them, as it's being written in Ruby.\r\n\r\nThe UUIDs should not be visible to other clients, however there are a few things that would simplify implementation if the host were to send all the data, instead.  On client join, if they were to send that to the host, it would be easier for the host to aggregate any data, and report it.  The tracker will ping the games for much of the data as well, in which the host would require to know the UUIDs of the clients in order to apply stats to the correct pilots.\r\n\r\nIn the end, there are no measures to prevent spoofing, if someone knows their UUID, they'd be able to send any data to the tracker that they'd want.  I'm not really sure how concerned we should be about it with this target audience.  Of course, adding some kind of auth-based security would be ideal, but I'm not sure how much effort I'm willing to put into it, to be completely honest.\r\n\r\nAdding a \"login\" of sorts to the tracker would be simple on the rails end (username/password or something), but I don't really have the biggest interest in implementing that client side (I'm sure it's actually pretty simple, from what I remember in previous experiences, but I'm not able to invest the time into extra menu items for that).  In this case, I would return a tracker-generated UUID as an auth token, and the client would still be sending the data on an interval to the tracker as the game progresses.  This flow would probably actually be the simplest, really, if I were to track say, stats on shots (like hit percent on weapons, or something like that).\r\n\r\n¯\\\\_(ツ)_/¯"}}