01:30:15 how would we seed this master userdb? and how would we prevent malicious users from registering usernames which are not yet present on the master userdb, thereby taking over accounts by the same name on every server? 01:31:44 i'm having a hard time figuring out how such a concept would work without first wiping every user database 01:34:24 hrm, yeah 01:35:21 There would have to be some system where using the userdb email address on file, it could import those users and generate a confirmation email, but then you have the problem of which user has priority 01:35:36 like if a user is registered on multiple server but with different email addresses 01:36:03 right, and if they aren't all registered by the real intended account holder 01:36:10 in the case that someone has already hijacked someone else's scores 01:36:24 yep, I mean you could use some rule of priority in terms of order of account registration I guess? 01:36:38 which we could see by date of first game played 01:38:44 I know of legitimate instances though where a given username just has multiple distinct users who just happened to pick the same name 01:38:57 so you could give the central account to whoever registered first, but 01:39:04 what do you do about the data for the other user? 01:39:04 oh i thought username was the unique identifier 01:39:15 sorry? 01:39:30 what uniquely identifies users? 01:39:33 I'm saying two different people picked the same username on different servers 01:39:37 oh 01:39:40 right 01:40:01 yeah, username is unique on a given server 01:40:01 well they would be out of luck 01:40:32 you say that, but 01:40:40 !lg :lasty 1 x=src 01:40:42 1/1091. [src=cdo] Lasty the Fey Orc (L10 HODK of Yredelemnul), slain by a black mamba on Lair:2 on 2012-02-20 03:18:12, with 5024 points after 11982 turns and 4:09:28. 01:40:52 !lg lasty 1 x=src 01:40:53 1/1159. [src=cao] Lasty the Pyromancer (L27 DgCj), escaped with the Orb and 7 runes on 2014-02-22 18:24:33, with 3307428 points after 141199 turns and 16:26:51. 01:40:58 !nick lasty 01:40:59 Mapping lasty => (start>"2013-01-01") lasty hyperlasty 01:41:04 that's a dev :p 01:41:15 i don't really know what i'm looking at here 01:41:33 that is two users of the same name on two different servers, and they are different people? 01:41:39 different people, yeah 01:41:56 and lasty of that nick (post 2013) has a lot of games he'd not want to just lose data for 01:42:07 so if scoring is tied into this master db 01:42:13 how do we handle that? 01:42:30 well there's no way around this issue if we keep usernames as the unique identifier 01:42:35 someone is going to lose their nick 01:43:17 if we chose another identifier, would that be better? 01:44:17 not asking that rhetorically, in case that wasn't clear 01:44:26 I think lasty might not mind playing games under a different username but he'd want to see data scored for all his old games 01:45:20 so I guess you could seperate the problem of account access from the problem of tracking old games 01:45:23 right 01:45:39 I'm sure people might not mind choosing a new nick in these cases but they would mind if that meant they just couldn't see data for their old games 01:46:26 sequell supports nicks to address problems like this (and to group multiple accounts together), but CAO scoring has no way to deal with any of this 01:47:16 yeah that's why i would prefer to keep usernames unique since everything seems to expect that 01:47:32 the scope of this project would explode 01:48:11 i mean what would it take to connect old game data to a new username? 01:48:16 is that just a matter of renaming some files? 01:49:17 well game data for completed games on each server live as an "xlogfile" records; each is a line in a logfile containing all games for a given version on that server 01:50:01 so cdo lasty has entries in the cdo logfiles (plural, since there's one per version, with trunk as its own version, and there are logfiles for sprint as well) 01:50:38 and crawl dev lasty likewise has entries on CAO in the analogous files for that server 01:50:50 each xlogfile entry is a delimited set of fields, one of which is the name of the player 01:51:04 sequell and CAO scoring poll these files to see new games 01:51:21 every game for a given version is recorded on a single line in a single log file? 01:51:46 yes, but *per server* 01:52:43 so all games played on cbro 0.22 get a single entry in the logfile cbro has for that version 01:52:48 http://crawl.berotato.org/crawl/meta/0.22/ 01:52:53 you can see the logfile and milestone files there 01:53:02 as you can see those files get somewhat big 01:53:08 i'm seeing one line per game at least 01:53:15 yep, one line per game 01:53:26 ok i was thinking it was kind of nuts having every game on one line 01:53:28 lol 01:53:37 oh, haha, no 01:54:23 the trunk ones are especially big because they're trunk across all development versions 01:54:41 http://crawl.berotato.org/crawl/meta/git/ 01:54:43 cbro trunk 01:54:57 interesting, I think sprint is broken for 0.22 on cbro 01:55:00 it's missing the files 01:55:17 it's missing other files as well, like the scores file 01:55:20 wonder what's going on there 02:37:59 i'm going to be thinking about this for days now 02:38:21 i'm sure there is a good solution. it just has to be found 03:19:10 "I'm saying two different people picked the same username on different servers" <-- the person who won more games of crawl before jan 1 2019 gets control of both 03:19:19 :) 03:19:41 seems reasonable, there can't be too many accounts with multiple active players 03:20:02 and if someone wants to cheat by taking over an old inactive name, go ahead, not like there are prizes 03:20:45 no, this is serious business 03:20:45 for super special cases like a dev a couple of hardcoded exceptions could be made 03:20:45 and historical streak breakers 03:20:56 they would just remain as mostly ignored warts forever, wouldn't cost a lot 03:24:14 we ran into similar questions building dcss-scoreboard. We even wrote heuristics to detect if an account was a streak breaking griefer 04:06:34 Stable branch on crawl.develz.org updated to: 0.22.1-2-g9c5b331 (34) 05:45:50 -!- amalloy is now known as amalloy_ 07:50:48 Non-attack target corroded. 13https://crawl.develz.org/mantis/view.php?id=11761 by sdynet 11:00:53 -!- Guest90846 is now known as Huene` 13:15:11 -!- amalloy_ is now known as amalloy 15:48:08 -!- aidanh_ is now known as aidanh 17:39:26 oh my.. i missed the 10 year anniversary of cdo! 18:09:33 🎉 20:47:57 -!- amalloy is now known as amalloy_ 21:25:21 -!- amalloy_ is now known as amalloy 22:39:18 03gammafunk02 07* 0.23-a0-420-g8c0b414: Reveal equipment for monsters behind glass 10(29 minutes ago, 1 file, 3+ 0-) 13https://github.com/crawl/crawl/commit/8c0b41491556 22:39:18 03gammafunk02 07* 0.23-a0-421-g923571c: Remove a redundant message about dancing weapons 10(2 hours ago, 1 file, 0+ 6-) 13https://github.com/crawl/crawl/commit/923571cada1a 22:39:18 03gammafunk02 07* 0.23-a0-422-g30b1108: Describe the enchantment of dancing weapons 10(82 minutes ago, 1 file, 4+ 5-) 13https://github.com/crawl/crawl/commit/30b1108d6abc 23:10:49 Unstable branch on crawl.jorgrun.rocks updated to: 0.23-a0-422-g30b1108d6a (34) 23:14:17 hooray