IRC logs of Libera.Chat #BZFlag for Thursday, 2023-02-16

*** FastLizard4 is now away: AWAY from keyboard00:16
*** yuitimothy is now away: I've done some soul-searching and I still can't find it.01:07
*** _I_Died_Once <_I_Died_Once!~I_Died_On@c-73-184-170-223.hsd1.ga.comcast.net> has quit IRC (Ping timeout: 248 seconds)02:52
*** Cobra_Fast_ is now away: vacant05:34
*** Cobra_Fast_ is back05:34
*** Cobra_Fast_ is now away: vacant06:09
*** Cobra_Fast_ is back06:09
*** Sgeo <Sgeo!~Sgeo@user/sgeo> has quit IRC (Read error: Connection reset by peer)06:51
*** L4m3r_ <L4m3r_!~L4m3r@user/L4m3r> has joined #bzflag09:27
*** L4m3r <L4m3r!~L4m3r@user/L4m3r> has quit IRC (Ping timeout: 268 seconds)09:31
*** L4m3r_ is now known as L4m3r09:57
*** FastLizard4 is back11:10
*** I_Died_Once <I_Died_Once!~I_Died_On@c-73-184-170-223.hsd1.ga.comcast.net> has joined #bzflag11:36
*** FastLizard4 is now away: AWAY from keyboard11:38
*** FastLizard4 is now away: GONE - Screen Detached and Disconnected from IRC (I'm probably asleep, at work, or doing something in real life)11:57
*** _I_Died_Once <_I_Died_Once!~I_Died_On@c-73-184-170-223.hsd1.ga.comcast.net> has joined #bzflag15:06
*** I_Died_Once <I_Died_Once!~I_Died_On@c-73-184-170-223.hsd1.ga.comcast.net> has quit IRC (Ping timeout: 255 seconds)15:08
*** Sgeo <Sgeo!~Sgeo@user/sgeo> has joined #bzflag15:10
TimRikerI think we should add a host:port field to the db. The server should send a nameport on ADD/CHECKTOKEN, so the list server can check. If the GETTOKEN request had a nameport for what server they planned to connect, then we can accept a CHECKTOKEN/ADD that shows a different client ip, but is from the the server they client said they were going to attach to.20:23
TimRikerIf a LIST/GETTOKEN includes a nameport, then we store it. Else we clear it.20:24
TimRikerThen we accept a ADD/CHECKTOKEN if either the client IP matches, OR the nameport of the server matches what was in the GETTOKEN/LIST request.20:33
TimRiker"new" clients would always have a nameport that should match, but "old" clients would only be matching on IP.20:34
blast007we already store the host:port in the database and the server already sends that21:14
TimRikerwe do for ADD, but we don't for LIST/GETTOKEN. I'm talking about the client requesting a token that is tied to the server they are about to join.21:25
TimRikerthe _user table has tokendate, tokenip and token. I'm proposing adding token_nameport. Then the user would request a token just prior to joining a server, and only that target server can validate the token as it's ADD would match the user token_nameport field.21:28
TimRikeruser says: I want to token to join example.bzflag.org:5154. bzfls saves the nameport. example says: validate user1 from <random ip>, bzfls sees that the IP does not match, however, the nameport does match, so the token is ok.21:29
blast007yep, that was the the plan21:39
blast007https://cs.bzexcess.com/docs/v1/#/Game%20Tokens/createUserGameToken   the publicID is the user's UUID (which maybe isn't necessary or useful, since the request has to be authenticated anyway) and the POST body contains the hostname and port21:46
TimRikerI'm going to add a nameport varchar(60) to my user table and add code to start looking at that. how/when can do we make that schema change on prod?21:46
blast007https://cs.bzexcess.com/docs/v1/#/Game%20Tokens/getServerGameToken  and then the game server consumes the token with this21:46
blast007we aren't going to21:47
blast007the IPv6 list will be an entirely new system21:47
TimRikerso all forums users will need to re-register?21:49
blast007no21:50
blast007new system as in not the existing bzfls.php stuff21:50
blast007it'll use the Symfony PHP framework21:50
blast007it will provide the old style bzfls.php-like interface for legacy servers and a new REST API for newer servers21:51
blast007(it will flip behaviour depending on which hostname is used to access it)21:51
blast007I haven't 100% decided how to integrate with the forum data yet21:52
blast007I have a phpBB plugin that provides a basic REST API for user management/login that it could tie into21:52
TimRikerfriends is the same as the phpBB friends? what about foes?21:53
blast007no, not phpBB friends21:53
blast007IIRC foes in the forum hide peoples posts21:53
TimRikerso users need to maintain a separate list of friends ingame from the list they may already have on the forum?21:53
TimRikeryes, I think foes hides posts. similar to hiding in-game chat from a given user.21:54
blast007another possible login integration would be making an oauth plugin for phpBB.  I don't know if there's a good way to associate an external account and an internal account in case details like the email or name change.21:57
TimRikerIf they are different databases, then one needs to be the master, and the other syncs all changes.21:59
TimRikerI didn't want to recreate all that, so I used phpBB as the master.21:59
blast007at the very least, I want to stop using phpBB as a group manager22:01
TimRikermeaning you want to maintain groups both in phpbb and someplace else?22:02
blast007we don't really have many groups that are referenced in phpBB22:02
blast007main one might be the league council22:02
blast007so sure, the league maintains that one group in two place22:03
TimRikeror meaning that there will no longer be any groups in phpbb so no group specific forums? I don't think we have many there, and I don't know if any of them are active anyway.22:03
TimRikerWe could add a hook that tracks the last reference to a group, and then expire unused groups.22:04
blast007yeah, I was thinking of having something like that in the new system22:04
blast007whenCreated and lastUsed22:04
TimRikerit's lame that the phpBB group admin page won't sort by column. That would be easy to add.22:04
blast007we're really just abusing the hell out of the group system :)22:05
blast007I think that's the last thing that requires modifications to the phpBB code as well22:05
TimRikerWe just have no process that I am aware of to purge old unused groups.22:05
blast007yeah22:06
blast007the idea going forward is that there'd be an organization registration, and that organization could then own groups and server keys22:06
TimRikerThe user view of groups is sorted, but the ACP view is not.22:06
blast007(I want to make it possible for players to create/delete orgs and groups)22:07
blast007and also add/remove group managers22:07
TimRikerso then we have old groups and old orgs? :)22:07
blast007If we wanted to add the ability to purge stuff we could.  But that wasn't ever my motivation for wanting to write the new system.22:08
TimRikerjust hoping to avoid "we don't like the current system" "create a new system" "we don't like the new system", lather rinse, repeat.22:11
TimRikerhttps://cs.bzexcess.com/docs/v1/#/Game%20Tokens/getServerGameToken : The playerID parameter is only used... where PlayerIP is the field. Not sure which you mean.22:15
blast007playerIP you mean?22:41
blast007that would probably not be on the final API design.  initially I was considering having a stub bzfls.php that just talked to this new REST API, but then later I realized I could make Symfony switch controllers based on the hostname22:42
blast007s/controllers/routing/22:42
blast007re: the '"we don't like the current system" "create a new system" "we don't like the new system"' ... we've had the basically the same system for almost 20 years, so it's not something we do often  :)22:44
blast007PHP's ecosystem has changed a LOT since ~200522:45
*** TD--Linux is now known as TD-Linux23:41

Generated by irclog2html.py 2.17.3 by Marius Gedminas - find it at https://mg.pov.lt/irclog2html/!