Guild icon
DDraceNetwork
Development / developer
Development discussion. Logged to https://ddnet.tw/irclogs/ Connected with DDNet's IRC channel, Matrix room and GitHub repositories — IRC: #ddnet on Quakenet | Matrix: #ddnet-developer:matrix.org GitHub: https://github.com/ddnet
Between 2021-08-22 00:00:00Z and 2021-08-23 00:00:00Z
07:22
0fe59e8 Fera stepped down as mod (#140) - murpii
Avatar
i found out why it crashes
08:01
i forgot to call EVP_DigestSignInit
08:01
in fact it should have been obvious since i wasnt giving it a private key anywhere xd
Avatar
D:\a\ddnet\ddnet\src\game\client\components\auth.cpp(2,10): fatal error C1083: Cannot open include file: 'openssl/crypto.h': No such file or directory [D:\a\ddnet\ddnet\debug\DDNet.vcxproj]
08:43
stupid windows
Avatar
bestos
Avatar
@Learath2 windows and mac dont link to openssl?
08:49
well they dont find it
Avatar
the CI doesnt install it
08:50
idk what to do about windows
08:50
maybe some bundle
Avatar
yeah and it is only solution
08:51
or using vcpkg
08:52
vcpkg sounds the most modern sane way
Avatar
yeah but its teeworlds
08:54
so
08:54
lets use some bundles
Avatar
macos cant find it
08:56
hmm
Avatar
chillerdragon BOT 2021-08-22 09:01:49Z
hmm @Maiski your pr did not fix my issue in case you were aiming for that
Avatar
Avatar
Ryozuki
@Learath2 windows and mac dont link to openssl?
The thing is we don't require openssl yet, on any platform
Avatar
we used to, but we removed the dependency to get security updates from your system's curl version on linux
09:06
instead of relying on me releasing a new ddnet version with updated openssl quickly
Avatar
Avatar
Deleted User
MINIMUM: OS: Microsoft® Windows® XP or newer Someone with steam access should update this XP isnt supported and probably won't anymore
  • HTTPS and discord api
Done
Avatar
@Ryozuki fwiw I'd probably link to libsodium separately on all platforms
09:27
it all works with openssl rn
Avatar
because openssl is a mess 😛
09:35
it has the jankiest interface known to man too
Avatar
i link to openssl with android
09:35
u can steal the build scripts xd
09:36
@TsFreddie you here?
Avatar
chillerdragon: my fix was unrelated to your issues, since they occur even without resizing
Avatar
Avatar
Learath2
it has the jankiest interface known to man too
yeah but i alreayd figured it out
09:39
all the key stuff is done
09:39
xd
Avatar
@Learath2 u here, did you test tsfreddies pr about the non hdpi macos stuff back then?
Avatar
how to debug on linux
Avatar
with debugger
Avatar
@Anime.pdf build Debug build, run with gdb ./DDNet-Server
10:27
Top (Debugging with GDB)
Avatar
ddnet suggestion ddnet 1-put score,image skin, ping in spectators 2-or leave him above when he do spec but a little transparent
f3 1
f4 1
1️⃣ 1
2️⃣ 1
Avatar
Update ur client @hussainx3 why u still using the old version
Avatar
i not !
10:49
i use steam update should be this last one +beta too
Avatar
"or leave him above when he do spec but a little transparent" whom? the score? or the spectator
Avatar
Avatar
hussainx3
ddnet suggestion ddnet 1-put score,image skin, ping in spectators 2-or leave him above when he do spec but a little transparent
want smth like this?
Avatar
yes !
10:51
this exist in ddnet !!?
Avatar
i made it for fng
10:51
fng scoreboard
10:51
but ppl always complain, i personally like spectator like this others dislike it
Avatar
with ddrace will be mroe simple becsaue no teams there
Avatar
but alot more players in spec 😄
10:52
atleast potentially
Avatar
I also find it rather superfluous xd
Avatar
Avatar
hussainx3
ddnet suggestion ddnet 1-put score,image skin, ping in spectators 2-or leave him above when he do spec but a little transparent
use tdtw
Avatar
Avatar
Deleted User
but alot more players in spec 😄
a lot play too
10:53
it's ok if we not see all them
10:53
tdtw?
Avatar
tdtw client
Avatar
i think it's stupid when you use spec nobody even you can see your ping and your rank
Avatar
imagine 64 player in spec xd
10:54
or 32 playing players and 32 spec
10:54
4 tables
Avatar
usually will be under 10 players in spec
10:55
and we can make place for 10
10:55
if was there more it's ok when there in server 64 players you can see them anyway
10:55
it's same thing
Avatar
Avatar
gerdoe
tdtw client
link?
Avatar
all links dead xd
Avatar
Avatar
deen
@Anime.pdf build Debug build, run with gdb ./DDNet-Server
okay thx
Avatar
you kidding me !
11:11
i even now not know why always ppl think i use old clientcacasad
11:12
becsaue 999- lol ?
11:13
teeworlds not teeworlds without 999banhammer
Avatar
Avatar
Deleted User
@Learath2 u here, did you test tsfreddies pr about the non hdpi macos stuff back then?
I actually don't remember, I tested so many hidpi things
Avatar
Avatar
Learath2
I actually don't remember, I tested so many hidpi things
i just want to know what the client reports when its in windowed vs in fullscreen
11:15
i'd imagine atleast in fullscreen it always reports the hidpi stuff
11:15
and i mean the SDL calls, like the list of video modes
11:15
but tsfreddie will probably know
Avatar
Avatar
Deleted User
i made it for fng
i will... like... a bit... steal it...
Avatar
proper fullscreen doesn't work on macOS period
Avatar
you sure its not only ur old system? xd
Avatar
it's not even that old, and yes it's been broken for years in sdl
Avatar
desktop fullscreen is used in teeworlds to fake it
Avatar
Avatar
Learath2
desktop fullscreen is used in teeworlds to fake it
but why does SDL not do this internally?
11:20
or the old SDL version was just buggy
11:20
we really need to update it soon
Avatar
I can force proper fullscreen on mac but it is very buggy
11:21
horrible fps, wrong mouse tracking, missing events
Avatar
ok, really annoying i really want to know what the report of SDL_GetDisplayMode is
11:22
DDraceNetwork, a cooperative racing mod of Teeworlds - ddnet/backend_sdl.cpp at master · ddnet/ddnet
Avatar
I didn't understand that patch much either
Avatar
if its the canvas size, that the sdl function reports, then the canvas size of the variable is scaled if its the window size, than its never == to the canvas size anyway
11:22
so never true
Avatar
I wanted to fix all of it myself sometime but just didn't have the time for it
Avatar
i am currently working on better fullscreen resolution list
11:23
Avatar
Just remove everything that doesn't make sense to you and we can fix the issues as they arise afterwards
Avatar
we can accomodate for the weirdness later
Avatar
also fixed some weirdnesses with resizing manually, like if the window is maximized, it didnt remove the maximize flag on resize etc
Avatar
we probably should be reacting to SDL_WINDOWEVENT_SIZE_CHANGED instead of SDL_WINDOWEVENT_RESIZED since we don't really care how the size changed
11:27
that was one I had in mind for a bit
Avatar
but i already fixed that it doesnt call SDL functions anymore
11:28
we just use it to trigger ddnet internal resize events
Avatar
Avatar
Deleted User
but i already fixed that it doesnt call SDL functions anymore
Not calling any sdl functions from size_changed sounds wrong wrong wrong
Avatar
the opposite
11:31
calling sdl functions breaks everything
11:31
that's why we didnt had windows resize support for so long
Avatar
idk how much you restructured but unless you made the renderer resolution agnostic somehow it will fail on macOS which won't report the correct resolution until the first resize event
Avatar
Avatar
Deleted User
@TsFreddie you here?
i'm here
Avatar
sdl really just reports the changes from the window manager
11:32
this line, is wrong isnt it?
11:33
video modes report window width not canvas width?
Avatar
and to that change your first reaction should be to learn the new resolution, unless your renderer doesn't care about resolution
Avatar
Avatar
Learath2
and to that change your first reaction should be to learn the new resolution, unless your renderer doesn't care about resolution
ah we fetch that
11:33
i didnt mean SDL get events
11:33
just set events
11:33
sry about confusion
Avatar
Avatar
Deleted User
video modes report window width not canvas width?
it does but i scaled it when storing
11:33
wait
11:34
no
Avatar
i mean it doesnt really matter @TsFreddie that whole check is useless
11:34
i'll remove it anyway
Avatar
sure
Avatar
we don't need to store any desktop screen values
11:34
@TsFreddie one more
11:35
when resizing SDL_GL_GetDrawableSize still gives the HDPI even on non HDPI?
Avatar
i remember seeing bugs like that
11:35
so probably
Avatar
yeah, but rn we relie on SDL_GL_GetDrawableSize on resize
11:35
not on GetWindowSize
Avatar
so resizing is wrong on macos without HDPI?
Avatar
It's fine for me fwiw
Avatar
i mean i set the viewport to the hidpi list else (edited)
Avatar
yes
Avatar
i checked it
Avatar
i understand that
11:36
and it makes sense
11:36
i mean in CGraphics_Threaded::Resize
Avatar
then i'm not sure
Avatar
we only fetch the canvas size
Avatar
it was fine
Avatar
wtf
Avatar
but i don't know what should be wrong
Avatar
this is so reandom xD
Avatar
Avatar
TsFreddie
Click to see attachment 🖼️
fwiw this doesn't happen to me either, I get the correct values
Avatar
m_pBackend->GetViewportSize(m_ScreenWidth, m_ScreenHeight);
11:37
we use SDL_GL_GetDrawableSize after resize to set the correct viewport
11:37
makes sense on HIDPI
11:37
but if it always reports HIDPI, it should break non HIDPI
Avatar
Avatar
Learath2
fwiw this doesn't happen to me either, I get the correct values
probably some SDL version thing
11:38
my mac is weird
Avatar
all macs are all weird
Avatar
can we sue apple
Avatar
anyway, if somebody with mac could test this, imo its a bug in SDL anway a call to SDL_GL_GetDrawableSize should always give the dev the drawable size, and if HIDPI is not desired, then it should not give high values xD
Avatar
i just remember i was doing a whole lot of mind twisters while making that PR, i don't think i want to rethink all of that again tbh
Avatar
ok
Avatar
and it doesn't make any sense anyway
Avatar
then i'll just assume to work with HiDPI XD
11:40
and hope SDL fixes their stuff some day
Avatar
@Learath2 tweet Ryan
Avatar
Just do it the way that is correct and we can fix mac weirdness afterwards
Avatar
chillerdragon BOT 2021-08-22 11:42:36Z
someone here who wants to test mi ddrace map?
11:44
when bridge #general?
Avatar
someone should say him
Avatar
Quick overview about the changes made
  • Add refresh rate to fullscreen modes
  • Show current resolution(on window mode for example update the resolution). Current behavior is, that the list index isn't updated -> see picture below
  • Save current resolution, even on windowed mode
  • Move get videomodes to main thread, like all window API(probably safer)
  • Better window states updates, e.g. in maximized state it should remove maximize flag, when resized by the resolution list And also upd...
Avatar
For prediction of bullets and moving pickups in switch layer (#3990). This sends the info in a separate netobject (as proposed in #4102), as an alternative to adding new netobjects/fields for each type individually (projectiles, pickups, etc). Since map items never change, this information would likely only be sent once in the snapshot delta.

Checklist

  • [ ] Tested the change ingame
  • [ ] Provided screenshots if it is a visual change
  • [ ] Tested in combination with possibly rel...
Avatar
Hi, I would like to have a keybind to hide/show the game layer in the editor because use the V icon is really boring and hard. Thanks <3
Avatar
[quakenet] ChillerDragon BOT 2021-08-22 13:06:52Z
if there is a wall directly behind a blue from tele it still takes the speed when entering sometimes :( is this some feature that is already used in maps or is it just too annoying to fix?
Avatar
chillerdragon: can you read other channels btw?
13:18
else chillerdragon: i tried to fix this blackscreen thing, i get this on the old intel laptop too but even if i set the fullscreen mode to the one reported by SDL_GetDesktopDisplayMode it doesn't work So maybe its really a driver thing, especially bcs it works on AMD without any problem so rip to real fullscreen users with that problem xd
Avatar
chillerdragon BOT 2021-08-22 13:41:14Z
onyl developer and wiki :/ i wish more channesöl were bridged
13:42
@Deleted User: i mean there is the env var and downgrade option
13:42
i currently play with downgraded SDL
Avatar
i did it monkalaugh
Avatar
nice do you already want to implement accounts or just the protocol?
Avatar
define implement accounts
15:05
rn im making the client be able to generate a key pair and register
15:05
this is done without interacting with any game server
15:06
next i think we need a new protocol msg that the client sends to the gameserver, it should contain the public key, and a signed message using that pubkey with some updated info, maybe the current time
15:07
so the server can use it to ask the auth server to verify its real
15:07
hmhm
Avatar
mhhh
Avatar
"The login protocol should bind to the cryptographic session so that the login sequence cannot be forwarded to other servers."
15:08
idk if what i said works xd
15:08
but basically the foundation for this comment is "done"
15:09
i just need to figure out how to make this session
Avatar
" The account server will store a constant, never changing mapping of public key hash " why even account server
15:10
just use the signature
15:10
also about the whole multi private keys, for what?
Avatar
because u can lose ur keypair
Avatar
yes
Avatar
thats why i think u should be able to change the pubkey with the email
15:10
so a account id mapping is needed
Avatar
i am not against a ddnet hosted login accounts additionally
15:11
"This mapping is public and can be queried via an HTTPS endpoint so third party servers can also use it"
15:11
this is
15:11
why not just store the private key on ddnet side
15:11
and then always query it and never save it to disk
Avatar
then it cannot be stolen easily and ppl that don't want accounts on ddnet have to mantain their keys themself
15:12
basically 2 account systems
15:12
1 that works with private keys like you do
Avatar
idk what u are talking about
15:13
xd
Avatar
and a traditional one that is basically one ddnet and is just there for ddnet stuff + the keys for ppl that can't handle all this stuff anyway
15:13
ok
Avatar
the client automatically generates a keypair, and u register to the authserver with a email, this way u wont ever need a password
Avatar
Open client
  • either have private key on disk(unsecure for nobos that would just share it)
  • have it on ddnet account(which is an additional account), always load it from there and only on memory
15:14
and other server don't need to fetch anything from ddnet
15:14
they havve the signature from the public key
Avatar
@Deleted User i dont like having it on "ddnet account"
15:14
i also think its not as secure
Avatar
the client automatically generates a keypair, and u register to the authserver with a email, this way u wont ever need a password
Is the authserver configurable? Or is it i. e. auth.ddnet.tw?
Avatar
we could avoid nobos sharing it by saving it
15:14
on another location
15:14
than .teeworlds
Avatar
i dunno
15:15
i bet they won't loose, they will share it
15:15
if they want to then let em be
Avatar
i ask nobo that has problems with his client to send me his data
Avatar
most people wont even know it exists
Avatar
he'll will do bcs he 13
15:15
yes
15:15
thats the problem saving it
15:15
u can ask any kid
15:15
send me ur browser cookies
15:16
and historyu
15:16
thats just a dumb argument
15:16
omg
Avatar
mhh i disagree
15:16
thats something else
Avatar
Avatar
Avolicious
the client automatically generates a keypair, and u register to the authserver with a email, this way u wont ever need a password
Is the authserver configurable? Or is it i. e. auth.ddnet.tw?
it should be ye
15:17
the thing is, the client and server
15:17
need to use the same authserver
15:17
imho the authserver wouldnt save any ddnet related data it just has the mapping to the account id
15:17
then u can manage that account id on ur db with ur own data
15:17
thats how i see it
Avatar
Avatar
Ryozuki
need to use the same authserver
Servers can send a special message with the authserver information
Avatar
i guess
15:18
anyways this needs lot of discussion
15:18
and most important ppl here are afk nowadays so
Avatar
i dunno if there is an auth server anyway you can also just login with username password
Avatar
I would use /login username password as fallback for non-ddnet clients
15:21
For KoG we've planned to do so
15:21
Integrate the new ddnet login & use the /login username password scheme
Avatar
7login Ryozuki prorustprogrammer
15:21
ups
Avatar
But auto-login is a more elegant user flow
Avatar
and more secure
Avatar
Depends on what you're using, in terms of pub/priv key it is
15:23
i have to figure out how to make the server know a user is who says it is: basically create a session
15:23
the user has a priv pub key, the authserver has the pubkey mapping
15:23
how to make server verify
15:24
afaik the only way to know a pubkey is from someone is to sign something with a privkey and verify it with a pubkey
Avatar
The client downloads the auth-server public key & signs a message?
Avatar
so the client shoudl send some signed message
15:24
that the server can verify by sending it to authserver
15:24
no the client signs a message with its private key
15:24
and u can verify that signature is valid with the client pubkey
15:25
the authserver knows the client pubkey
Avatar
Is it possible to turn the flow around?
Avatar
well knows means it has the mapping to its account id
Avatar
So the server doenst store any keys
Avatar
it has to store the public key
15:25
the public key is always safe to share
Avatar
Yeah, but how do you protect against attacks which aims to send you thousands of public keys
15:25
random generated ones
Avatar
well thats just spam protection
15:26
thats the same as trying to register to a website a lot of times
Avatar
Captcha xd
Avatar
i think thats out of scope for now
15:26
xd
15:27
we should first have smth working and then consider the spam issues
15:27
also the auth server is a http server
15:27
so it can be behind cloudflare
15:27
WIP/RFC ddnet auth service using ed25519 pub key auth. - GitHub - edg-l/ddnet-authservice: WIP/RFC ddnet auth service using ed25519 pub key auth.
15:27
here is my POC authserver
Avatar
Mhmm we dont use emails xd
Avatar
its basically to allow recover
15:29
iirc
15:29
so u can change ur pubkey
15:29
if u lose ur keypair
Avatar
Sure, but we dont use them actually
15:30
we're using keycloak for the new authorization & authentication system
15:30
& discord as primary login provider
15:31
For the others we allow e-mail/password registrations, but we do not recommend
Avatar
i for sure dont want to depend on discord
15:31
discord will die in 5 years
15:31
or less
Avatar
Its okay 🙂 You can integrate Github, Twitter, Guilded.gg & others also
Avatar
nah i prefer having it ourselves
15:32
depending on others sucks
Avatar
oauth2 services
Avatar
Avatar
gerdoe
oauth2 services
Exactly
Avatar
Avatar
Ryozuki
depending on others sucks
In your POC, you can add some possibility to set an accountId instead of an email
15:33
So you dont have to use the email & can rely on other 3rd party services for user management
Avatar
Still not really convinced by this kind of auth server, where is learath xd wasnt he for a semi managed key pair before, or did he change his opinion xd
Avatar
idk xd
15:49
everyone is missing
15:50
but actually this is from their comment
15:50
maybe i interpreted it wrong
Avatar
i think you overestimate ppl xD
15:51
"Design as @Learath2 and I talked about:"
15:51
xd
15:51
ups
15:51
that auto ping
Avatar
everyone once loged in in his live username password but they never cared about how to manage data, that might be important .e.g deleting windows, changing os whatever, and all need to recover their keys (edited)
Avatar
ye ppl are stupid
15:52
but this is a game
15:52
they wont lose their lives
Avatar
Hm, I don't remember the exact specifics we decided on, but a pubkey associated with an email is what we ended up on
Avatar
and ppl who care enough will take care
Avatar
If you have access to your email, you can always add a new pubkey
Avatar
thats the current status, pubkey with email
Avatar
yes no doubt about that
Avatar
but i think that happens quite often, more often than loosing their password probably
15:52
and they dont know why
15:53
especially users from steam just expect to auto login
15:53
bcs of >steam<
Avatar
ppl dont change os quite often
15:53
only linux ppl do
Avatar
they reinstall windows once per year xD
Avatar
do they_? xd
15:53
most ppl dont know
15:54
how to install windows
Avatar
dude who doesnt, you have to xD
Avatar
trust me
Avatar
windows after 1 year broken af xd
Avatar
my father pc had windows 8
15:54
since long
15:54
he didnt want to touch anything
15:54
cuz scared something breaks
Avatar
Avatar
Deleted User
windows after 1 year broken af xd
ye
15:54
ye windows gets rly messy
Avatar
from xp to 10 my family did that ritual xd
Avatar
thats why linux is so superior
15:54
i still havent reinstalled arch linux
Avatar
bcs it updates every minute xddd
Avatar
atleast since 2018
15:55
nah but windows gets slow not cuz updates
15:55
well maybe
15:55
i found out that windows takes so much space
15:55
and i cant never figure out why
15:55
and my linux distro still has plenty of space, and i know how to cleanup
15:55
well we went offtopic
15:55
xd
15:56
i think we should discuss this account stuff when heinrich is around
15:56
he is the one who probs know most
Avatar
and deen xd
15:56
but deen doesnt seem to discuss accounts
15:56
xd
Avatar
he just lets it flow
Avatar
he is busy making a super in memory database with 128 cores
15:57
monkalaugh
Avatar
xd
15:57
look it
15:57
xd
Avatar
10 million lines of C++ code and 15 million lines of Python tests
Avatar
We can do auto login with pubkeys np
Avatar
you already have steam_api.dll
17:02
just use steam authentication
Avatar
Avatar
ZombieToad
just use steam authentication
But not everyone is using steam, so you can use it partly, but not always
Avatar
imagine using steam
Avatar
Q: How would you diagnose a randomly happening couple second packet loss?
20:29
I think this pretty much implies the local connection has an issue, right?
Avatar
ah nice, perfect moment to debug the bug in #bugs with that packet loss xd
Avatar
@Learath2 turn off every electric device in the house and see if it disappears?
Avatar
hm house too big for that, too many people here
21:42
maybe when my parents are at work I can give it a try
Exported 396 message(s)