Guild icon
DDraceNetwork
Development / developer
Development discussion. Logged to https://ddnet.org/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 2024-08-07 00:00 and 2024-08-08 00:00
Avatar
you need to downgrade ur host or upgrade ur server ig
Avatar
heinrich5991 2024-08-07 00:24
that's annoying and I don't know a good solution for it
00:24
it just shouldn't be so hard™ 😦
Avatar
Avatar
Teero
this works ig. only issue is glibc now: ./DDNet: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.38' not found (required by ./DDNet) ./DDNet: /lib/x86_64-linux-gnu/libm.so.6: version `GLIBC_2.38' not found (required by ./DDNet) ./DDNet: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.38' not found (required by ./libSDL2-2.0.so.0) ./DDNet: /lib/x86_64-linux-gnu/libm.so.6: version `GLIBC_2.38' not found (required by ./libSDL2-2.0.so.0)
is docker an option?
Avatar
Avatar
heinrich5991
that's annoying and I don't know a good solution for it
the solution was find a third pc with a lower version and move all the files there to compile it lmao
Avatar
despite its drawbacks, i think statically linking glibc would still be a good solution for this
Avatar
Avatar
Ewan
despite its drawbacks, i think statically linking glibc would still be a good solution for this
how...
01:18
i would
01:18
if i knew
01:19
./DDNet: error while loading shared libraries: libpulse.so.0: cannot open shared object file: No such file or directory???
Avatar
from SDL
01:22
u can use ldd to find out all runtime dependent lbs
01:23
well
01:23
those needed by ld.so
01:23
and static linking libc is stupid (edited)
01:25
there's no abstraction for it in cmake so it's essentially a matter of providing the right compiler/linker args for the right system/config
01:26
you may want -static
01:26
there are more tho
01:26
u may wanna just try it out
Avatar
am i a developer?
Avatar
do you develop?
Avatar
Avatar
Taylor
am i a developer?
this is a public chat
Avatar
i tend to dabble in the arts
Avatar
then yea
Avatar
im honored
Avatar
but to be purple i think u have to commit to ddnet
Avatar
i believe this is my game
01:28
i have a whole 5.5hrs you know
Avatar
Avatar
Taylor
i believe this is my game
change something crucial in readme troll
Avatar
actually
01:29
if u are a capable dev there should still be some pretty simple chores
01:29
lots of unsolved issues rn
Avatar
woah woah woah slow down there bud, i said dev not capable dev
Avatar
i'd say try it anyway
Avatar
so you are a /dev/
Avatar
i develope deseases (edited)
Avatar
i should grab some signals from ya
Avatar
i've known taylor for 5 mins and i already trust him with my block devices
Avatar
i appreciate that friend
Avatar
Avatar
Ewan
i've known taylor for 5 mins and i already trust him with my block devices
already dmed him my private keys
Avatar
o geez
Avatar
why is there a lil heart next to my name
Avatar
gg teerosrc leaked
Avatar
Avatar
Taylor
why is there a lil heart next to my name
it's an icon Discord automatically adds to members who are new to a server
Avatar
Avatar
Taylor
why is there a lil heart next to my name
everyone loves you
Avatar
Avatar
zhn
gg teerosrc leaked
oh no, ddnet will fall to ruin
Avatar
how lovely
Avatar
i concur
01:33
cant think of anything witty
Avatar
maybe the lack of sleep
Avatar
ah ye its 4 am
01:33
eepy time
Avatar
my clock has said 8:45am for the past 2 weeks
Avatar
gn everyone
Avatar
only 2:30 for me
Avatar
mine says 1:33 AM rn because i think whenever i resume from suspend systemd does some dumb shit (edited)
01:34
but it is 7:34 pm
Avatar
where abouts do you live
Avatar
Avatar
Taylor
only 2:30 for me
smells like france or spain
🚫 1
Avatar
im mountain time
Avatar
Avatar
zhn
smells like france or spain
nope, guess again
Avatar
so I'm from the USA (edited)
Avatar
Avatar
Ewan
mine says 1:33 AM rn because i think whenever i resume from suspend systemd does some dumb shit (edited)
funny enough i3 freezes after suspend id you try to use input device
Avatar
i have a mate on holiday in the USA as we speak
Avatar
english?
Avatar
oh no my vocabulary may have given away where i'm from
Avatar
i did watch movie and suspended it midway xd
01:36
launched pc again
01:36
and watched until end
Avatar
I'm rather bored
Avatar
ye same
Avatar
so it stuck right after i touched mouse
Avatar
the sensible thing to do in this situation would normally be to sleep as i have important things happening tommorow and it's 2:37am
Avatar
hm so you are zombietroll timezone neighbor
Avatar
i'm not sure
01:38
i could be, however i do not have he foggiest clue as to what that is (edited)
Avatar
come again?
01:38
oh great britain
Avatar
nah gorgeous bahrain
Avatar
have you ever made contact with a live rat?
01:39
theyre pretty big
Avatar
was it a pet or a wild rat
Avatar
especially if you compare their sizes with mice
Avatar
Avatar
Taylor
was it a pet or a wild rat
ofc wild
Avatar
my father had 2 pet rats when i was younger
01:40
their little tails were really odd
Avatar
imagine 2 pet rats racing
Avatar
i was a bafoon for not making that happen
01:40
silly 8 year old me
Avatar
unfortunately
Avatar
are you also a developer of DDnet?
01:42
oh the heart is because i'm new, not because everyone loves me. That's slightly disappointing.
💔 1
Avatar
Avatar
Tater
everyone loves you
You, my friend, have lied to me. I'll have you demoted for that.
Avatar
why do i always miss the tomfoolery moments in every single server im in
03:19
😩
Avatar
chillerdragon BOT 2024-08-07 04:05
Oh boi thats old. I think I never even tried that client haha. Its based on teeworlds 0.6 so its pretty outdated these days. If I remember correctly it added fun cosmetics such as more particles when tees die.
Replying to @Mazty image.png
04:06
or i confuse it with Goreworlds
Avatar
Avatar
Learath2
Instead keep the offsets all 0 based, but when addressing the stack, your 0 is rbp - 1
MilkeeyCat 2024-08-07 04:40
Maybe that's a better idea xd
Avatar
Avatar
Learath2
It seems you got to the wrong solution, (it does work). Why is your stack offset 1 based?
MilkeeyCat 2024-08-07 04:43
It's not that wrong if it works justatest
Avatar
Avatar
Learath2
That way addressing a field is just struct offset + field offset and there is no discrepancy when addressing nested structs
MilkeeyCat 2024-08-07 05:45
but isn't it wrong? for example if the struct has 3 fields of type u8 and I want to write to the first one(for example struct offset is 0), if i use struct offset + field offset, it would write to rbp - 1 but it actually has to write to rbp - 3
05:45
it has to write in reverse order, if that makes sense
Avatar
are u even taking in consideration alignment? xd
Avatar
MilkeeyCat 2024-08-07 06:07
no, aligment for noobs
Avatar
hmm idk what u struggling with, but yes make it all 0-based, structs fields are usually all laid sequentially, even nested structs, you kind of "flatten" them in memory, i dont think it should be that hard
06:10
the only thing a bit hard is to think about alignments
06:12
why the gif
06:12
xd
06:14
  • stack offset: where your stack starts
  • struct offset: the offset from your stack offset to where the first field of the struct is
  • field offset: the offset from the start of your struct offset to where the field is addr = stack offset - struct offset - field offset
read (size of field) on addr
06:14
its - cuz stack on x86 grows downwards (iirc its morning need coffee)
06:15
if u wanna take alignment in consideration, the only thing u would change is make the struct offset and field offsets differ from their sizes if needed
06:15
cuz u need padding
Avatar
Avatar
Patiga
heyo, I want some input for twmap. I recently changed the compression backend to zlib-ng, as this sped up the parsing of maps with a factor between 2 and 3. One kinda downside is that now the maps twmap produces arent the exact same anymore, but that is fine imo(?) With the same compression level 6 (number between 1 and 9), the files are slightly bigger, which is ofc negative. I was thinking about which level I could choose alternatively (higher -> smaller files, but takes longer) So I made this table, which was made with all brutal maps, and the different compression backends the times are time/usr time, in this case the usr time is the significant one size load load+save zlib 231M 34s 174s zlib-ng6 238M 12s 67s zlib-ng7 225M 89s zlib-ng8 216M 119s zlib-ng9 209M 186s imo, the compression level 7 looks reasonable. what do you think?
definitly 6 or 7, the jump from 7 to 8 has a way bigger increase in time.
Avatar
Avatar
Ewan
and static linking libc is stupid (edited)
DDNet-musl when?
Avatar
ChillerDragon BOT 2024-08-07 06:52
What do you mean not the same anymore? They get different sha sums when being resaved with twmap? Or the same map created with twmap is different than the one with the ddnet client?
Replying to @Patiga heyo, I want some input for twmap. I recently changed the compression ba…
Avatar
Avatar
zhn
change something crucial in readme troll
I took that personally...
Avatar
JimmyJazzThe1st 2024-08-07 06:54
hi please help. Why cant i update my ddnet since 18.01
06:54
Learath gg help
Avatar
ChillerDragon BOT 2024-08-07 06:54
In general I appreciate if the files do not change. I track everything in git at all times. And use a dirty working tree to monitor unexpected changes to files.
Avatar
JimmyJazzThe1st 2024-08-07 06:54
sorry Learath2
Avatar
This Client Versions Auto updater is broken, Download Off the website (edited)
Avatar
JimmyJazzThe1st 2024-08-07 06:54
i dont want to have to redownload off of site each time
Avatar
Not each time, Just once ^^
06:55
Its fixed again, it was that one Release where it broke
Avatar
JimmyJazzThe1st 2024-08-07 06:55
oh
06:55
xDD i wasnt reading
06:55
lets see
Avatar
No worries jimmy, gimme Credit on your next Song and we're good greenthing
Avatar
JimmyJazzThe1st 2024-08-07 06:55
Avatar
Avatar
MilkeeyCat
but isn't it wrong? for example if the struct has 3 fields of type u8 and I want to write to the first one(for example struct offset is 0), if i use struct offset + field offset, it would write to rbp - 1 but it actually has to write to rbp - 3
Why are you reversing the field order? Even if you are doing that (which I think you shouldn’t), you’d be calculating the offsets at compile time for your fields
Avatar
Avatar
Learath2
Why are you reversing the field order? Even if you are doing that (which I think you shouldn’t), you’d be calculating the offsets at compile time for your fields
MilkeeyCat 2024-08-07 07:03
is rbp - 1 correct for first element?
Avatar
Avatar
MilkeeyCat
is rbp - 1 correct for first element?
Yes
07:04
Well it’s your language, you can lay out your structs however you damn well please
Avatar
MilkeeyCat 2024-08-07 07:05
what the hell is this then feelsbadman why value 1 isn't moved in rbp - 1 (edited)
Avatar
Avatar
MilkeeyCat
what the hell is this then feelsbadman why value 1 isn't moved in rbp - 1 (edited)
Why do you care what C does?
Avatar
Avatar
Learath2
Why do you care what C does?
MilkeeyCat 2024-08-07 07:12
i want to be able to call C functions xd
Avatar
Avatar
Learath2
DDNet-musl when?
when they make a c++ std lib feelsbadman
07:12
(never)
Avatar
Avatar
MilkeeyCat
i want to be able to call C functions xd
Well if you want to lay it out like that, then have the offset of the struct point at the end
Avatar
Avatar
MilkeeyCat
what the hell is this then feelsbadman why value 1 isn't moved in rbp - 1 (edited)
your first problem is calling the struct and variable the o face
Avatar
Avatar
ChillerDragon
What do you mean not the same anymore? They get different sha sums when being resaved with twmap? Or the same map created with twmap is different than the one with the ddnet client?
chillerdragon: yeah different sha sums
Avatar
the speedup is just so darn significant
Avatar
Avatar
MilkeeyCat
i want to be able to call C functions xd
struct foo { // stack offset 0xC uint32_t first; // field offset 0x0, stack offset 0xC - 0x0 = 0xC uint32_t second; // field offset 0x4, stack offset 0xC - 0x4 = 0x8 uint32_t third; // field offset 0x8, stack offset 0xC - 0x8 = 0x4 }
Avatar
Avatar
ChillerDragon
In general I appreciate if the files do not change. I track everything in git at all times. And use a dirty working tree to monitor unexpected changes to files.
do you actively resave the file and check for changes?
Avatar
To be fair. Maybe I misread your image. The lowest address is where you want to be pointing with your offset for all types on a little endian stack
Avatar
GitHub BOT 2024-08-07 07:47

Checklist

  • [ ] Tested the change ingame
  • [ ] Provided screenshots if it is a visual change
  • [ ] Tested in combination with possibly related configuration options
  • [ ] Written a unit test (especially base/) or added coverage to integration test
  • [ ] Considered possible null pointers and out of bounds array indexing
  • [ ] Changed no physics that affect existing maps
  • [ ] Tested the change with [ASan+UBSan or valgrind's memcheck](https://github.com/ddnet/ddnet/#using-ad...
Avatar
地大系草 2024-08-07 08:01
Does anyone know how to solve being banned for using a VPN?
Avatar
Use #✉-create-a-ticket and click on Admin-mail, they will Help you Out ^^
Avatar
Avatar
Learath2
To be fair. Maybe I misread your image. The lowest address is where you want to be pointing with your offset for all types on a little endian stack
MilkeeyCat 2024-08-07 08:15
Thanks for taking time and explaining xd I.. came up with something which seems to work xdddd
Avatar
Avatar
MilkeeyCat
Thanks for taking time and explaining xd I.. came up with something which seems to work xdddd
Please don't have 1-based offsets, I beg of you
Avatar
MilkeeyCat 2024-08-07 08:16
i made it 0-based
Avatar
Do we have anyone around who has this graphics bug where with Vulkan backend some text is invisible? https://wiki.ddnet.org/wiki/GFX_Troubleshooting#Some_text_is_invisible_with_the_Vulkan_backend If so, can you try out https://ddnet.org/downloads/DDNet-vulkan-win64.zip and see if it fixes it?
There are numerous graphics (gfx) related bugs users encountered. Not all are fixable, but might have workarounds. This site is there to collect these to help those encountering the same issues.
Avatar
Avatar
deen
Do we have anyone around who has this graphics bug where with Vulkan backend some text is invisible? https://wiki.ddnet.org/wiki/GFX_Troubleshooting#Some_text_is_invisible_with_the_Vulkan_backend If so, can you try out https://ddnet.org/downloads/DDNet-vulkan-win64.zip and see if it fixes it?
Jupstar ✪ 2024-08-07 08:19
I'll see if i can downgrade the GPU of my father
Avatar
Avatar
Patiga
heyo, I want some input for twmap. I recently changed the compression backend to zlib-ng, as this sped up the parsing of maps with a factor between 2 and 3. One kinda downside is that now the maps twmap produces arent the exact same anymore, but that is fine imo(?) With the same compression level 6 (number between 1 and 9), the files are slightly bigger, which is ofc negative. I was thinking about which level I could choose alternatively (higher -> smaller files, but takes longer) So I made this table, which was made with all brutal maps, and the different compression backends the times are time/usr time, in this case the usr time is the significant one size load load+save zlib 231M 34s 174s zlib-ng6 238M 12s 67s zlib-ng7 225M 89s zlib-ng8 216M 119s zlib-ng9 209M 186s imo, the compression level 7 looks reasonable. what do you think?
okay different take @heinrich5991 @deen @jxsl13 chillerdragon map files are typically distributed and read many many times more than they are written. this is ofc highly true for released maps, but I think even also true for maps shared in the map testing channels. the only case I can currently think of, where maps are not really shared, is maps being auto-saved in the editor we have the trade-off between speed and size, where we need to find some kind of sweet spot so, as the load+save time with zlib and zlib-ng9 is comparable, why not go there? we distribute map files potentially thousands of times, so 2.25x* the effort on saving between zlib-ng7 and zlib-ng9 isn't that huge, for a ~9% reduction in file size *load+save time subtracted by the load time, then divided for percentage
Avatar
Avatar
Learath2
Please don't have 1-based offsets, I beg of you
MilkeeyCat 2024-08-07 08:23
here's the abomination btw stack_offset - struct_size + field_offset + field_type_size looks bad but at least works 😬
Avatar
Avatar
MilkeeyCat
here's the abomination btw stack_offset - struct_size + field_offset + field_type_size looks bad but at least works 😬
This doesn't look too wrong, but why are your offsets not precalculated to point at the end?
08:25
Offsets to the wrong side of a value are pretty useless, the cpu can't do anything with those, you'll pretty much always have a + size wherever you use them
Avatar
Avatar
Learath2
This doesn't look too wrong, but why are your offsets not precalculated to point at the end?
MilkeeyCat 2024-08-07 08:26
field_offset?
Avatar
Yes, why doesn't struct_offset - field_offset point to the lowest byte of the field directly?
Avatar
MilkeeyCat 2024-08-07 08:30
probably it's because of how I calculate the offset :\ pub fn offset( &self, ... ) -> Result<usize, TypeError> { let mut offset = 0; for (field_name, type_) in &self.fields { if name == field_name { break; } offset += type_.size(arch, scope)?; } Ok(offset) }
Avatar
ws-client BOT 2024-08-07 08:42
<ChillerDragon> @Patiga so what makes the shasum change? Is there no way whatsoever anymore to recreate the same map file?
Avatar
Avatar
ws-client
<ChillerDragon> @Patiga so what makes the shasum change? Is there no way whatsoever anymore to recreate the same map file?
a different zlib compression backend
08:42
I will probably try to get the same change into ddnet
Avatar
ws-client BOT 2024-08-07 08:42
<ChillerDragon> but the zlib backends will match between each other?
08:43
<ChillerDragon> and if its also in ddnet everything matches again?
Avatar
different zlib backends don't produce the same binary data
Avatar
ws-client BOT 2024-08-07 08:43
<ChillerDragon> but same do?
Avatar
ws-client BOT 2024-08-07 08:44
<ChillerDragon> Ah then its fine with me
Avatar
nice :)
Avatar
ws-client BOT 2024-08-07 08:45
<ChillerDragon> but yeah ideally the switch in ddnet would also actually happen :p
Avatar
yea 😇
Avatar
Avatar
MilkeeyCat
probably it's because of how I calculate the offset :\ pub fn offset( &self, ... ) -> Result<usize, TypeError> { let mut offset = 0; for (field_name, type_) in &self.fields { if name == field_name { break; } offset += type_.size(arch, scope)?; } Ok(offset) }
Mh, I actually don't get it. This looks fine. Maybe I'm stupid
Avatar
Avatar
Learath2
Mh, I actually don't get it. This looks fine. Maybe I'm stupid
MilkeeyCat 2024-08-07 08:47
nah, it's my skill issues xdd
Avatar
Avolicious 2024-08-07 08:50
Several people asked over the past months if we can enable it for KoG too, is there any way to get it into the client or is there proper support planned or no support planned for 3rd party mods?
Avatar
btw its not as low level but this is how llvm gets the struct/array/fields addresses at compile time https://llvm.org/docs/GetElementPtr.html (edited)
08:52
For example, let’s consider a C code fragment and how it gets compiled to LLVM: struct RT { char A; int B[10][20]; char C; }; struct ST { int X; double Y; struct RT Z; }; int *foo(struct ST *s) { return &s[1].Z.B[5][13]; } The LLVM code generated by Clang is approximately: %struct.RT = type { i8, [10 x [20 x i32]], i8 } %struct.ST = type { i32, double, %struct.RT } define ptr @foo(ptr %s) { entry: %arrayidx = getelementptr inbounds %struct.ST, ptr %s, i64 1, i32 2, i32 1, i64 5, i64 13 ret ptr %arrayidx }
Avatar
Avatar
Patiga
heyo, I want some input for twmap. I recently changed the compression backend to zlib-ng, as this sped up the parsing of maps with a factor between 2 and 3. One kinda downside is that now the maps twmap produces arent the exact same anymore, but that is fine imo(?) With the same compression level 6 (number between 1 and 9), the files are slightly bigger, which is ofc negative. I was thinking about which level I could choose alternatively (higher -> smaller files, but takes longer) So I made this table, which was made with all brutal maps, and the different compression backends the times are time/usr time, in this case the usr time is the significant one size load load+save zlib 231M 34s 174s zlib-ng6 238M 12s 67s zlib-ng7 225M 89s zlib-ng8 216M 119s zlib-ng9 209M 186s imo, the compression level 7 looks reasonable. what do you think?
do you have benchmarks for the missing load times :?
Avatar
Avatar
jxsl13
do you have benchmarks for the missing load times :?
they are same for all zlib-ng compression levels
08:54
as far as I can tell
Avatar
12s?
Avatar
I think there are no real maps as big as 200+MB
08:56
is it possible to like find the biggest ddnet map and have those benchmarked
08:56
or an average of a few big maps
08:57
I cannot really imagine how those times will be with real maps
Avatar
why was I banned for vpn even though I don't have it?
Avatar
those stats are from all brutal maps
08:58
how would it impact someone using an editor ._.
08:58
but twmap is not used in the editor, I guess
Avatar
Avatar
Avolicious
Several people asked over the past months if we can enable it for KoG too, is there any way to get it into the client or is there proper support planned or no support planned for 3rd party mods?
Avolicious 2024-08-07 08:58
How to set has_finishes: false to true for the KoG community on info.ddnet.org?
Avatar
would definitly make sense to use the highest compression.
08:59
then
Avatar
Avatar
jxsl13
how would it impact someone using an editor ._.
I don't know if the editor saves asynchronously, if yes, then it wouldn't even really have an effect there
Avatar
does one want to save asynchronously at all. Save -> quit -> map saved in a broken state?
Avatar
interesting point, I don't know what happens there
09:05
at least the autosaves in the background should be asynchronous though
Avatar
hmhm
Avatar
A concise, self-describing binary format written in Rust for Serde - khonsulabs/pot
09:11
@heinrich5991 did u know it?
09:11
$ cargo test --example logs -- average_sizes --nocapture Generating 1000 LogArchives with 100 entries. +-----------------+-----------+-----------------+ | Format | Bytes | Self-Describing | +-----------------+-----------+-----------------+ | pot | 2,627,586 | yes | +-----------------+-----------+-----------------+ | cbor | 3,072,369 | yes | +-----------------+-----------+-----------------+ | msgpack(named) | 3,059,915 | yes | +-----------------+-----------+-----------------+ | msgpack | 2,559,907 | no | +-----------------+-----------+-----------------+ | bincode(varint) | 2,506,844 | no | +-----------------+-----------+-----------------+ | bincode | 2,755,137 | no | +-----------------+-----------+-----------------+
Avatar
ws-client BOT 2024-08-07 09:17
<ChillerDragon> @Avolicious imo that would belong in a per community json api endpoint. So every community has their info endpoint. But that would mean every launching client would do a bunch of http requests to all communities so thats a bit meh
09:17
<ChillerDragon> also heinrich said communities should not have an advantage
Avatar
Avatar
Avolicious
Several people asked over the past months if we can enable it for KoG too, is there any way to get it into the client or is there proper support planned or no support planned for 3rd party mods?
We intended to, but I don't think we figured out how we can expose this feature to 3rd parties
Avatar
Avatar
Avolicious
Several people asked over the past months if we can enable it for KoG too, is there any way to get it into the client or is there proper support planned or no support planned for 3rd party mods?
heinrich5991 2024-08-07 09:19
if you can provide us with a list of (playername, finished map) pairs, we can include them in the info.json
Avatar
Avatar
heinrich5991
if you can provide us with a list of (playername, finished map) pairs, we can include them in the info.json
Mh, this would work for kog since we don't have an overlapping map pool. But it's just a stopgap
Avatar
heinrich5991 2024-08-07 09:20
nah, we'd save (community, player name, finished map) tuples
Avatar
Avatar
Learath2
Mh, this would work for kog since we don't have an overlapping map pool. But it's just a stopgap
Avolicious 2024-08-07 09:20
We can add map hash if needed, there are some maps on both networks
Avatar
Avatar
heinrich5991
nah, we'd save (community, player name, finished map) tuples
Still not my very favourite tbf, so do all communities give us an endpoint that we fetch that from whenever we get an info request?
Avatar
Avolicious 2024-08-07 09:22
So the only param you need is the username? is the username encoded somehow? urlencode?
Avatar
Avatar
Learath2
Still not my very favourite tbf, so do all communities give us an endpoint that we fetch that from whenever we get an info request?
heinrich5991 2024-08-07 09:22
opposite way around. we provide an endpoint to add a pair (player name, finished map) to the community
09:23
we store tuples (community, player name, finished map) and do a DB query when we get a request
09:23
this way, we don't need to make a request and leak no player data
Avatar
But in exchange we have to keep a db of all communities finishes
Avatar
Avatar
heinrich5991
this way, we don't need to make a request and leak no player data
Avolicious 2024-08-07 09:24
pair it with the "leak ip address" option So if this is enabled for a server, then the community endpoint is called directly else over your endpoint
Avatar
Avatar
Learath2
But in exchange we have to keep a db of all communities finishes
heinrich5991 2024-08-07 09:24
yes
Avatar
Avatar
Avolicious
pair it with the "leak ip address" option So if this is enabled for a server, then the community endpoint is called directly else over your endpoint
heinrich5991 2024-08-07 09:24
no, I'd like to not leak IP addresses to servers unless the player actively connects
Avatar
Jupstar ✪ 2024-08-07 09:25
if you find a binary serialization crate that uses serde And beats bincode in speed, ping me 😄
Avatar
Avolicious 2024-08-07 09:25
But with the leak ip option they leak it anyways
Avatar
Jupstar ✪ 2024-08-07 09:25
This is apparently slower :/
Avatar
Avatar
Avolicious
But with the leak ip option they leak it anyways
heinrich5991 2024-08-07 09:25
usually not. leak IP only leaks it if the server is not in the server list
09:26
here you see bincode 2 is much faster than pot
Avatar
Avatar
Learath2
But in exchange we have to keep a db of all communities finishes
heinrich5991 2024-08-07 09:26
is that a problem? it doesn't sound like a particularly huge DB
Avatar
if we only have a "add finish" endpoint community server owners would have no way of resetting finishes if they need to for some reason, but i dont know if this would matter that much
Avatar
heinrich5991 2024-08-07 09:28
we can add a remove finish endpoint as well I guess
Avatar
Avatar
Jupstar ✪
here you see bincode 2 is much faster than pot
heinrich5991 2024-08-07 09:29
bincode is probably not self-describing, so they seem to solve different problems
Avatar
Avolicious 2024-08-07 09:29
Sounds nice, but a lot of maintenance for ddnet
Avatar
Avatar
Ryozuki
@heinrich5991 did u know it?
heinrich5991 2024-08-07 09:29
no. interesting. I like the self-describing without repeating keys
09:29
I wonder how it compares to zstd'ing the output of cbor or msgpack or json
Avatar
Avatar
heinrich5991
bincode is probably not self-describing, so they seem to solve different problems
Jupstar ✪ 2024-08-07 09:30
true, i am still interested in a faster binary serialization lib that uses serde, if you find one, ping me
09:31
for self-describing things, i simply use json
Avatar
Avatar
Jupstar ✪
true, i am still interested in a faster binary serialization lib that uses serde, if you find one, ping me
MilkeeyCat 2024-08-07 09:31
make one yourself 😏
Avatar
Jupstar ✪ 2024-08-07 09:31
then i probably dont care about speed & size anyway xd
Avatar
Avatar
Jupstar ✪
true, i am still interested in a faster binary serialization lib that uses serde, if you find one, ping me
heinrich5991 2024-08-07 09:31
do you know why they don't use serde? is it because of optimizations?
Avatar
Avatar
MilkeeyCat
make one yourself 😏
Jupstar ✪ 2024-08-07 09:31
yeah but it will take at least a month again
09:31
i have no time xD
Avatar
Avatar
heinrich5991
do you know why they don't use serde? is it because of optimizations?
Jupstar ✪ 2024-08-07 09:31
i assume so
Avatar
Avatar
Jupstar ✪
i have no time xD
MilkeeyCat 2024-08-07 09:31
where did you lose all your time?
Avatar
Jupstar ✪ 2024-08-07 09:31
but no serde is still not possible.. too many crates only use serde for serialization
Avatar
Avatar
MilkeeyCat
where did you lose all your time?
Jupstar ✪ 2024-08-07 09:32
in fixing bugs that aren't bugs
09:32
haters gonna hate
Avatar
Avatar
Jupstar ✪
in fixing bugs that aren't bugs
MilkeeyCat 2024-08-07 09:32
why fix features 😬
Avatar
Avatar
MilkeeyCat
why fix features 😬
Jupstar ✪ 2024-08-07 09:32
you understand me 😭
Avatar
Avatar
Jupstar ✪
bro i get baited hard
he is a master baiter afterall
Avatar
Avatar
TsFreddie
he is a master baiter afterall
Jupstar ✪ 2024-08-07 09:37
🫠
Avatar
Avatar
heinrich5991
we can add a remove finish endpoint as well I guess
i think it would be better to give communities control over this so that they can send the client their own finishes endpoint, API wouldn't ever change probably, just mapname and user name
09:45
worst case scenario a community goes rogue they get the ip address of the client, wouldn't really happen and if it does not a big deal
Avatar
Avatar
Arijan
i think it would be better to give communities control over this so that they can send the client their own finishes endpoint, API wouldn't ever change probably, just mapname and user name
heinrich5991 2024-08-07 09:45
the problem with this is that this would give communities the possibility to observe the client IP address or at least the client join time
09:45
I'd like to avoid that
Avatar
and they sell that data to zuckerberg? happy
Avatar
heinrich5991 2024-08-07 09:47
if they don't have the data, we don't have to worry about it
Avatar
Avatar
heinrich5991
I'd like to avoid that
We could go through DDNet server for that, similar to how we collect the new http master data
Avatar
heinrich5991 2024-08-07 09:48
then we still leak to everyone when a certain player opens their client
Avatar
everyone is not literal i think?
Avatar
heinrich5991 2024-08-07 09:49
everyone with a community set up. we haven't even talked with communities how they shoul handle player data
Avatar
he has a point, even only username without ip address is not good
Avatar
i always thought that we stopped pinging servers because some attackers are using that to track vaild IPs to spoof from?
Avatar
heinrich5991 2024-08-07 09:49
yes (edited)
09:50
but I'd like to leak as little player data as possible to third-party servers
09:51
as data minimization strategy
Avatar
honestly if dos is not a concern i don't see too many reasons to minimize data visibility to that extreme
Avatar
maybe just a warning modal if they try to enable it for a community? we can make it sound scary but opt-in
Avatar
heinrich5991 2024-08-07 09:52
warnings don't work
09:52
what is actionable there?
09:52
we can make it work without data leakage, so why not do it?
Avatar
it would all be centralized on ddnet servers, not optimal imo
Avatar
heinrich5991 2024-08-07 09:53
yes, that's a downside
Avatar
the communities provide the servers, may as well provide the finishes
Avatar
catxplosion i think a lot of people would agree the latency measuremen is already a downgrade bcsof that (edited)
Avatar
Avatar
heinrich5991
we can make it work without data leakage, so why not do it?
I guess the only proper worry would be that running ddnet will always require a central entity
Avatar
heinrich5991 2024-08-07 09:54
yes, it'd be a server like the masterserver
09:54
but the masterserver is easier to run
Avatar
Avatar
Learath2
I guess the only proper worry would be that running ddnet will always require a central entity
teeworlds has to have master running too so not that different there
Avatar
finishserver 😄
Avatar
vibe is he saying that he wants players to ping server for stats
Avatar
heinrich5991 2024-08-07 09:55
no
09:55
other way around. people ping the finishserver for new finishes that appeared in their community
Avatar
like a webhook from client?
Avatar
heinrich5991 2024-08-07 09:56
from the game server
Avatar
oh ok
Avatar
and you are saying we should just allow a json url to be set for a community to query that?
Avatar
Avatar
TsFreddie
and you are saying we should just allow a json url to be set for a community to query that?
no
09:57
We have the endpoint, communities ping us with finishes
09:57
We don't poll
Avatar
either ddnet provides endpoint for adding finishes for a community, or we allow communities to provide their own endpoint for querying from the client (edited)
Avatar
Avatar
Learath2
We have the endpoint, communities ping us with finishes
i don't follow
Avatar
Avatar
Arijan
either ddnet provides endpoint for adding finishes for a community, or we allow communities to provide their own endpoint for querying from the client (edited)
Yeah, these are the two options
Avatar
heinrich5991 2024-08-07 09:57
actually, I found another option
Avatar
it is for pushing finishes to ddnet database?
Avatar
Avatar
TsFreddie
it is for pushing finishes to ddnet database?
No, it's for showing finished flags in the serverbrowser
Avatar
cuz i don't see why communities couldn't implement their own finish json servers.
Avatar
Avatar
heinrich5991
actually, I found another option
DHT
Avatar
put them on the blockchain
Avatar
P2P finish network 😄
Avatar
heinrich5991 2024-08-07 09:58
we could make the game servers push a URL to download
09:58
this way, the finished flags will only update while you're on their servers
09:58
I guess that doesn't behave nicely wrt. nickname changes (edited)
Avatar
Nah, it'd feel weird and sluggish with no apparent reason
Avatar
justatest so why couldn't we just do what ddnet is doing but just allowing communities to do the same?
Avatar
heinrich5991 2024-08-07 09:59
without nickname changes, it'd always be up-to-date if you're not on a shared nickname
Avatar
Avatar
TsFreddie
justatest so why couldn't we just do what ddnet is doing but just allowing communities to do the same?
heinrich5991 2024-08-07 09:59
player data going to third parties
Avatar
Avatar
TsFreddie
justatest so why couldn't we just do what ddnet is doing but just allowing communities to do the same?
We can, but then clients would leak information to 3rd parties without joining their servers
Avatar
i don't think you would notice the sluggishness, you could just make it reset on username change but it's not a very robust solution
Avatar
Avatar
heinrich5991
without nickname changes, it'd always be up-to-date if you're not on a shared nickname
heinrich5991 2024-08-07 10:00
ah, and if you're only playing from one place. I guess it doesn't work nicely
Avatar
then proxy through ddnet's free cloudflare enterprisejustatest
Avatar
heinrich5991 2024-08-07 10:00
then we still leak when people open their clients
Avatar
Avatar
TsFreddie
then proxy through ddnet's free cloudflare enterprisejustatest
still leaks that a client has just come online
Avatar
i don't think a username only leak is that much
Avatar
heinrich5991 2024-08-07 10:01
fine, but I like to avoid leaking any player data
10:01
we have a solution that doesn't leak that part, so we shouldn't leak that part
Avatar
sounds too extreme for me tbh. besides, are we allowing anyone to communities without auditing or something
Avatar
heinrich5991 2024-08-07 10:02
we haven't audited anything for the communities
10:02
the only thing I proposed (open-sourceness) was rejected without notice
Avatar
username + time = personalized ads
Avatar
i think we should giveup
10:02
not that it would help other gamemodes
10:02
and if we trust kog then add one for kog and call it a day
Avatar
heinrich5991 2024-08-07 10:03
I don't wnat to give other people a special status here
👍 1
10:03
it'll lead to more people asking for a special status
Avatar
heinrich5991 2024-08-07 10:03
which will be granted, if I look at the history
Avatar
i vote for just don't do it
10:04
kek
Avatar
how about a manual update finishes button? with a warning and everything
Avatar
warning is useless
Avatar
why is warning useless
Avatar
we can't act on bad actors
Avatar
Avatar
TsFreddie
warning is useless
Avolicious 2024-08-07 10:05
But the user accepted the risk on his own behalf
Avatar
which is why heinrich is so hard on not leaking anything in the first place (edited)
Avatar
That was a discussion on Server redirection aswell, it's annoying and usually won't Stop users
Avatar
Avatar
TsFreddie
which is why heinrich is so hard on not leaking anything in the first place (edited)
Avolicious 2024-08-07 10:06
We are using not encrypted UDP communication 🤔
Avatar
Well I wouldn't be completely against, opt-in per community get finishes from community option
Avatar
Avatar
Avolicious
We are using not encrypted UDP communication 🤔
i'm not saying we shouldn't do it
10:07
i'm just saying it sounds like it is hard to get pass heinrich
Avatar
Avolicious 2024-08-07 10:07
But lets not talk about security/privacy-first approach, if the underlying protocol is insecure (edited)
Avatar
dumbduck the protocol is insecure only begins when you connect
Avatar
Avatar
Avolicious
But lets not talk about security/privacy-first approach, if the underlying protocol is insecure (edited)
Why is it? I'm thinking we'd be using https whichever direction this integration ends up being
Avatar
heinrich already made sure the client does not connect to anything other than ddnet without joining servers
Avatar
The insecure UDP thing happens after the user actually consents to connecting to a 3rd party
Avatar
if the user can click on a server and leak everything they have, they can read a warning connected to that same community i think
Avatar
Avatar
Learath2
The insecure UDP thing happens after the user actually consents to connecting to a 3rd party
Avolicious 2024-08-07 10:09
But if you display a warning then, its the same as consenting to connect
Avatar
Avatar
Arijan
if the user can click on a server and leak everything they have, they can read a warning connected to that same community i think
They need to double click actually 🤓
Avatar
alt + f4 twice
Avatar
Avatar
Arijan
if the user can click on a server and leak everything they have, they can read a warning connected to that same community i think
You only have the choice of pressing yes or not playing, which Sounds Like horrible practice for a small Community Like us :P
Avatar
Avatar
Avolicious
But if you display a warning then, its the same as consenting to connect
As I said, I'd be okay with a per community opt-in. @heinrich5991 would you be against this?
Avatar
the main problem is timing, if a user consents once it doesn't mean that they should be leaking info every time they open the community tab
10:10
i think that's what heinrich is afraid of
Avatar
heinrich5991 2024-08-07 10:11
I'm not sure why we should choose a less privacy-aware solution when we have a better one
Avatar
is there a summary of this conversation somewhere?
Avatar
heinrich5991 2024-08-07 10:11
so yes, I'm against opt-in when we can avoid the opt-in altogether
Avatar
yes, at the end of the day the ddnet endpoint is a decent solution
Avatar
Avatar
Arijan
the main problem is timing, if a user consents once it doesn't mean that they should be leaking info every time they open the community tab
I wouldn't take connecting to a community server as consent. But a "show finishes from kog: this will retrieve a list of your finishes from kog at client startup" is pretty much fine, that's what we have for the ddnet one
Avatar
Avatar
jxsl13
is there a summary of this conversation somewhere?
Redirect on Port on GitHub has similarities to this one, i'll Look it Up rq
Avatar
communities could save the info locally when they call your endpoint anyway if they want redundancy
Avatar
Avatar
heinrich5991
I'm not sure why we should choose a less privacy-aware solution when we have a better one
It's much less integration burden on the community owner side
10:12
And less code from our side too, no need to code up a new finishserver
Avatar
Avatar
Learath2
It's much less integration burden on the community owner side
heinrich5991 2024-08-07 10:12
I see. I'd say "less", not "much less" though, it's one API call per finish
Avatar
Avatar
Learath2
And less code from our side too, no need to code up a new finishserver
heinrich5991 2024-08-07 10:12
true. I'd say this could be done in a day. it's a server literally storing tuples 😄
Avatar
Avatar
heinrich5991
I see. I'd say "less", not "much less" though, it's one API call per finish
Yeah I guess
Avatar
Avatar
Learath2
And less code from our side too, no need to code up a new finishserver
Avolicious 2024-08-07 10:13
And less centralized to keep community sovereignty
Avatar
Avatar
Arijan
communities could save the info locally when they call your endpoint anyway if they want redundancy
honestly loss of data is a non-issue, every community already keeps its own data somewhere
10:13
they would just have to +1 loc
Avatar
heinrich5991 2024-08-07 10:13
I don't want sovereignity of the community to see player data when it's not a must
Avatar
Avatar
heinrich5991
true. I'd say this could be done in a day. it's a server literally storing tuples 😄
Ofc, just giving you my thought process. It technically should be trivial, just any kvstore and a single endpoint PUT /finishes/:community/:map/:player DELETE /finishes/:community/:map/:player (edited)
Avatar
heinrich5991 2024-08-07 10:15
:map
Avatar
Avolicious 2024-08-07 10:15
and GET, no?
Avatar
extra sausage for communities?
Avatar
Avatar
jxsl13
extra sausage for communities?
Avolicious 2024-08-07 10:16
Yes
Avatar
😦 no extra sausage
Avatar
Avatar
Avolicious
and GET, no?
Yeah I guess we can use http on our side too
Avatar
Avolicious 2024-08-07 10:16
but its then GET /finishes/:community/:player, no?
10:16
So we get a list of all finishes to iterate through and see what has to be deleted
Avatar
Hm actually I don't like my endpoints now, we need to query all finishes by player
10:16
We can work on the names 😄
Avatar
Avatar
Avolicious
but its then GET /finishes/:community/:player, no?
i think they have an optimized system already
Avatar
heinrich5991 2024-08-07 10:17
the client would probably continue to fethc finishes from https://info.ddnet.org/info as before
10:17
we already have support for it
Avatar
Avatar
heinrich5991
the client would probably continue to fethc finishes from https://info.ddnet.org/info as before
Yeah but we'd need to query this new service for the community finishes now. I was thinking that part
10:18
I guess just GET /finishes?:player (edited)
Avatar
heinrich5991 2024-08-07 10:18
yea. needs to be designed. but it's internal and doesn't any guarantees
10:18
could even be reading from the DB of hte server directly
Avatar
Yeah probably what we'd end up doing. Much easier
Avatar
yeah, good solution if you want to take on that extra processing
10:21
you would also have to provide api keys or something similar maybe
10:22
Extra sausage xd
Replying to @jxsl13 extra sausage for communities?
Avatar
Avatar
Arijan
you would also have to provide api keys or something similar maybe
Avolicious 2024-08-07 10:23
It adds some overhead to ddnet, but its doable. Only if the key gets lost or leaked, they have to assign a new one.
Avatar
it's not a very high-risk thing to happen anyway, can just reset and repush the finishes with a script (edited)
Avatar
Avolicious 2024-08-07 10:24
Exactly. But if we introduce authentication for communities, we can link it with pushing server info as well
10:24
Like adding or removing a server from the community server list
Avatar
I remember someone was going to write a very naive reference antibot module, did that ever come to pass?
Avatar
Avatar
Arijan
you would also have to provide api keys or something similar maybe
I always wanted to give communities either a certificate or a static key so that we can let them update their own server lists
10:26
I'm also not the biggest fan of how the community feature ended up tbf, very manual and strict. I imagined a world where anyone could group together their servers
Avatar
Avatar
Learath2
I'm also not the biggest fan of how the community feature ended up tbf, very manual and strict. I imagined a world where anyone could group together their servers
Avolicious 2024-08-07 10:26
You can do, but you need a chain of trust
Avatar
you could just let users import communities themselves from a json file
10:27
or just an ip address
Avatar
Avatar
Arijan
you could just let users import communities themselves from a json file
Avolicious 2024-08-07 10:27
Please dont xD This will be a big mess
Avatar
well you could have "add community" button -> enter "kog.tw/add"
Avatar
Avatar
Avolicious
You can do, but you need a chain of trust
I really didn't want "community" to imply any trust. I just imagined it as a group of servers hosted by a single person. In that model you could just send us a secret token within the serverinfo that would be hashed on the masterserver, all servers with the same hash would be grouped together
10:28
We could further bolt on certificates and stuff too to mark "trusted" communities and things like that, but eh whatever. It's just what could have been
Avatar
Avolicious 2024-08-07 10:29
But communities should imply trust, no? Why should a community form if they dont trust each other
Avatar
heinrich5991 2024-08-07 10:30
currently, communities don't imply trust
Avatar
MilkeeyCat 2024-08-07 10:30
chillerdragon: I'm 200% more productive now xddd
Avatar
That’s trust within the community. That you maintain by hiding your secret token. I meant trust from us the ddnet developers
10:31
Currently there is a bar to entry that isn’t very explicit. You must have many servers is almost the only thing and even that we broke because users and fokkonaut felt “community” implies “trust”/“endorsement”
Avatar
Avatar
Learath2
That’s trust within the community. That you maintain by hiding your secret token. I meant trust from us the ddnet developers
Avolicious 2024-08-07 10:31
But I am a ddnet developer and I trust myself 😄
Avatar
Avatar
Learath2
Currently there is a bar to entry that isn’t very explicit. You must have many servers is almost the only thing and even that we broke because users and fokkonaut felt “community” implies “trust”/“endorsement”
Avolicious 2024-08-07 10:32
Same with Blockworlds, no?
Avatar
It’s also a very manual process, you need to give us a list of servers. That we just post verbatim. I feel this could have been extremely hands off, just a simple token that groups together servers and maybe some extra info object on the master server where you could get the community metadata
Avatar
heinrich5991 2024-08-07 10:34
deen was against that because not all servers support the https master
10:34
but maybe we can still implement it for all servers that do
Avatar
Avatar
Avolicious
Same with Blockworlds, no?
Could be. I don’t remember how many servers they have
10:35
The community order on the list of communities also became a pissing contest of sorts. Just overall, very much not what I had in mind 😄
Avatar
Avatar
Learath2
Could be. I don’t remember how many servers they have
Avolicious 2024-08-07 10:36
1
Avatar
Jupstar ✪ 2024-08-07 10:36
i remember the vanilla times where all servers had a prefix like ! FNG just to be first in the server browser xD
Avatar
Avatar
Jupstar ✪
i remember the vanilla times where all servers had a prefix like ! FNG just to be first in the server browser xD
MilkeeyCat 2024-08-07 10:37
that's what people do now in discord
Avatar
Avatar
heinrich5991
but maybe we can still implement it for all servers that do
Eh could be thought about. Not urgent anymore since we have something that kinda does work
Avatar
This dude at work has taken a ticket that's blocking 4 other tickets. Spent a couple days on it, handed it over today before going on vacation. He said "it's unfinished". It's just boilerplate, there is no logic at all
10:49
FrierenDies
Avatar
MilkeeyCat 2024-08-07 10:51
@Learath2 everything didn't work because i was calculating offset for local variables incorrectly kek
Avatar
Avatar
MilkeeyCat
@Learath2 everything didn't work because i was calculating offset for local variables incorrectly kek
Yeah, that makes sense
Avatar
MilkeeyCat 2024-08-07 10:51
i have no idea how that code even worked before xd
Avatar
If you consistently put everything in the wrong place, it's the correct place
Avatar
Avatar
Learath2
This dude at work has taken a ticket that's blocking 4 other tickets. Spent a couple days on it, handed it over today before going on vacation. He said "it's unfinished". It's just boilerplate, there is no logic at all
fuckyousnail
Avatar
Avatar
Ryozuki
fuckyousnail
And instead of handing it over to me, he handed it over to a very incompetent dude. One more part of the code ruined forever pepeW
10:55
I have to stay on it and review bombard his PR before it gets merged
Avatar
MilkeeyCat 2024-08-07 10:55
ah, i was using u8 in tests, so they were never overwritten oop (edited)
Avatar
Jupstar ✪ 2024-08-07 11:06
does any1 know where exactly ddnet copied the SourceHanSans from? Like where did it download it? xd
Avatar
Avatar
Learath2
They need to double click actually 🤓
Or get unlucky and have your right click alone connect you when you don't want to join the server feelsbadman stupid bug (edited)
Avatar
Avatar
Jupstar ✪
does any1 know where exactly ddnet copied the SourceHanSans from? Like where did it download it? xd
No idea, check the blame and ask that person directly I guess
Avatar
ws-client BOT 2024-08-07 11:09
<ChillerDragon> xd @MilkeeyCat
Avatar
Ah, seems you can join servers with right click now in general justatest
11:12
I hate it
Avatar
Avatar
zhn
but hes back
Jupstar ✪ 2024-08-07 11:17
but where
Avatar
The only way to look at servers without accidentally joining them is with arrows now? (Right click would make you connect sometimes with 1 click due to a bug, but it was still nice to have) feelsbadman
Avatar
Avatar
Skeith
Ah, seems you can join servers with right click now in general justatest
Jupstar ✪ 2024-08-07 11:23
was that ever not the case?
Avatar
Yes, since forever, it's a recent change
11:24
Double right click wouldn't connect you
Avatar
Jupstar ✪ 2024-08-07 11:24
maybe bcs of android 😬
Avatar
cant u just left click?
Avatar
Yes, but the point is that double clicks are easy to do on accident
11:25
And double right click now makes you connect as well
Avatar
i suggest a better mouse if double clicks are easy to do accidentally
Avatar
Idk, it's been this way since 2007, so I'd prefer if it was fixed
Avatar
better add accessibility tab and have double click time sensitivity slider
Avatar
heinrich5991 2024-08-07 11:27
kek 1
Avatar
Jupstar ✪ 2024-08-07 11:27
but i must admit double right click is not really common in UIs
11:27
i wonder why it was added
Avatar
right click to select isn't common either 😅
Avatar
How do you accidentally double click?
11:28
One click, fine but twice?
Avatar
Habit
Avatar
Jupstar ✪ 2024-08-07 11:29
Gores elite players do that
11:29
right click is key
Avatar
Skeith is a filthy casual though
Avatar
Jupstar ✪ 2024-08-07 11:30
wow that was personal
Avatar
And when human error means I leak my IP, you should protect me, I want a safe way to click, right click was the safe way to click
11:30
Well, semi safe, as I stated before, it would still sometimes connect you (edited)
11:31
with 1 click
Avatar
Do you accidentally double click the left click too? 👀
Avatar
I'm paranoid so I don't even press it when looking at the browser, unless I 100% want to connect
Avatar
Jupstar ✪ 2024-08-07 11:33
Skeith is one of these ppl that doesn't have a q kill bind
Avatar
I don't like accidentally joining servers that I'm just looking at to see who's in them
Avatar
Jupstar ✪ 2024-08-07 11:33
bcs fat fingers xd
Avatar
I have it bound to Z actually, I just have another bind to turn it off
Avatar
heinrich5991 2024-08-07 11:34
q kill bind all day :p
Avatar
People seem to use the ESC menu to kill nowadays
Avatar
Q is my dummy swap
Avatar
Avatar
murpi
People seem to use the ESC menu to kill nowadays
Jupstar ✪ 2024-08-07 11:35
ikr, wtf we have to make binds more discoverable
Avatar
i feel like u need that razer mouse with 12 buttons to play dummy efficiently
Avatar
Avatar
Jupstar ✪
ikr, wtf we have to make binds more discoverable
We need to make the console less discoverable and have the useful settings in our menus instead
Avatar
heinrich5991 2024-08-07 11:37
we also have some less useful settings in the menus
Avatar
Should rework all of the menus in general, vote menu etc
Avatar
heinrich5991 2024-08-07 11:37
someone would need to go over the settings and decide which settings to include there
Avatar
I.e why do we have separate sliders for client refresh rate and graphics refresh rate, and why are they located in entirely different tabs? (edited)
Avatar
Avatar
murpi
People seem to use the ESC menu to kill nowadays
ye, in 2011 you could see people rejoining instead kek
Avatar
I've seen a few people do that less than a year ago...
Avatar
Yeah, people still do that
Avatar
MilkeeyCat 2024-08-07 11:42
show somewhere a client feature when you are joining a server, like when discord is loading
Avatar
will help with ~1% of such players
Avatar
Jupstar ✪ 2024-08-07 11:44
we need insta tooltips, then kill could explain itself that it is bindable xd
Avatar
ws-client BOT 2024-08-07 11:45
<ChillerDragon> q kill bind is suicidal
Avatar
Jupstar ✪ 2024-08-07 11:45
i played gores all my life with q kill
💀 1
Avatar
ws-client BOT 2024-08-07 11:45
<ChillerDragon> woah
Avatar
Jupstar ✪ 2024-08-07 11:45
i think i only hit it accidentially twice
Avatar
ws-client BOT 2024-08-07 11:45
<ChillerDragon> i do f1 "kill"
Avatar
Jupstar ✪ 2024-08-07 11:45
lmao
Avatar
ws-client BOT 2024-08-07 11:45
<ChillerDragon> jk
11:46
<ChillerDragon> "k" all the way
Avatar
heinrich5991 2024-08-07 11:46
I've not hit my q kill bind accidentally in years
Avatar
MilkeeyCat 2024-08-07 11:46
i have unbound f3 because i voted f3 one time accidentally after playing solo map for a few hours
Avatar
ws-client BOT 2024-08-07 11:46
<ChillerDragon> @heinrich5991 maybe you need to play more then :p
lol 1
Avatar
Jupstar ✪ 2024-08-07 11:46
chiller it sounds scarier than it is
Avatar
ws-client BOT 2024-08-07 11:47
<ChillerDragon> q?
Avatar
Ya, it helps when you don't play much
Avatar
Avatar
MilkeeyCat
i have unbound f3 because i voted f3 one time accidentally after playing solo map for a few hours
Jupstar ✪ 2024-08-07 11:47
no need. all ppl always vote f3, no matter the vote
Avatar
heinrich5991 2024-08-07 11:47
it's in a very convenient place
Avatar
ws-client BOT 2024-08-07 11:47
<ChillerDragon> ye so it shouldnt be kill
11:47
<ChillerDragon> selfkill should not be convienient in ddrace
Avatar
Avatar
Skeith
Ya, it helps when you don't play much
Jupstar ✪ 2024-08-07 11:47
i have at least 10k h with q kill
🤏 1
Avatar
ws-client BOT 2024-08-07 11:47
<ChillerDragon> in race maybe
11:48
<ChillerDragon> I am the dude that requested kill protection to become a feature xd
Avatar
Avatar
Jupstar ✪
Skeith is one of these ppl that doesn't have a q kill bind
I can't have q kill, I always had spec on q. I'd randomly kill myself all the time
Avatar
ws-client BOT 2024-08-07 11:48
<ChillerDragon> I am scared of dieing
Avatar
I was mostly talking to hein
Avatar
Jupstar ✪ 2024-08-07 11:48
now comes chiller with awesome new features xD
Avatar
ws-client BOT 2024-08-07 11:48
<ChillerDragon> q is show chat obviously
Avatar
Jupstar ✪ 2024-08-07 11:48
in t0 kill is disallowed
11:49
it harms t0 gameplay
Avatar
ws-client BOT 2024-08-07 11:49
<ChillerDragon> indeed
Avatar
Jupstar ✪ 2024-08-07 11:49
disconnect is also disallowed
11:49
if u start play, u finish
Avatar
ws-client BOT 2024-08-07 11:49
<ChillerDragon> sounds good
Avatar
I'm never getting the security of my right click back am I 🥹 (going through stages of grief right now)
Avatar
ws-client BOT 2024-08-07 11:49
<ChillerDragon> thats the spirit
11:49
<ChillerDragon> @Jupstar ✪ if you get frozen you connect dummy
Avatar
Avatar
Skeith
I'm never getting the security of my right click back am I 🥹 (going through stages of grief right now)
Jupstar ✪ 2024-08-07 11:49
find however added it
11:49
and ask him why he added it
Avatar
Avatar
ws-client
<ChillerDragon> @Jupstar ✪ if you get frozen you connect dummy
Jupstar ✪ 2024-08-07 11:50
that sounds like the t0 spirit anyway xd
Avatar
ws-client BOT 2024-08-07 11:50
<ChillerDragon> if dummy froze
11:50
<ChillerDragon> 2nd client
11:50
<ChillerDragon> if 2nd client froze
Avatar
Jupstar ✪ 2024-08-07 11:50
dummy drive network
Avatar
ws-client BOT 2024-08-07 11:50
<ChillerDragon> vpn
11:50
<ChillerDragon> xd good one
Avatar
Avatar
Jupstar ✪
find however added it
I don't even know how I'd find this
Avatar
Avatar
Skeith
I don't even know how I'd find this
Jupstar ✪ 2024-08-07 11:53
search on github
11:53
or in other words
11:53
ping robyte, bcs he is only contributor
11:53
😬
Avatar
Ya I might've seen something about it by Robyt awhile ago but I didn't bother to look at it properly
Avatar
Avatar
Jupstar ✪
we need insta tooltips, then kill could explain itself that it is bindable xd
The controls menu already includes it, so we just need to ensure people actually go through the settings menu at some point
Avatar
Avatar
murpi
The controls menu already includes it, so we just need to ensure people actually go through the settings menu at some point
Jupstar ✪ 2024-08-07 11:57
yeah but that apparently doesnt happen
Avatar
Avatar
Skeith
Ah, seems you can join servers with right click now in general justatest
@Robyt3 Was it you 🧑🌾 (did you change right click behavior in the browser? Double clicking right click now connects you to a server, it never used to do this) (edited)
Avatar
(A very good way to make people go into the settings is to blast peoples ears with annoying main menu soundtracks and intro's as loud as possible greenthing )
Avatar
Jupstar ✪ 2024-08-07 11:57
good idea
11:58
i like that
Avatar
Avatar
murpi
(A very good way to make people go into the settings is to blast peoples ears with annoying main menu soundtracks and intro's as loud as possible greenthing )
100%
11:58
what about setting binds settings page as first before joining tutorial btw?
Avatar
Avatar
murpi
(A very good way to make people go into the settings is to blast peoples ears with annoying main menu soundtracks and intro's as loud as possible greenthing )
How Dare you call Our Soundtrack annoying, i listen to the 10 hour Version every 11 hours!
Avatar
Or add an easy softlock to the tutorial where people have to kill
Avatar
hey meloni
Avatar
Hey gärduh
Avatar
Avatar
meloƞ
How Dare you call Our Soundtrack annoying, i listen to the 10 hour Version every 11 hours!
I haven't listened to it in years 😄
12:01
I only have hammer and hook sounds enabled
Avatar
Avatar
murpi
I only have hammer and hook sounds enabled
I have those disabled kek
Avatar
the soundtrack is iconic but i also have it muted
Avatar
uses a very specific command on noby's server to play said music at a specific location
12:02
For non troll reasons ofc
Avatar
noby server more like noisy server
Avatar
Avatar
Skeith
uses a very specific command on noby's server to play said music at a specific location
i thought noby disabled earrape
Avatar
Where IS noby anyway, He randomly spawns without warning
Avatar
i couldn't get it to work for some reason xd
Avatar
Ya I just tried, you're right
Avatar
Avatar
meloƞ
Where IS noby anyway, He randomly spawns without warning
working
Avatar
It's rng if earrape is enabled
Avatar
Avatar
TsFreddie
working
weeding
Avatar
dude got a job
Avatar
Avatar
zhn
i couldn't get it to work for some reason xd
Have reitw Scream at people
Avatar
Avatar
louis
the soundtrack is iconic but i also have it muted
z team pack 4 soundtrack fires ngl
Avatar
idk what z team pack 4 is
Avatar
Avatar
louis
idk what z team pack 4 is
oh no
12:11
[CLIENT] Teeworlds Z-Team Pack 4 beta 1 (Page 1) — Modifications — Teeworlds Forum — Everything Teeworlds!
12:12
i want to hear xd
Avatar
ye wait, all links are dead
12:15
found this one though
12:15
Links & Source information about Z-Team Clients. Teeworlds. - Z-team client info.txt
12:16
Teeworlds Z-Team Pack. Contribute to gerich-home/zteeworlds development by creating an account on GitHub.
Avatar
Jupstar ✪ 2024-08-07 12:17
lmao, nice but 8bit doesnt fit teeworlds i guess 😄
12:17
the fng capture sound is nice
12:17
nice beat xd
12:18
i think we should all put our money together and buy nintendo and then steal their soundtracks. They are kid friendly and epyc xdd
Avatar
how does it even work though
12:18
for tw it would be nice to have soundtracks that play randomly like minecraft
12:18
not just main menu music
Avatar
ye id like to have random soundtracks play while i tryhard on gctf troll
Avatar
Jupstar ✪ 2024-08-07 12:19
when louis enters server it must play boss music
Avatar
it should spawn nouis and spam with link to biggernouis
12:21
justatest
Avatar
solve the captacha to enter boss fight
12:31
Listening to teeworlds menu music Where's the ctf on the browser
Avatar
Avatar
Mr.Gh0s7
Listening to teeworlds menu music Where's the ctf on the browser
wdym, web teeworlds?
Avatar
I mean ctf servers on the ddnet browser (it was rhetorical like "I am feeling nostalgic and I want to join a 8/16 ctf server") :)
Avatar
Avatar
rutujek
okay i go doing server when i will have problem i will text you
ummm i have problem, bc i cant create account at hetzner
13:00
i dont have paypal
13:01
do you have other website with google pay or something?
Avatar
heinrich5991 2024-08-07 13:02
do you have a bank account in europe? SEPA would work for that
13:02
(with hetzner)
Avatar
Avatar
heinrich5991
do you have a bank account in europe? SEPA would work for that
i have bank account in europe but I can't make transfers, I will only be able to do it in 1 week because I blocked my card
Avatar
Avolicious 2024-08-07 13:07
You can pay with Paypal too
Avatar
Avatar
rutujek
i dont have paypal
^ xD
Avatar
Avolicious 2024-08-07 13:08
You can use the debit function as well
13:08
Hetzner offers a lot of different payment solutions
Avatar
Avatar
Skeith
@Robyt3 Was it you 🧑🌾 (did you change right click behavior in the browser? Double clicking right click now connects you to a server, it never used to do this) (edited)
Was probably an oversight when refactoring the double-click handling to be aware of UI elements, can fix it later
👍 1
Avatar
Thanks
Avatar
yeah, likely from there according to my browser history. I last updated all fonts in #6952
Avatar
Add fonts/index.json which specifies: List of all font files that should be loaded (filenames). Default font (specified by family name or by family and style name). Font variants for different lan...
Avatar
Avatar
Robyt3
yeah, likely from there according to my browser history. I last updated all fonts in #6952
Jupstar ✪ 2024-08-07 13:38
👌
Avatar
onbgy we summon you
13:42
👻
Avatar
whos onbgy
Avatar
heinrich5991 2024-08-07 13:43
noby
Avatar
fng onbgy
Avatar
fng sux ReiTroll
Avatar
Avatar
ReiTW
fng sux ReiTroll
@heinrich5991 ban !!!
13:43
xdxdxd
Avatar
big troll, noby knows
Avatar
Avatar
ReiTW
big troll, noby knows
Avolicious 2024-08-07 13:44
fake news
issou 2
Avatar
Avatar
ReiTW
big troll, noby knows
ik, heinrich knows why i say this
13:45
xd
Avatar
noby and his C code
13:52
justatest
Avatar
Avatar
Learath2
Currently there is a bar to entry that isn’t very explicit. You must have many servers is almost the only thing and even that we broke because users and fokkonaut felt “community” implies “trust”/“endorsement”
Lol, BW had a community way before me. Not my fault tbh. They also only have 1-2 real servers, that other one is a shop and the other one is not visited at all.
14:05
It's just that from the beginning on @Avolicious was kind enough to add me to KoG tab in order to protect my server from being faked and copied for IP grabbing etc. This was (for me) one of the main reasons to add something like a community tab.
14:05
And since that wasn't the way to go, it was very much needed to have another solution to a problem like that
14:06
And there's no reason to add a minimum amount of servers required for it to be a community.
Avatar
#8407
Avatar
Fokkonaut described the function of the community tab as a way to: Authenticate yourself - having a logo provided by the maintainer (DDNet) themselves Utilize the seperate filter a community offers...
Avatar
Feel free to begin gigachad
Avatar
Yea, but all of that was after it had been implemented already
14:06
I don't know why stuff doesnt seem to be discussed beforehand anymore
Avatar
Avatar
fokkonaut
And there's no reason to add a minimum amount of servers required for it to be a community.
heinrich5991 2024-08-07 14:06
you truly cannot imagine a single reason for a minimum amount of serveres?
Avatar
Avatar
fokkonaut
I don't know why stuff doesnt seem to be discussed beforehand anymore
heinrich5991 2024-08-07 14:06
stuff was discussed beforehand
Avatar
I mean, measuring it based on my server for example, it has more players on one single server than BW has on all of their servers together often times
14:07
So, my argument was I could easily host more empty servers just for the sake of hosting them
14:07
Which is dumb, the community is still there
14:08
And shouldn't be measured on "yea this guy has like 100 servers running, big big community"
14:08
That's not really a community, if there would he no players
Avatar
heinrich5991 2024-08-07 14:08
it seems like you're against the rule, but that's different from "there's no reason for…"
Avatar
Please
14:09
I just explained my view on that
Avatar
heinrich5991 2024-08-07 14:09
you gave reasons against the rule
Avatar
A community != many servers
14:09
is my point
Avatar
heinrich5991 2024-08-07 14:09
that's great. apparently you wanted to say "I see many points in favor of allowing single-server communities"
14:09
and not "there's no reason for disallowing signle-server communities"
Avatar
Okay whatever, you got my point and I'm not 100% fluid in english. Don't take it too literal when you know exactly what I mean
14:10
(happens too often)
Avatar
heinrich5991 2024-08-07 14:10
I did not know what you meant before you elaborated (edited)
Avatar
Ok
14:11
But you answered before you read
14:11
So
14:11
It's whatever
14:12
The reason why all of this is my POV is because initially we had the checkmark on KoG/DDNet servers, which in fact "verified" a trustful server, which got replaced by community tab, implying a community might be safer to join than a normal server
Avatar
heinrich5991 2024-08-07 14:12
we should try to work agains that somehow
Avatar
Yes
Avatar
heinrich5991 2024-08-07 14:12
perhaps we could give special treatment to the non-community servers
14:13
so that they get some more visibility
Avatar
What would that change? Broadcasting potentionally harmful servers again so faking (e.g. my server) would be easier again?
14:14
We have to think of it from all perspectives,
Avatar
heinrich5991 2024-08-07 14:14
it'd give people less of a feeling that "community" servers are "trusted"
14:14
which is not the intention right now
Avatar
Avatar
fokkonaut
A community != many servers
That's how it was initially designed, which is why you were very mad at us for months
Avatar
Avolicious 2024-08-07 14:14
But in fact they are. Would you count DDNet as untrusted server?
Avatar
Avatar
Avolicious
But in fact they are. Would you count DDNet as untrusted server?
heinrich5991 2024-08-07 14:15
we try to not give special treatment to ddnet gameservers, yes
Avatar
Avatar
Learath2
That's how it was initially designed, which is why you were very mad at us for months
I wasnt mad, I just stated why I think that whole thing wasnt thought through, and if i would've been active during the time of discussion, I would for sure have mentioned the same points
Avatar
Avatar
heinrich5991
we try to not give special treatment to ddnet gameservers, yes
Avolicious 2024-08-07 14:15
But you do
Avatar
But it doesnt seem to matter, as things I say only seem to be talked down upo
Avatar
Avatar
Avolicious
But you do
heinrich5991 2024-08-07 14:15
can you give an example of what you're thinking of?
Avatar
Same like the freeze star indicator thing
14:15
I made a vote, majority was for an option
14:15
Still nothing
Avatar
A community was literally supposed to be a "a grouping of servers hosted by a single entity". So your assertion becomes A grouping of servers hosted by a single entity != many server which is why the thing you asked for sounded so absurd to us
Avatar
Avatar
heinrich5991
can you give an example of what you're thinking of?
Avolicious 2024-08-07 14:16
Defaults to DDNet Tutorial servers
Avatar
Avatar
Learath2
A community was literally supposed to be a "a grouping of servers hosted by a single entity". So your assertion becomes A grouping of servers hosted by a single entity != many server which is why the thing you asked for sounded so absurd to us
Ok, then the term community per definition is wrong here
Avatar
Avatar
Avolicious
Defaults to DDNet Tutorial servers
it is the DDNet Client after all, which is more than okay imho
Avatar
Avatar
meloƞ
it is the DDNet Client after all, which is more than okay imho
Avolicious 2024-08-07 14:16
we try to not give special treatment to ddnet gameservers, yes
Avatar
Avatar
fokkonaut
I made a vote, majority was for an option
heinrich5991 2024-08-07 14:16
that's kinda irrelevant. if someone makes a vote to delist fokkonaut's server, we shouldn't do it, just because there's a majority in favor of it (on some random medium)
Avatar
Avolicious 2024-08-07 14:16
Then this statement is not correct.
Avatar
Avatar
heinrich5991
that's kinda irrelevant. if someone makes a vote to delist fokkonaut's server, we shouldn't do it, just because there's a majority in favor of it (on some random medium)
But this impacts literally everyone using the client.
14:17
You compare 2 different things
Avatar
Avolicious 2024-08-07 14:17
I dont mind if they default to DDNet Tutorial servers if its "their" client, but the statement is not correct
Avatar
whataboutism, basically
Avatar
Avatar
fokkonaut
But this impacts literally everyone using the client.
So does delisting fokkonaut servers tbf, so this isn't really the difference between the two
Avatar
Avatar
Learath2
So does delisting fokkonaut servers tbf, so this isn't really the difference between the two
No
14:18
whatever man :D
Avatar
If we delist it, anyone using the ddnet client wouldn't be able to see your servers. Thus impacting everyone using the ddnet client, no?
Avatar
heinrich5991 2024-08-07 14:18
whataboutism, basically
throwing labels at people isn't a good discussion strategy
(edited)
Avatar
And your strategy of discussing is not focussing on the essential
Avatar
Avatar
Avolicious
Then this statement is not correct.
i think the meaning of "special treatment" differs from person to person, but i see your point now, thinking about it :P
Avatar
Neither helpful aswell
Avatar
Avolicious 2024-08-07 14:19
Its all about the user experience, so communities add a lot for the playerbase
Avatar
Very frustrating, actually and makes it difficult to even argue in the first place
14:19
Ddnet maintainers seem to be pushing their personal opinion on things too much, without leaving room for others
Avatar
Anyway, why are we relitigating this? At some point I assume deen got bored of people messaging him about becoming a community with a single server. So he just added blockworlds, then using that precedent we added yours too. Now I guess single servers are also fine
Avatar
(see chillers broadcast attenpt(
14:19
attempt)*
Avatar
Avatar
Learath2
Anyway, why are we relitigating this? At some point I assume deen got bored of people messaging him about becoming a community with a single server. So he just added blockworlds, then using that precedent we added yours too. Now I guess single servers are also fine
Avolicious 2024-08-07 14:19
I would do it like discord does
14:20
use status.tw and check their avg. playerbase
Avatar
Avatar
fokkonaut
Ddnet maintainers seem to be pushing their personal opinion on things too much, without leaving room for others
I mean that's the point of having maintainers. We aren't here to just merge everything everyone makes
Avatar
Avolicious 2024-08-07 14:20
If this is above a threshold, they can open a ticket & get "the" approval
Avatar
See oy for example, he lets a community driven game be community driven
Avatar
Avatar
fokkonaut
Ddnet maintainers seem to be pushing their personal opinion on things too much, without leaving room for others
Jupstar ✪ 2024-08-07 14:20
that isnt a ddnet maintainer problem, that is a maintaining problem. our code base just gets bigger with useless features. tomorrow chiller rq and we have some feature nobody uses
Avatar
(e.g. majority wants smth)
Avatar
Avatar
fokkonaut
See oy for example, he lets a community driven game be community driven
heinrich5991 2024-08-07 14:20
LOL
Avatar
Avatar
fokkonaut
See oy for example, he lets a community driven game be community driven
LOL
Avatar
Jupstar ✪ 2024-08-07 14:20
xDDDDDDDDDDDD
Avatar
Besides hes not active
Avatar
Avatar
fokkonaut
See oy for example, he lets a community driven game be community driven
justatest
Avatar
wontfix
Avatar
but when hes active
Avatar
Jupstar ✪ 2024-08-07 14:21
not even then xD
Avatar
heinrich5991 2024-08-07 14:21
this is just straight up untrue
14:21
ddnet is much more open to contributions than teeworlds is
Avatar
I see more stuff going througu vanilla than ddnet when its about stuff like that (see broadcast)
Avatar
heinrich5991 2024-08-07 14:21
I've contributed to both projects
Avatar
I have, not once in more than a decade being involved in teeworlds development, ever seen oy take a vote on anything (edited)
Avatar
Avolicious 2024-08-07 14:21
Why is status.tw broken?
Avatar
Even when he was active
Avatar
Avatar
Avolicious
Why is status.tw broken?
heinrich5991 2024-08-07 14:21
broken in what way? you can ask on their discord
Avatar
Anyways
Avatar
Avatar
heinrich5991
broken in what way? you can ask on their discord
Avolicious 2024-08-07 14:22
Avatar
heinrich5991 2024-08-07 14:22
not empty for me
Avatar
Avolicious 2024-08-07 14:22
Mhmm
Avatar
heinrich5991 2024-08-07 14:22
now empty for me 😮
Avatar
Avatar
heinrich5991
not empty for me
Cache
Avatar
Showing 0 to 0 of 0 entries
14:22
:P
Avatar
Avatar
fokkonaut
I mean, measuring it based on my server for example, it has more players on one single server than BW has on all of their servers together often times
HappyCursed
Avatar
No offense
14:23
objectively seen
Avatar
none were taken
Avatar
Avatar
Nouaa
none were taken
(as long as everyone knows that we don't allow dummies)
Avatar
hidden offense?
Avatar
Avatar
Avolicious
Why is status.tw broken?
heinrich5991 2024-08-07 14:24
Invite to join a server
Avatar
Avatar
fokkonaut
(see chillers broadcast attenpt(
Would you be happy if another version of the same feature made it in? I have a feeling you are more annoyed that we didn't really like this specific format for colored broadcasts rather than the feature not making it in
Avatar
nah xd
KEKW 1
Avatar
I did not know discord used that symbol for community servers now
Avatar
Avolicious 2024-08-07 14:25
Thanks. Urgh 10 minutes dono-walled 😄
Avatar
Avatar
Learath2
Would you be happy if another version of the same feature made it in? I have a feeling you are more annoyed that we didn't really like this specific format for colored broadcasts rather than the feature not making it in
I'm on chillers side about this
Avatar
Avatar
fokkonaut
I'm on chillers side about this
That is obvious. I'm just curious whether you want the feature or chillers version of the feature
Avatar
Avatar
Learath2
I did not know discord used that symbol for community servers now
heinrich5991 2024-08-07 14:25
screenshot? the logo is just the letters "t.d" for me
Avatar
Jupstar ✪ 2024-08-07 14:25
The fact that you have to use broadcasts instead a the feature you actually want, shows that you are just adding a workaround
Avatar
I want a good balance, which seems to be achieved the best by 0.7 format, yes. Potentionally we could use HEX ^rgb, then we'd have the same spectrum of colors
Avatar
Avatar
heinrich5991
screenshot? the logo is just the letters "t.d" for me
The home thing
Avatar
would just not be compatible with 0.7 without translating them
Avatar
Avatar
fokkonaut
I want a good balance, which seems to be achieved the best by 0.7 format, yes. Potentionally we could use HEX ^rgb, then we'd have the same spectrum of colors
I would probably be okay with the ^.....^ version with a sequence terminator. Dunno about @heinrich5991 though, he didn't reply to my message here 😄
Avatar
Anyways im not here to discuss that rn, that's chillers thing and this is distracting rn :D
Avatar
Jupstar ✪ 2024-08-07 14:27
ANSI escape sequences are a standard for in-band signaling to control cursor location, color, font styling, and other options on video text terminals and terminal emulators. Certain sequences of bytes, most starting with an ASCII escape character and a bracket character, are embedded into text. The terminal interprets these sequences as command...
Avatar
Yeah, what are we discussing now anyway? You have your community, no?
Avatar
It's not about that LOL
Avatar
This is not typeable by hand easily. I also proposed this
14:28
Are we discussing the fact that we are doing fascism?
Avatar
Avatar
Learath2
Yeah, what are we discussing now anyway? You have your community, no?
And dont treat me like that, please. I'm not a child which you can ""give what he wants so he shuts up""
14:28
missing the entire point
Avatar
Avatar
fokkonaut
I mean, measuring it based on my server for example, it has more players on one single server than BW has on all of their servers together often times
i mean we can enable dummy on our server and probably triple ur player numbers idk what this is
Avatar
Avatar
painn
i mean we can enable dummy on our server and probably triple ur player numbers idk what this is
missing the point
14:29
no need to feel offended on this
14:29
I just took BW as an example of another small community with de-facto 1-2 sevrers
Avatar
heinrich5991 2024-08-07 14:29
no need to feel offended on this
drop this
Avatar
Avatar
fokkonaut
And dont treat me like that, please. I'm not a child which you can ""give what he wants so he shuts up""
Well it's not a child thing. People want things, they usually are happy when they get them. Then there is usually no reason to discuss it further
Avatar
heinrich5991 2024-08-07 14:29
this just offends people
Avatar
nah it just feels weird flexing ur 4ips/server thing
Avatar
omg
Avatar
heinrich5991 2024-08-07 14:30
discuss moderation in DMs
Avatar
deletorich
14:30
anyways, bb for now
14:30
xd
14:30
this is useless
Avatar
Jupstar ✪ 2024-08-07 14:30
@fokkonaut cya later aligator
Avatar
cya fokko!
Avatar
in a while crocodile 🐊
Avatar
I'll actually go back and read the entire thing again because I did not even understand what the issue was here
Avatar
Avatar
Learath2
I'll actually go back and read the entire thing again because I did not even understand what the issue was here
(yeah that happens when not focussing on a specific thing)
Avatar
i just got linked here cus fokko made stupid comparision
Avatar
who said it was noua lmao
Avatar
Avatar
Learath2
I'll actually go back and read the entire thing again because I did not even understand what the issue was here
Avolicious 2024-08-07 14:32
Initially community requirements were based on server count. Now less-sized servers are communities as well because they asked for it, which is imho fine if the there is an higher avg. playerbase on it than 0 (edited)
Avatar
CH_PepeCryingSoWhat didn't do anything
Avatar
heinrich5991 2024-08-07 14:32
timed out @fokkonaut for deliberately not following the rules. if anyone wants to discuss this, they're welcome in my DMs
justatest 1
14:32
(after being told twice)
Avatar
Avatar
Avolicious
Initially community requirements were based on server count. Now less-sized servers are communities as well because they asked for it, which is imho fine if the there is an higher avg. playerbase on it than 0 (edited)
Exactly, but I don't get what we are discussing here. The change he wanted already happened
Avatar
Avatar
Learath2
Exactly, but I don't get what we are discussing here. The change he wanted already happened
Avolicious 2024-08-07 14:33
Its still unclear how communities are treated. As a player PoV, they should be "trusted"
Avatar
tbh i thought the discussion started again because he still isn't part of it, but he is from what i could tell, anyway - thanks for the chat, was fun, but i rather not keep bashing fokko while he can't answer
Avatar
Avolicious 2024-08-07 14:34
"Accepted" communities with their own icon show trust in the serverlist, because they are different than normal serverlist entries
14:34
The player knows what he gets from the community, if he recognizes the icon
Avatar
Avatar
Avolicious
Its still unclear how communities are treated. As a player PoV, they should be "trusted"
This war is already kinda over. The players treat it as if it's "trusted" nothing more we can really do about it
Avatar
Avolicious 2024-08-07 14:34
They know the brand
Avatar
Avatar
Learath2
This war is already kinda over. The players treat it as if it's "trusted" nothing more we can really do about it
Avolicious 2024-08-07 14:35
Thats good
Avatar
Avatar
Avolicious
"Accepted" communities with their own icon show trust in the serverlist, because they are different than normal serverlist entries
to avoid this i opened up #8407, but not a single message for 2 1/2 months :/
Avatar
Fokkonaut described the function of the community tab as a way to: Authenticate yourself - having a logo provided by the maintainer (DDNet) themselves Utilize the seperate filter a community offers...
Avatar
I kinda disagree. I'd rather have had just "any grouping of servers = community", then we wouldn't have to quantify anything or have to discuss in here about who should get a community when
Avatar
Avatar
Learath2
I kinda disagree. I'd rather have had just "any grouping of servers = community", then we wouldn't have to quantify anything or have to discuss in here about who should get a community when
Avolicious 2024-08-07 14:36
I guess we have different views on the term "community" then. In your mind its "a grouping of servers" in my mind its "an established playerbase"
14:36
I can have 1 server, but 128p for example
14:37
Or i can have 128 servers with 1 player
Avatar
Avatar
Avolicious
I guess we have different views on the term "community" then. In your mind its "a grouping of servers" in my mind its "an established playerbase"
My definition was to avoid exactly this issue of heated discussions on "who deserves the ddnet mark of approval"
Avatar
Avatar
Learath2
I kinda disagree. I'd rather have had just "any grouping of servers = community", then we wouldn't have to quantify anything or have to discuss in here about who should get a community when
Jupstar ✪ 2024-08-07 14:37
i dunno, then i call my servers foggonaut servers and nobody can do anything
14:37
queen of gores
Avatar
Avatar
Jupstar ✪
i dunno, then i call my servers foggonaut servers and nobody can do anything
That's the status quo already. People fake servers all the time
Avatar
Avatar
Jupstar ✪
queen of gores
BlockUniverse!
Avatar
Avatar
Jupstar ✪
queen of gores
Avolicious 2024-08-07 14:37
This is already reserved on KoG xD
Avatar
omg new argument dropped
Avatar
Avolicious 2024-08-07 14:37
Someone had this title years ago
Avatar
fo𝑘konaut's playground
Avatar
Avatar
Learath2
That's the status quo already. People fake servers all the time
Avolicious 2024-08-07 14:38
And thats why community marked servers are important
Avatar
pretty easily identifyable with accounts
Avatar
Avatar
painn
pretty easily identifyable with accounts
Avolicious 2024-08-07 14:38
Servers?
Avatar
That I don't follow
Avatar
Avolicious 2024-08-07 14:39
Me neither
Avatar
What do accounts have to do with server legitimacy?
Avatar
Jupstar ✪ 2024-08-07 14:39
i mean we can use ddnet account system for servers too 😄
Avatar
if u cant login its fake
Avatar
Avolicious 2024-08-07 14:39
? But thats up to the server how he treats login requests, no?
Avatar
Anyway, no need to discuss this more since we did end up with a community system with some "trust" implied already. Unlikely to change
Avatar
Avolicious 2024-08-07 14:40
I am confused by & with @painn 😄 (edited)
Avatar
I guess we should find some concrete rules on when a community can be created
Avatar
Avatar
painn
if u cant login its fake
At that point you've already given your username and password to the fake server alarm
Avatar
Avatar
Learath2
At that point you've already given your username and password to the fake server alarm
heinrich5991 2024-08-07 14:41
not with accounts as proposed
Avatar
Avatar
Learath2
At that point you've already given your username and password to the fake server alarm
Avolicious 2024-08-07 14:41
Depending on the authentication mechanism
Avatar
Avatar
heinrich5991
not with accounts as proposed
Yeah the one we are implementing is immune to that
Avatar
Avolicious 2024-08-07 14:41
and KoG doesnt use usernames 😄
14:41
we only use random strings to prevent leaking your passwords
Avatar
Avatar
Learath2
Yeah the one we are implementing is immune to that
elaborate
Avatar
Avatar
Nouaa
elaborate
Something something, asymmetric cryptography, something something
Avatar
Avatar
Learath2
I kinda disagree. I'd rather have had just "any grouping of servers = community", then we wouldn't have to quantify anything or have to discuss in here about who should get a community when
a community can exist on a single server though
Avatar
Jupstar ✪ 2024-08-07 14:43
i think with ddnet accounts, rcon auth problems wont matter anymore anyway. If servers then still use string based auth, then rip. So let's not use that as argument If we use accounts to show that multiple servers are part of the same group, that would be possible i think
Avatar
Avatar
louis
a community can exist on a single server though
It's just a definitional thing. I was not talking about a community of players. I was talking about a "community of servers"
Avatar
heinrich5991 2024-08-07 14:43
If servers then still use string based auth, then rip.
we can rip this out hopefully
14:44
rip. haha
Avatar
Jupstar ✪ 2024-08-07 14:44
at least for the bigger communities, then it is probably not attractive anymore anyway
Avatar
string based auth is terrible i agree xd
14:44
always gotta use some random silly password since i'm sure everyone stores info in a plaintext dictionary
Avatar
@heinrich5991, rich text, control sequences, not xml, what think? I want to do something about it over the weekend
Avatar
Avatar
louis
always gotta use some random silly password since i'm sure everyone stores info in a plaintext dictionary
Tbf only very janky solutions store passwords in plaintext
Avatar
heinrich5991 2024-08-07 14:46
honestly, I think your time might be better spent elsewhere ^^ not sure, I think the xml-like stuff is still best
Avatar
Avatar
heinrich5991
rip. haha
Jupstar ✪ 2024-08-07 14:46
ah now i got it, haha
Avatar
Avatar
heinrich5991
honestly, I think your time might be better spent elsewhere ^^ not sure, I think the xml-like stuff is still best
Why though? It's not any better at this flat task we are doing, and the typing friendly derivative we came up with loses all benefits of being close to standard
Avatar
isn't the teeworlds way of string passwords always kinda insecure anyways? since the plaintext password is still processed serverside before it gets stored somehow
Avatar
Avatar
louis
isn't the teeworlds way of string passwords always kinda insecure anyways? since the plaintext password is still processed serverside before it gets stored somehow
heinrich5991 2024-08-07 14:47
yes
Avatar
Avatar
louis
isn't the teeworlds way of string passwords always kinda insecure anyways? since the plaintext password is still processed serverside before it gets stored somehow
Yes
Avatar
Avatar
Learath2
Why though? It's not any better at this flat task we are doing, and the typing friendly derivative we came up with loses all benefits of being close to standard
heinrich5991 2024-08-07 14:48
it seems more obvious how to extend, and it was pretty close to another engine's format, no?
Avatar
Avatar
heinrich5991
it seems more obvious how to extend, and it was pretty close to another engine's format, no?
^.....^ is pretty simple to extend too, just add new characters
Avatar
heinrich5991 2024-08-07 14:49
but this is us inventing our own thing. just copy the thing off some other popular game if absolutely need be
14:50
e.g. with the xml-like format, we get escaping for free, because escaping is a solved problem for xml
Avatar
Avatar
heinrich5991
but this is us inventing our own thing. just copy the thing off some other popular game if absolutely need be
Trackmania uses this kind of formatting apparently, but why wouldn't we invent our own? The xml derivative is also pretty much unparseable with standard parsers
Avatar
heinrich5991 2024-08-07 14:51
<c=#123456>foobar</c> seems reasonable to type for me
Avatar
It seems you and I are the only people that think that
Avatar
i think that too.
Avatar
Ok, you me and louis
Avatar
Avatar
heinrich5991
<c=#123456>foobar</c> seems reasonable to type for me
Why are we thinking about xml?
Avatar
See deen doesn't feel the xml 😄
Avatar
Avatar
deen
Why are we thinking about xml?
heinrich5991 2024-08-07 14:52
we'd not parse it as XML
14:52
it's not even XML
14:52
it's just a rather obvous format to format text with
Avatar
Yeah it just kinda looks like it
Avatar
Jupstar ✪ 2024-08-07 14:53
BBCode
Avatar
That is even worse!
Avatar
bbcode goated 😭 🙏
Avatar
Avatar
deen
Why are we thinking about xml?
heinrich5991 2024-08-07 14:53
the plan would be to parse it as tokens with <c=#, >, </c> being tokens, and rejecting invalid input
Avatar
What are we trying to do?
Avatar
heinrich5991 2024-08-07 14:53
markup for colors in broadcasts
Avatar
Avatar
deen
What are we trying to do?
Colored broadcasts to begin with
Avatar
heinrich5991 2024-08-07 14:53
(potentially elsewhere)
Avatar
Hm, I don't like colors
Avatar
heinrich5991 2024-08-07 14:53
that's also an option ^^
Avatar
Avatar
deen
Hm, I don't like colors
Could we interest you in italic broadcasts instead?
Avatar
When you allow colors/styling server hosters will do horrible-looking stuff
Avatar
for every 5 horrible looking stuff there's usually 1 amazingly cool new thing though
Avatar
Well what is it to us what they do with it?
Avatar
Do we have a use case for it?
Avatar
heinrich5991 2024-08-07 14:55
only vague stuff
14:55
"could be cool to highlight player names in broadcasts"
Avatar
Avatar
deen
When you allow colors/styling server hosters will do horrible-looking stuff
Avolicious 2024-08-07 14:55
But thats an assumption, no?
Avatar
Avatar
deen
Hm, I don't like colors
Jupstar ✪ 2024-08-07 14:56
i can give you shaders that greyscale, np
Avatar
Avatar
Avolicious
But thats an assumption, no?
Did you feel like I was addressing you? 😄
Avatar
Avatar
deen
Did you feel like I was addressing you? 😄
Avolicious 2024-08-07 14:56
you said "server hosters"
14:56
Ofc I am addressed 😄
Avatar
Avatar
deen
Do we have a use case for it?
It'd also serve as a peace offering to the 0.7 people so they don't track us down and burn us in pyres for not letting them have rainbow broadcasts
Avatar
you can imagine it on infclass, color coding zombie names vs human names etc.. also good for accessibility, better readability
Avatar
Avatar
Learath2
It'd also serve as a peace offering to the 0.7 people so they don't track us down and burn us in pyres for not letting them have rainbow broadcasts
heinrich5991 2024-08-07 14:57
I don't think this is a good strategy
Avatar
Avolicious 2024-08-07 14:57
Add the "rainbow" broadcast for community servers only 😏
Avatar
Avatar
Avolicious
Add the "rainbow" broadcast for community servers only 😏
heinrich5991 2024-08-07 14:57
no
Avatar
Avatar
heinrich5991
I don't think this is a good strategy
Appeasement never hurts just ask Neville Chamberlain justatest
Avatar
whatever gets added, please add hex code support instead of the heinous 0.7 format
Avatar
Avatar
Learath2
Appeasement never hurts just ask Neville Chamberlain justatest
heinrich5991 2024-08-07 14:58
can you give me the reference?
Avatar
Avatar
louis
whatever gets added, please add hex code support instead of the heinous 0.7 format
Avolicious 2024-08-07 14:59
getting a fluid rainbow is important 👍
Avatar
Avatar
Learath2
Appeasement never hurts just ask Neville Chamberlain justatest
heinrich5991 2024-08-07 14:59
it does, in terms of code complexity
Avatar
Jupstar ✪ 2024-08-07 14:59
looks horrible
14:59
without colors
Avatar
Avatar
heinrich5991
can you give me the reference?
It's a famous case of appeasement not working 😄
14:59
pre-WW2 british prime minister
Avatar
Avatar
heinrich5991
can you give me the reference?
Hitler = Teeworlds 0.7 lovers, British Prime Minister = us in this example
15:01
that is cool
Avatar
I guess we can have the xml but it won't be very well utilised imo, and it won't make the 0.7 people happy AND we don't have a usecase so it kinda feels like the worst of all worlds
15:02
"well utilised" as in the format btw, we are styling flat text, xml is much better suited for more structured stuff
Avatar
Let's rename Communities to just Networks
Avatar
Jupstar ✪ 2024-08-07 15:03
ddrace networks
Avatar
Avatar
louis
always gotta use some random silly password since i'm sure everyone stores info in a plaintext dictionary
ye it's half true
Avatar
Avatar
Learath2
I guess we can have the xml but it won't be very well utilised imo, and it won't make the 0.7 people happy AND we don't have a usecase so it kinda feels like the worst of all worlds
heinrich5991 2024-08-07 15:05
another option: you could also not implement a feature you don't like
15:06
I've also not started with the finish server yet, if you're looking for some small neat thing
Avatar
Avatar
heinrich5991
another option: you could also not implement a feature you don't like
It's not that I don't like it, I'm just unsure whether the way you want to take it is the correct answer
Avatar
heinrich5991 2024-08-07 15:07
ah, sorry, misinterpreted
15:07
disregard my message then
Avatar
I believe 128 player servers might actually reduce the CPU usage on our servers because context switching becomes expensive when you run 150 servers on a single dedicated server
Avatar
heinrich5991 2024-08-07 15:08
really 😮
15:08
I find that hard to believe
15:08
our O(n²) algorithms should outweigh the gains
Avatar
Avatar
deen
I believe 128 player servers might actually reduce the CPU usage on our servers because context switching becomes expensive when you run 150 servers on a single dedicated server
I saw that you wanted to get 128p in. Are you thinking with the playermapping or with that part stripped out so only new clients?
Avatar
Avatar
deen
Hm, I don't like colors
Well, there goes my rainbow skin request PeepoSad
Avatar
Avatar
Learath2
I saw that you wanted to get 128p in. Are you thinking with the playermapping or with that part stripped out so only new clients?
heinrich5991 2024-08-07 15:08
with playermapping AFAIK
15:09
but only for old clients
Avatar
I noticed a few times that RUS2 had fewer players than RUS1, spread across more game servers, and had higher CPU usage. That is the only data point I have
Avatar
heinrich5991 2024-08-07 15:09
maybe different CPUs
Avatar
No, same
Avatar
Different kernel?
Avatar
heinrich5991 2024-08-07 15:09
interesting
Avatar
There is some cost to having a game server running with > 0 players
15:09
I think 0.5-1% cpu when I last measured it 10 years ago
15:10
because it has to do something on each tick, and we only don't do that when the server is empty
Avatar
So you are thinking that constant factor is adding up?
15:10
It is possible
15:10
150*0.5% is 75% of one core used, we only have 8 cores
Avatar
I did not know we were running 150 servers btw
Avatar
Jupstar ✪ 2024-08-07 15:12
mh, doesnt work xd
wtf 1
Avatar
Jupstar ✪ 2024-08-07 15:15
we should really have two race tables
15:15
one with top races only and one with all races
15:15
the queries are so slow bcs of grouping
Avatar
I wonder, is being ranked above ~ 100 even interesting to people?
Avatar
Jupstar ✪ 2024-08-07 15:17
what i meant with top rank, is per player the best rank
Avatar
Avatar
Jupstar ✪
the queries are so slow bcs of grouping
What query is slow?
15:18
I thought I made them all relatively fast
Avatar
Avatar
deen
What query is slow?
Jupstar ✪ 2024-08-07 15:21
i dunno /rank for example takes a few seconds on my pc on lot played maps
15:22
well on my server which uses a skylake intel, but yeah i think it could be faster
Avatar
oh yeah, /rank on tutorial is pretty slow
Avatar
cyberfighter 2 2024-08-07 15:22
more like a few minutes
Avatar
It used to be a few minutes, I got it down to a few seconds
Avatar
cyberfighter 2 2024-08-07 15:23
its still very slow
Avatar
MariaDB [teeworlds]> SELECT Ranking, Time, PercentRank -> FROM ( -> SELECT RANK() OVER w AS Ranking, PERCENT_RANK() OVER w as PercentRank, MIN(Time) AS Time, Name -> FROM record_race -> WHERE Map = 'Tutorial' -> AND Server LIKE '%' -> GROUP BY Name -> WINDOW w AS (ORDER BY MIN(Time)) -> ) as a -> WHERE Name = 'deen'; +---------+--------+--------------+ | Ranking | Time | PercentRank | +---------+--------+--------------+ | 13674 | 191.54 | 0.0230672938 | +---------+--------+--------------+ 1 row in set (2.388 sec)
15:25
I'm ok with this considering we have to actually go through all ranks in that map: MariaDB [teeworlds]> explain SELECT Ranking, Time, PercentRank FROM ( SELECT RANK() OVER w AS Ranking, PERCENT_RANK() OVER w as PercentRank, MIN(Time) AS Time, Name FROM record_race WHERE Map = 'Tutorial' AND Server LIKE '%' GROUP BY Name WINDOW w AS (ORDER BY MIN(Time)) ) as a WHERE Name = 'deen'; +------+-------------+-------------+------+----------------------------------------------------+------+---------+-------+---------+-------------------------------------------+ | id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra | +------+-------------+-------------+------+----------------------------------------------------+------+---------+-------+---------+-------------------------------------------+ | 1 | PRIMARY | <derived2> | ALL | NULL | NULL | NULL | NULL | 4222528 | Using where | | 2 | DERIVED | record_race | ref | Map,MapTimestamp,idx_map,idx_map_name_time,MapTime | Map | 514 | const | 4222528 | Using where; Using index; Using temporary | +------+-------------+-------------+------+----------------------------------------------------+------+---------+-------+---------+-------------------------------------------+ 2 rows in set (0.001 sec)
Avatar
Avatar
deen
I'm ok with this considering we have to actually go through all ranks in that map: MariaDB [teeworlds]> explain SELECT Ranking, Time, PercentRank FROM ( SELECT RANK() OVER w AS Ranking, PERCENT_RANK() OVER w as PercentRank, MIN(Time) AS Time, Name FROM record_race WHERE Map = 'Tutorial' AND Server LIKE '%' GROUP BY Name WINDOW w AS (ORDER BY MIN(Time)) ) as a WHERE Name = 'deen'; +------+-------------+-------------+------+----------------------------------------------------+------+---------+-------+---------+-------------------------------------------+ | id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra | +------+-------------+-------------+------+----------------------------------------------------+------+---------+-------+---------+-------------------------------------------+ | 1 | PRIMARY | <derived2> | ALL | NULL | NULL | NULL | NULL | 4222528 | Using where | | 2 | DERIVED | record_race | ref | Map,MapTimestamp,idx_map,idx_map_name_time,MapTime | Map | 514 | const | 4222528 | Using where; Using index; Using temporary | +------+-------------+-------------+------+----------------------------------------------------+------+---------+-------+---------+-------------------------------------------+ 2 rows in set (0.001 sec)
Jupstar ✪ 2024-08-07 15:26
yes but isnt that part of the problem? 😄
15:26
if we'd only have the top rank per player it would probably be instant with an index
Avatar
Hey somehow the client can't find any data files? it worked fine yesterday, sadly the client doesn't print any complete paths and only relative ones where i have no idea what they are relative to. Everything is in /usr/share/ddnet by default. idk everything worked yesterday. now smth is broken. any idea? (edited)
Avatar
i don't think its about going through all the ranks of a single player, it's going through every single map rank
Avatar
Avatar
Teero
Hey somehow the client can't find any data files? it worked fine yesterday, sadly the client doesn't print any complete paths and only relative ones where i have no idea what they are relative to. Everything is in /usr/share/ddnet by default. idk everything worked yesterday. now smth is broken. any idea? (edited)
Jupstar ✪ 2024-08-07 15:27
look in the console log
15:27
there it says where it searched
Avatar
Avatar
louis
i don't think its about going through all the ranks of a single player, it's going through every single map rank
Exactly, because that is required to calculate your rank
Avatar
Avatar
Jupstar ✪
look in the console log
cant find anything
Avatar
Avatar
Teero
cant find anything
Jupstar ✪ 2024-08-07 15:29
2024-08-07 17:24:06 I storage: added path '$USERDIR' ('/home/teero/.local/share/ddnet') 2024-08-07 17:24:06 I storage: added path '$DATADIR' ('data') 2024-08-07 17:24:06 I storage: added path '$CURRENTDIR' ('/home/teero')
15:29
it usese data directly where the exe is apparently
Avatar
but why?
15:29
it wasn't like that before xd
Avatar
Jupstar ✪ 2024-08-07 15:29
storage.cfg changed?
Avatar
storage.cfg? (edited)
Avatar
Jupstar ✪ 2024-08-07 15:30
yeah
15:30
but tbh it sounds pretty normal to me
Avatar
where
Avatar
Jupstar ✪ 2024-08-07 15:30
maybe it was just broken before 😄
15:30
or do you exec your binary from another dir?
Avatar
it is installed system-wide at /usr/bin/DDNet
Avatar
IIRC for distros that install split data, we have is compiled in
Avatar
Avatar
Jupstar ✪
yeah
can't find any storage.cfg where is it supposed to be? (edited)
Avatar
heinrich5991 2024-08-07 15:32
@Teero is there a data/mapres from the place where you start ddnet from?
Avatar
We can get rid of the faster than X%, then I can speed up the query
Avatar
Check out CStorage::FindDatadir
15:33
It has the entire search sequence in there. It's probably finding an early one
Avatar
Avatar
heinrich5991
@Teero is there a data/mapres from the place where you start ddnet from?
no. the whole data folder is located at usr/share/ddnet/data
Avatar
Avatar
Learath2
It has the entire search sequence in there. It's probably finding an early one
but why was it working yesterday and the whole eternity of me using ddnet on this machine before?
Avatar
Avatar
Teero
no. the whole data folder is located at usr/share/ddnet/data
But if there is a datadir detected in PWD it will not get to that ever
Avatar
ah ok
Avatar
Avatar
Teero
but why was it working yesterday and the whole eternity of me using ddnet on this machine before?
You are starting the client from a different pwd perhaps
15:34
Or perhaps you moved an incomplete data folder to the current directory
Avatar
that might be yea
Avatar
Avatar
deen
We can get rid of the faster than X%, then I can speed up the query
Jupstar ✪ 2024-08-07 15:34
how much faster is it then?
Avatar
let me check
Avatar
Avatar
Learath2
Or perhaps you moved an incomplete data folder to the current directory
you are correct. there was a data directiory in my home directory. apparently it was using that
15:35
thx, issue resolved by deleting that
Avatar
This weird behaviour is why I was terrified of completing my data integrity pr
Avatar
Avatar
Jupstar ✪
how much faster is it then?
MariaDB [teeworlds]> WITH m AS ( -> SELECT MIN(Time) as minTime -> FROM record_race -> WHERE Map = 'Tutorial' -> AND Name = 'deen' -> AND Server LIKE '%' -> GROUP BY Name -> ) -> SELECT COUNT(DISTINCT Name) + 1, minTime -> FROM record_race, m -> WHERE Map = 'Tutorial' -> AND Server LIKE '%' -> AND Time < minTime; +--------------------------+---------+ | COUNT(DISTINCT Name) + 1 | minTime | +--------------------------+---------+ | 13674 | 191.54 | +--------------------------+---------+ 1 row in set (0.790 sec)
Avatar
Jupstar ✪ 2024-08-07 15:39
ui so much faster
Avatar
Ok, got it to a good speed: MariaDB [teeworlds]> SELECT COUNT(DISTINCT Name) + 1, (SELECT MIN(Time) -> FROM record_race -> WHERE Map = 'Tutorial' -> AND Name = 'deen' -> AND Server LIKE '%' -> GROUP BY Name -> LIMIT 1) as minTime -> FROM record_race -> WHERE Map = 'Tutorial' -> AND Server LIKE '%' -> AND Time < (SELECT MIN(Time) -> FROM record_race -> WHERE Map = 'Tutorial' -> AND Name = 'deen' -> AND Server LIKE '%' -> GROUP BY Name -> LIMIT 1 -> ); +--------------------------+---------+ | COUNT(DISTINCT Name) + 1 | minTime | +--------------------------+---------+ | 13674 | 191.54 | +--------------------------+---------+ 1 row in set (0.028 sec)
Avatar
Jupstar ✪ 2024-08-07 15:41
what kind of hardware do you have xD
15:41
1 row in set (1,966 sec) on my desktop pc
Avatar
You don't have good indexes probably
15:41
We have a lot of indexes on the productive db based on what got slower over the years
Avatar
Jupstar ✪ 2024-08-07 15:41
i imported ddnet database
15:41
but maybe the database was too cold
Avatar
We don't export the indexes
15:41
and the entire db is kept in memory 😉
Avatar
Jupstar ✪ 2024-08-07 15:42
well the sql scripts export quite a lot indices
15:42
but yeah my database was cold
Avatar
oh, you are probably creating temporary files then
15:42
cold/hot doesn't exist here. using query cache is cheating
15:43
do an explain and check for temporary file, if so, bump the in-memory sizes to prevent using disk
Avatar
Avatar
deen
cold/hot doesn't exist here. using query cache is cheating
Jupstar ✪ 2024-08-07 15:44
yeah but doesnt the file system also do caching and stuff xd
15:44
there are so many factors
Avatar
Still super expensive to go through the kernel's filesystem layer compared to doing everything in memory in process in mariadb
15:45
This was the part that made us go from multi-minute to 2-3 seconds
Avatar
Jupstar ✪ 2024-08-07 15:45
yeah
15:45
can imagine that for sure
15:46
dunno if i want to load the whole db into my memory tho xd
15:46
on desktop
Avatar
[mysqld] tmp_table_size = 128M max_heap_table_size = 128M sort_buffer_size = 128M
15:46
This helps already, because temporary tables up to 128 MB can stay in memory, which is enough for all maps currently
Avatar
Jupstar ✪ 2024-08-07 15:46
ah nice
15:47
didnt know ddnet has so many micro optimizations
Avatar
After 11 years you collect some tricks
Avatar
Jupstar ✪ 2024-08-07 15:47
we should maybe add all indices to our SQL code some day tho
15:48
in our source
Avatar
Most of them are to make the website faster
Avatar
Jupstar ✪ 2024-08-07 15:48
mh ok
Avatar
not the game server responses
Avatar
Avatar
deen
MariaDB [teeworlds]> WITH m AS ( -> SELECT MIN(Time) as minTime -> FROM record_race -> WHERE Map = 'Tutorial' -> AND Name = 'deen' -> AND Server LIKE '%' -> GROUP BY Name -> ) -> SELECT COUNT(DISTINCT Name) + 1, minTime -> FROM record_race, m -> WHERE Map = 'Tutorial' -> AND Server LIKE '%' -> AND Time < minTime; +--------------------------+---------+ | COUNT(DISTINCT Name) + 1 | minTime | +--------------------------+---------+ | 13674 | 191.54 | +--------------------------+---------+ 1 row in set (0.790 sec)
Jupstar ✪ 2024-08-07 15:49
but i will defs test how fast my bad setup compares to this if i create a table that uses only top ranks per player
Avatar
I feel like 0.02 s is good enough
Avatar
Avatar
deen
Ok, got it to a good speed: MariaDB [teeworlds]> SELECT COUNT(DISTINCT Name) + 1, (SELECT MIN(Time) -> FROM record_race -> WHERE Map = 'Tutorial' -> AND Name = 'deen' -> AND Server LIKE '%' -> GROUP BY Name -> LIMIT 1) as minTime -> FROM record_race -> WHERE Map = 'Tutorial' -> AND Server LIKE '%' -> AND Time < (SELECT MIN(Time) -> FROM record_race -> WHERE Map = 'Tutorial' -> AND Name = 'deen' -> AND Server LIKE '%' -> GROUP BY Name -> LIMIT 1 -> ); +--------------------------+---------+ | COUNT(DISTINCT Name) + 1 | minTime | +--------------------------+---------+ | 13674 | 191.54 | +--------------------------+---------+ 1 row in set (0.028 sec)
Jupstar ✪ 2024-08-07 15:50
how did u make sure the cache was disabled? 😄
15:50
or does mysql always do that for new queries
Avatar
Very easy, with the cache it's aways 0.000s for me, and whenever a query comes in the cache is reset
15:51
an insert/update comes in
15:51
query_cache_limit = 0 works too
15:51
query_cache_type = 0
Avatar
GitHub BOT 2024-08-07 15:53
6bf6264 Add Russian VPN notice by Anime.pdf - def-
15:56
When scrolling up with the mouse wheel or page up key in the console while it is opening/closing, the displayed offset may become incorrect so empty lines appear above the first console message. !screenshot_2024-08-07_17-49-53
15:59
daddde0 Add Chinese VPN notice (by cheeser0613) - def-
Avatar
GitHub BOT 2024-08-07 16:12
Before: ``` MariaDB [teeworlds]> SELECT Ranking, Time, PercentRank -> FROM ( -> SELECT RANK() OVER w AS Ranking, PERCENT_RANK() OVER w as PercentRank, MIN(Time) AS Time, Name -> FROM record_race -> WHERE Map = 'Tutorial' -> AND Server LIKE '%' -> GROUP BY Name -> WINDOW w AS (ORDER BY MIN(Time)) -> ) as a -> WHERE Name = 'deen'; +---------+--------+--------------+ | Ranking | Time | PercentRank | +---------+--------+------------...
Avatar
GitHub BOT 2024-08-07 16:28
I can use unknown sv settings, but cant use unknown tune variables, even if i toggle the unknown setting button, this also applies to tune_zone
Avatar
MilkeeyCat 2024-08-07 17:00
everything works after fixing offsets calculating greenthing (edited)
Avatar
GitHub BOT 2024-08-07 18:18
bounce isnt predicted and hook is invisible. wasn't the case before 18.4
Avatar
Avatar
GitHub
Click to see attachment 🖼️
@fokkonaut close this then?
18:28
or provide more info xd
Avatar
GitHub BOT 2024-08-07 19:01
Double-clicks could also be activated with other mouse buttons on some UI elements, which was unintentionally added by #8489.

Checklist

  • [X] Tested the change ingame
  • [ ] Provided screenshots if it is a visual change
  • [ ] Tested in combination with possibly related configuration options
  • [ ] Written a unit test (especially base/) or added coverage to integration test
  • [ ] Considered possible null pointers and out of bounds array indexing
  • [ ] Changed no physics that affect...
❤️ 2
Avatar
Avatar
deen
Hitler = Teeworlds 0.7 lovers, British Prime Minister = us in this example
justatest
Avatar
Avatar
deen
Hitler = Teeworlds 0.7 lovers, British Prime Minister = us in this example
justatest
Avatar
Avatar
louis
isn't the teeworlds way of string passwords always kinda insecure anyways? since the plaintext password is still processed serverside before it gets stored somehow
Processing passwords on the server is standard for pretty much all applications. Usually the server will handle the hashing and the plaintext password is sent over https. In this way ddnet is not less secure other than lacking https.
20:39
Hashing on the client does not really increase security because the server will use the hash to authenticate the user anyway so it's just as sensitive as the plaintext password.
Avatar
Avatar
Tater
Hashing on the client does not really increase security because the server will use the hash to authenticate the user anyway so it's just as sensitive as the plaintext password.
Jupstar ✪ 2024-08-07 20:43
i disagree with that, hashing on client keeps the password on one machine. if you also use user-names alogn with passwords, an attacker can guess user-names, because the client cannot save the salt*(since it would not work on other devices like that) it must query the hash from the server, and this query is already an attack surface 😄 (edited)
20:46
but you can argue that the whole idea of https is that you can send secure information. assuming a plain pw on the server is insecure is not wrong, but pedantic
Avatar
Avatar
Jupstar ✪
i disagree with that, hashing on client keeps the password on one machine. if you also use user-names alogn with passwords, an attacker can guess user-names, because the client cannot save the salt*(since it would not work on other devices like that) it must query the hash from the server, and this query is already an attack surface 😄 (edited)
maybe you disagree but almost everyone sends password and hashes on server
20:57
google, facebook, ect
Avatar
Avatar
Tater
Hashing on the client does not really increase security because the server will use the hash to authenticate the user anyway so it's just as sensitive as the plaintext password.
There are zero knowledge proof of knowledge algorithms ZKPP e.g. EKE. (edited)
Avatar
Avatar
Tater
Hashing on the client does not really increase security because the server will use the hash to authenticate the user anyway so it's just as sensitive as the plaintext password.
iirc, the server typically sends a random string, which needs to be included with the hash. this way, the hash is not really all that sensitive
Avatar
Avatar
Tater
maybe you disagree but almost everyone sends password and hashes on server
Um, I'm unsure. I think google/facebook still send your plain password over https
21:12
Oh, I misread, yeah I guess I disagree with jupstars disagreement with you
21:16
Actually I have no idea who I disagree with. There are ZPKK algorithms. No one really uses them in the wild for common stuff
Avatar
Avatar
Learath2
Um, I'm unsure. I think google/facebook still send your plain password over https
Jupstar ✪ 2024-08-07 21:16
does it make it more secure that facebook and google do it?
21:16
it is less secure, doesn't mean it isn't still secure enough
Avatar
but if more secure, why 86 sextillion$ company not implement?
21:21
we might be missing something 🙃
Avatar
Avatar
Learath2
but if more secure, why 86 sextillion$ company not implement?
Jupstar ✪ 2024-08-07 21:22
i think your argumentation is more than flawed
Avatar
Or they sell the plain passwords to the NSA nd GCHQ
Avatar
Avatar
Jupstar ✪
i think your argumentation is more than flawed
it's not only flawed, it's obviously flawed
Avatar
Jupstar ✪ 2024-08-07 21:22
if i design some hashing function that uses 5 trillion bytes as output len it might also be better than i dunno bcrypt or smth
Avatar
Avatar
Learath2
it's not only flawed, it's obviously flawed
Jupstar ✪ 2024-08-07 21:22
it's flowered
Avatar
GitHub BOT 2024-08-07 22:01
Needs Rust 1.63.0, should be old enough at this point.

Checklist

  • [ ] Tested the change ingame
  • [ ] Provided screenshots if it is a visual change
  • [ ] Tested in combination with possibly related configuration options
  • [ ] Written a unit test (especially base/) or added coverage to integration test
  • [ ] Considered possible null pointers and out of bounds array indexing
  • [ ] Changed no physics that affect existing maps
  • [ ] Tested the change with [ASan+UBSan or valgrind's ...
22:25
bdd7784 Consistently return true from OnInput function for used events - Robyt3 2c7c391 Only activate double-clicks with left mouse button again - Robyt3 dd1fb20 Merge pull request #8696 from Robyt3/UI-DoubleClick-LeftMouse-Only - heinrich5991 83a90c9 Merge pull request #8676 from Robyt3/Client-LineInput-Event-Handling-Consistency - heinrich5991
Avatar
GitHub BOT 2024-08-07 22:38
d42ae75 Use Ipv6::to_ipv4_mapped in mastersrv - heinrich5991 9be9a90 Merge pull request #8697 from heinrich5991/pr_ddnet_to_ipv4_mapped - def-
Avatar
Avatar
Patiga
iirc, the server typically sends a random string, which needs to be included with the hash. this way, the hash is not really all that sensitive
this doesn't work because then the server cant verify that your password is the same as the one saved in the database
23:45
if you take a password which the server doesn't know and apply anything extra in the hash then the server no longer knows anything
23:45
if you are just responding with the random string to prevent CSRF then the hash provides no extra security again
23:47
the content you send to the server is pretty much always sensitive in this regard
23:47
unless the server knows your plaintext password before you sent it
Exported 1 093 message(s)
Timezone: UTC+0