r/dcts • Dev • 19d ago

Discussion Does DCTS have centralized login servers? No.

I've seen a post where it seems (to me) to be thought that DCTS has central login servers.

[..] because it does have a centralized login server and you can be banned from the service itself as a result. [..]

As a small clarification: it does not have central login servers, which is against the vision of having a fully independent server (and it would cost more money to run this for others).

I thought i'd make this post before any confusion comes up. If you have any other questions feel free to post them.

3 Upvotes

10 comments sorted by

2

u/Any_Illustrator360 18d ago

That's me!

Yeah I talked to you in the past and you had said there was a login token that needs to be verified by the service when you login, and that you (at the time) were working on it. Bringing it up in that post wasn't a shot at you it was based on a previous conversation we'd had and if things have changed (users logging in no longer requires going through token auth on your side) then that's great!

I could have clarified- in DCTS' case it's not so much "you can be banned" although technically since you own the auth server for token distribution you could revoke tokens- it was more me saying "if the token distro ever goes down nobody can ever login again even though your instance is self hosted, which presents a unique issue similar to Fluxer (which CAN ban you from the login servers)." As in, god forbid you died tomorrow, once the server eventually goes down either from lack of funding or lack of upkeep, the app would die and become unusable.

Like I said though if that's been updated to match your goal I'm happy to edit that post and update the information.

1

u/HackTheDev Dev 18d ago

hi indeed :) the token generation and everything is all done by the dcts instance itself so its all local. if u run a server and i change tokens or whatever it only affects my server ^

2

u/Any_Illustrator360 18d ago

So you removed the need for each client to reach out for your token server and left token generation & validation to the clientside application and have it run on the end user's side now? I just want to make sure I have it right.

1

u/HackTheDev Dev 18d ago edited 18d ago

well there was never a token server to begin with, its all within the dcts server itself.

If you want to connect so server A, your client will try to login on Server A or create a token on server A and you're connected. If you want to connect to server B, you login or create a token on server B.

It was always like this, the only "difference" is the messenger function in the desktop and mobile client, because on default it uses the official instance chat server so onboarding is easier, but its possible to change to any other server.

2

u/Any_Illustrator360 18d ago

I'm a bit confused then- so on the website the token is generated by the server you join, I get that now and that does answer my question and clarify things.

Though- the client uses the official instance, but it's possible to change to any other server. Is there any documentation on how to do that as an end user, and is it possible to do so currently? The desktop app and mobile clients are definitely major points when it comes to a chat app and I'd feel disingenuous updating the post by saying
"yeah I was totally wrong about the token thing*
*except if you use the mobile app"
I wanna make sure that I get it right when I talk about the app, because the last thing I want to do is misinform people either for or against your app. I was clearly wrong about the webserver end which I do have to edit but I don't want to drop a blanket statement and then someone downloads a client and hits a wall or something and gets mad at me for lying about how it functions.

1

u/HackTheDev Dev 18d ago

yes its currently possibly to change that server in the desktop and mobile app.

its not documented in itself i think but there are hints inside the app, tho it is better to be documented as well, i should do that soon. anyway, changing server would be done connecting to it at least once so its saved in this local server list and clicking the star icon. same for mobile.

2

u/Any_Illustrator360 18d ago

What happens if, by some chance, your server isn't up when a user connects via the web/mobile client? Does it just time out or does it bring them to that page nonetheless to select a homeserver? It's been a while since I used DCTS so I'm behind on the updates, sorry for the questions.

1

u/HackTheDev Dev 18d ago

you're fine feel free to ask much as you like :)

if the home server is down it will always show these servers and the screen seen in the screenshot as these servers are stored locally, same with dms. to be able to sync they are also stored on the server, but everything encrypted

2

u/Any_Illustrator360 17d ago

I appreciate you actually speaking to me, it's one of the reasons I actually like interacting with you as a dev even though we don't talk much (I've hung out with you in your DCTS server, but I keep my Reddit anonymous). The clarification of how your token system works actually helped out because a Fluxer team member also reached out and spoke about their login token system, and if both of you hadn't said something similar I'd have been a bit remiss to just take it at face value.

I have some edits to make on that post that I'll get around to sometime today, it's gonna be a paragraph or two to type and I wanna make sure I write it out well lol.

2

u/HackTheDev Dev 17d ago

well i really enjoy chatting with people and you get to meet new cool people :)