Author Topic: Global Login System (Implementation Discussion)  (Read 83956 times)

loial21

  • Autococker
  • Posts: 2807
Re: Global Login System (Implementation Discussion)
« Reply #100 on: July 20, 2006, 04:42:35 PM »
jitspoe is my hero.
Good to hear.  ::)

To me he is a kick ass coder and someone that needs to send me a DP T-shirt.  :)

loial21

  • Autococker
  • Posts: 2807
Re: Global Login System (Implementation Discussion)
« Reply #101 on: July 25, 2006, 11:14:58 AM »
JItspoe,

Any plan for a language filter for the logins?

jitspoe

  • Administrator
  • Autococker
  • Posts: 18802
Re: Global Login System (Implementation Discussion)
« Reply #102 on: July 25, 2006, 12:13:54 PM »
As in not allowing people to register names with profanity?  Yes.

loial21

  • Autococker
  • Posts: 2807
Re: Global Login System (Implementation Discussion)
« Reply #103 on: July 25, 2006, 01:08:22 PM »
Super sweet, thanks.

Lunatic

  • 68 Carbine
  • Posts: 349
Re: Global Login System (Implementation Discussion)
« Reply #104 on: July 25, 2006, 06:00:15 PM »
Do you have any date planned when you are going to release build 17?

jitspoe

  • Administrator
  • Autococker
  • Posts: 18802
Re: Global Login System (Implementation Discussion)
« Reply #105 on: July 28, 2006, 01:41:58 PM »
No date planned.

Well, crap.  I was going to go the "easy" route and just throw libcurl in there and use https.  But apparently cURL uses OpenSSL for HTTPS, which isn't compatible with the GPL, so I guess that throws that out the window.  Stupid license.

afortier

  • Stingray
  • Posts: 86
Re: Global Login System (Implementation Discussion)
« Reply #106 on: August 15, 2006, 03:37:09 PM »
How about more focus on renderer enhancements and less on network functions? Q2E has taken a turn tward rediculous GFX card requirements.

Eiii

  • Autococker
  • Posts: 4595
Re: Global Login System (Implementation Discussion)
« Reply #107 on: August 15, 2006, 04:01:04 PM »
We're not Q2E. ;)

Smokey

  • Autococker
  • Posts: 1172
Re: Global Login System (Implementation Discussion)
« Reply #108 on: August 15, 2006, 05:19:14 PM »
but all you're doing with Q2E is using jitspoes code and making small changes.

jitspoe

  • Administrator
  • Autococker
  • Posts: 18802
Re: Global Login System (Implementation Discussion)
« Reply #109 on: August 15, 2006, 07:15:59 PM »
I think you're thinking of Quake2: Source.  Q2E isn't using my code (or not much of it if they are).

In other news, I have the urge to punch some GNU programmers in the face because of their poor windows support, dependency hell, and bloated libraries.  Try getting libcurl compiled with gnutls, I dare you.  I think I may just throw the concept of secure logins out the window and settle for something basic.

TinMan

  • Autococker
  • Posts: 1347
Re: Global Login System (Implementation Discussion)
« Reply #110 on: August 16, 2006, 02:41:15 PM »
Poor windows support? Ouch. How the tables turn when it comes to security.
How does Tremulous's GUID feature work? Is that only built into the TJW mod, or is it built into the normal game? Building off of something that somebody else already got working and has open sourced would be easist I assume.

jitspoe

  • Administrator
  • Autococker
  • Posts: 18802
Re: Global Login System (Implementation Discussion)
« Reply #111 on: August 16, 2006, 03:00:48 PM »
Uh, there's plenty of secure stuff for windows; it's just not GPL compatible.  I'm not sure how Tremulous' GUID works.

jitspoe

  • Administrator
  • Autococker
  • Posts: 18802
Re: Global Login System (Implementation Discussion)
« Reply #112 on: August 18, 2006, 02:40:49 PM »
After a little research, it seems Tremulous does not support GUID's, but rather it's a mod for Tremulous that does it.  I'm guessing since it's a mod, it just does messages in plain text (unless Tremulous has some kind of encryption layer).

Smokey

  • Autococker
  • Posts: 1172
Re: Global Login System (Implementation Discussion)
« Reply #113 on: August 18, 2006, 08:46:43 PM »
tjw's admin mod is killer, dp needs it.

jitspoe

  • Administrator
  • Autococker
  • Posts: 18802
Re: Global Login System (Implementation Discussion)
« Reply #114 on: August 28, 2006, 01:50:26 AM »
Latest version of mysql table, by request:

Code: [Select]
CREATE TABLE `dplogin_accounts` (
  `id` int UNSIGNED NOT NULL auto_increment,
  `timestamp` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `pwhash` char(32) NOT NULL,
  `tempkey` char(32) NOT NULL,
  `name` varchar(32) NOT NULL,
  `email` varchar(255) NOT NULL default '',
  `realname` varchar(64) NOT NULL default '',
  `activationnum` INT UNSIGNED NOT NULL,
  `flags` INT UNSIGNED NOT NULL,
  PRIMARY KEY  (`id`),
  INDEX (email(8))
) COMMENT='Account' AUTO_INCREMENT=1;


CREATE TABLE `dplogin_names` (
  `id` INT UNSIGNED NOT NULL AUTO_INCREMENT,
  `timestamp` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `name` varchar(32) NOT NULL default '',
  `playerid` int UNSIGNED NOT NULL,
  `flags` INT UNSIGNED NOT NULL,
  PRIMARY KEY  (`id`),
  INDEX (name(8)),
  INDEX (playerid)
) COMMENT='Name to ID remap';


CREATE TABLE `dplogin_clans` (
  `id` int UNSIGNED NOT NULL auto_increment,
  `timestamp` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `name` varchar(64) NOT NULL default '',
  `tag` varchar(16) NOT NULL default '',
  `website` varchar(255) NOT NULL default '',
  `ircchan` varchar(32) NOT NULL default '',
  PRIMARY KEY  (`id`)
) COMMENT='Account' AUTO_INCREMENT=1;


CREATE TABLE `dplogin_clanmembers` (
  `id` INT UNSIGNED NOT NULL AUTO_INCREMENT,
  `timestamp` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `clanid` int UNSIGNED NOT NULL,
  `playerid` int UNSIGNED NOT NULL,
  `flags` INT UNSIGNED NOT NULL,
  PRIMARY KEY  (`id`),
  INDEX (clanid),
  INDEX (playerid)
) COMMENT='Name to ID remap' AUTO_INCREMENT=1;


CREATE TABLE `dplogin_ips` (
  `id` int UNSIGNED NOT NULL AUTO_INCREMENT,
  `ip` varchar(16) NOT NULL default 'BADIP',
  PRIMARY KEY (`id`)
) COMMENT='IP Tracking Table' AUTO_INCREMENT=1;


CREATE TABLE `dplogin_hardwareids` (
  `id` int UNSIGNED NOT NULL AUTO_INCREMENT,
  `hardwareid` char(32) NOT NULL default 'BADHWID',
  `hardwareidtype` INT UNSIGNED NOT NULL,
  PRIMARY KEY (`id`)
) COMMENT='IP Tracking Table' AUTO_INCREMENT=1;


CREATE TABLE `dplogin_connectinfo` (
  `id` INT UNSIGNED NOT NULL AUTO_INCREMENT,
  `playerid` INT UNSIGNED NOT NULL,
  `ipid` INT UNSIGNED NOT NULL,
  `hardwareid1` INT UNSIGNED NOT NULL,
  `hardwareid2` INT UNSIGNED NOT NULL,
  `hardwareid3` INT UNSIGNED NOT NULL,
  `hardwareid4` INT UNSIGNED NOT NULL,
  `hardwareid5` INT UNSIGNED NOT NULL,
  `hardwareid6` INT UNSIGNED NOT NULL,
  PRIMARY KEY (`id`)
) COMMENT='Maps acconuts to IPs and hardware IDs.' AUTO_INCREMENT=1;


CREATE TABLE `dplogin_reservednames` (
  `id` INT UNSIGNED NOT NULL AUTO_INCREMENT,
  `name` VARCHAR(32),
  `flags` INT UNSIGNED NOT NULL,
  PRIMARY KEY (`id`)
) COMMENT='Protected names that nobody can register.' AUTO_INCREMENT=1;


INSERT INTO dplogin_reservednames (name,flags) VALUES ('newbie[0-9]*','1');

Smokey

  • Autococker
  • Posts: 1172
Re: Global Login System (Implementation Discussion)
« Reply #115 on: August 30, 2006, 01:29:54 AM »
can you add a password to the clan table for simplicity?

jitspoe

  • Administrator
  • Autococker
  • Posts: 18802
Re: Global Login System (Implementation Discussion)
« Reply #116 on: August 30, 2006, 02:48:16 AM »
I'm not going to do passwords for the clans.  A leader will have to initiate an invite.

Smokey

  • Autococker
  • Posts: 1172
Re: Global Login System (Implementation Discussion)
« Reply #117 on: August 30, 2006, 02:49:11 AM »
well that means 5 sets of mysql_queries to log them in  >:(

jitspoe

  • Administrator
  • Autococker
  • Posts: 18802
Re: Global Login System (Implementation Discussion)
« Reply #118 on: August 30, 2006, 02:55:19 AM »
Here's the source to what I've done in php so far.  It's kind of sloppy.  It just started as a simple test and kept growing.

http://www.dplogin.com/testlogin.php.txt

Clan invites is one of the things I haven't gotten to yet.  You can create a clan, but that's it.

jitspoe

  • Administrator
  • Autococker
  • Posts: 18802
Re: Global Login System (Implementation Discussion)
« Reply #119 on: September 01, 2006, 02:51:40 PM »
Hrm, seems the server I'm using for dplogin has a really old version of mysql installed (3.x), and a lot of the stuff I was doing doesn't work with it.  I wonder if I should upgrade the server, or try to make the code compatible with the older version.