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 2025-03-12 00:00 and 2025-03-13 00:00
Avatar
Yea, i don't know why that is. probably some compiler option stuff
Avatar
What u think about dummy direction (cl_dummy_left or right). I code this and thin PR in ddnet client. Say u opinion about this.
Avatar
Avatar
Liber
What u think about dummy direction (cl_dummy_left or right). I code this and thin PR in ddnet client. Say u opinion about this.
01:39
Anyone i need opinion more count ppl
01:39
Maybe i create issue on Github
01:39
the admins' & devs' stances are clear in that the dummy is already OP
01:40
adding movement binds to it would make it possible to automate movements in parallel which is textbook cheating (edited)
Avatar
Avatar
Ewan
adding movement binds to it would make it possible to automate movements in parallel which is textbook cheating (edited)
I made it
01:40
This not comfort
Avatar
they're not obligated to accept any contribution
01:41
be careful playing with that feature on ddnet servers. some mods would definitely consider it cheating
Avatar
Avatar
Ewan
be careful playing with that feature on ddnet servers. some mods would definitely consider it cheating
I don't
Avatar
you couldnt really automate it anyway but it's just more surface area for things like that
01:42
further thins the line between what's allowed and what's not etc
Avatar
I use cfg but have clkent for it
Avatar
sounds cool can i see it ingame
Avatar
Avatar
Ewan
sounds cool can i see it ingame
Yes but not now
01:45
My goal is to stop these disputes between moderators and dummy players. For this I will try to PR these functions in the official client
Avatar
Solly (dum dum) 2025-03-12 01:45
the moderators and admins and those with write access all dont want more dummy features, i dont think youll get very far (edited)
01:46
its not really much of a dispute, its already been set in stone
Avatar
Avatar
Solly (dum dum)
the moderators and admins and those with write access all dont want more dummy features, i dont think youll get very far (edited)
And we have dummy_control
01:51
Not dummy player don't know how use it
01:52
He needn't it and use not this
01:52
I think dummy direction also use not not dummy player
Avatar
Avatar
Liber
And we have dummy_control
Solly (dum dum) 2025-03-12 01:52
in 2018
Avatar
Avatar
Solly (dum dum)
in 2018
Ant this shit for use
01:53
I can't use this on ddnet client
01:53
I play not on piano
01:53
I can this use only if i have bindwheel
Avatar
Solly (dum dum) 2025-03-12 01:54
use tclient, or modifiers or chords
01:54
a keyboard has mor ekeys than a piano btw
Avatar
Avatar
Solly (dum dum)
use tclient, or modifiers or chords
Use tclient for use defolt function in ddnet client
01:55
Wow
Avatar
Solly (dum dum) 2025-03-12 01:55
or modifiers
Avatar
Avatar
Solly (dum dum)
a keyboard has mor ekeys than a piano btw
I have 100% keyboard
Avatar
Solly (dum dum) 2025-03-12 01:55
good for you
01:56
bindwheel just is a more user friendly way to bind lots of things
01:56
the same is possible in ddnet
Avatar
Avatar
Solly (dum dum)
the same is possible in ddnet
No way bindwheel cheat bcz give advantages
Avatar
Avatar
Solly (dum dum)
bindwheel just is a more user friendly way to bind lots of things
Solly (dum dum) 2025-03-12 01:57
not sure if youve read this
Avatar
No way dummy direction more friendly too
01:59
And we can repeat it in ddnet client (edited)
Avatar
Avatar
Liber
And we can repeat it in ddnet client (edited)
Solly (dum dum) 2025-03-12 03:05
you have to press left or right on the main to have it play on the dummy
03:05
having full independent control is op
Avatar
Avatar
Solly (dum dum)
you have to press left or right on the main to have it play on the dummy
No
Avatar
Avatar
Solly (dum dum)
having full independent control is op
I can it with def client
Avatar
lol now that u are just piss mad ofc u aren't gonna get it in
Avatar
MilkeeyCat 2025-03-12 06:06
morning postgres enjoyers and others
06:15
gn
Avatar
Solly (dum dum) 2025-03-12 06:40
oh dear my sleep schedule
06:41
our sleep schedule 🟥
Avatar
Avatar
Solly (dum dum)
our sleep schedule 🟥
gm
Avatar
Avatar
Teero
gm
Solly (dum dum) 2025-03-12 07:00
good mmmmmnight
Avatar
Avatar
Solly (dum dum)
our sleep schedule 🟥
Avatar
Avatar
jxsl13
Click to see attachment 🖼️
Solly (dum dum) 2025-03-12 07:10
yes
Avatar
morrning
07:25
A markdown terminal slideshow tool. Contribute to mfontanini/presenterm development by creating an account on GitHub.
Avatar
Avatar
Liber
I can it with def client
play with default client then
Avatar
this is the reason why nofis client considered cheat client, i don't see any possibility of going thru ddnet review for it to be legit
Avatar
Avatar
Jupstar ✪
File .text Size Crate 2.1% 30.7% 14.5MiB [Unknown] 0.8% 12.3% 5.8MiB std 0.4% 5.3% 2.5MiB ffmpeg_sys_next 0.2% 2.8% 1.3MiB cranelift_codegen 0.2% 2.8% 1.3MiB tokio 0.2% 2.2% 1.1MiB naga 0.1% 2.2% 1.0MiB wasmparser 0.1% 1.8% 887.9KiB client_ui 0.1% 1.8% 871.2KiB hashbrown 0.1% 1.8% 849.3KiB client_containers 0.1% 1.5% 730.9KiB rayon_core 0.1% 1.2% 579.2KiB egui 0.1% 1.1% 555.8KiB rustls 0.1% 1.0% 471.6KiB game_config 0.1% 0.9% 431.0KiB ddnet_playground 0.1% 0.9% 420.8KiB winit 0.1% 0.8% 390.7KiB serde_json 0.1% 0.8% 385.4KiB editor 0.1% 0.7% 358.2KiB regalloc2 0.0% 0.7% 352.6KiB zstd_sys 1.6% 22.9% 10.8MiB And 311 more crates. Use -n N to show more. 6.8% 100.0% 47.2MiB .text section size LTO, codegen-units = 1, strip, panic = "abort". Still the exec is around 60MiB
Jupstar ✪ 2025-03-12 07:41
To restore the bad reputation of tokio being big in size, these are my current results: File .text Size Crate 7.2% 22.5% 14.5MiB [Unknown] 3.0% 9.3% 6.0MiB std 1.7% 5.3% 3.4MiB client_ui 1.6% 5.1% 3.3MiB editor 1.2% 3.9% 2.5MiB cranelift_codegen 1.2% 3.9% 2.5MiB ffmpeg_sys_next 1.0% 3.1% 2.0MiB game_server 0.9% 2.7% 1.8MiB client_containers 0.8% 2.5% 1.6MiB naga 0.8% 2.4% 1.5MiB wasmparser 0.4% 1.4% 930.2KiB graphics_backend 0.4% 1.3% 883.4KiB vanilla 0.4% 1.3% 858.2KiB game_config 0.4% 1.1% 743.7KiB egui 0.3% 1.0% 670.4KiB winit 0.3% 0.9% 606.8KiB client_render_base 0.3% 0.9% 586.7KiB client_render_game 0.3% 0.8% 533.6KiB rustls 0.2% 0.8% 515.6KiB game_state_wasm 0.2% 0.7% 454.7KiB quinn_proto 0.2% 0.6% 389.1KiB reqwest 0.2% 0.6% 364.7KiB client_demo 0.2% 0.5% 359.6KiB config 0.2% 0.5% 346.9KiB game_base 0.2% 0.5% 346.5KiB game_database_backend 0.2% 0.5% 344.8KiB regex_automata 0.2% 0.5% 341.5KiB client_accounts 0.2% 0.5% 325.1KiB naga_oil 0.2% 0.5% 314.6KiB sqlx_mysql 0.1% 0.5% 307.0KiB tokio Since back then it's significantly smaller. I assume I disabled features that I never used or they drastically decreased the size by shifting stuff to the std or smth
Avatar
LLVM has included a Fortran compiler “Flang” since LLVM 11 in late 2020. However, until recently the Flang binary was not flang (like clang) but instead flang-new. LLVM 20 ends the era of flang-new.
Avatar
Why does my gh mobile app sometimes open when I click gh links and sometimes not
07:51
This is very annoying
Avatar
Solly (dum dum) 2025-03-12 07:52
i agree
Avatar
I agree
Avatar
Solly (dum dum) 2025-03-12 08:12
i wish they woudl just make the website better
08:12
on mobile
08:13
theres no reason to have an app apart from...
08:13
uhmm
08:13
well yeah
Avatar
@Jupstar ✪ would you rather have the wgpu backend in c++ or Rust?
Avatar
Avatar
Patiga
@Jupstar ✪ would you rather have the wgpu backend in c++ or Rust?
Jupstar ✪ 2025-03-12 08:48
you can have it in c++? 😮
Avatar
yea ^^
Avatar
Jupstar ✪ 2025-03-12 08:48
nowadays rust is my main lang, so i prefer that ig. but if you think cpp is easier, use that. having it is more important than the language ig
Avatar
i was gonna say something but i forgotgreenthing
Avatar
I estimate that Rust is easier for me, though ofc I don't know yet how difficult cxx will be to work with
08:51
(maintaining it will probs also be easier)
08:51
alright, I'll try out Rust
❤️ 3
deen_star 4
Avatar
GitHub BOT 2025-03-12 10:03
I have discussed a potential new graphics backend based on WGPU with @Jupeyy , and would like to try to implement it. In this issue, I want to ask more formally if this is something that could get merged. WebGPU) is a new web standard for GPU utilization. WGPU is the Rust library that implements that interface. In essence, it is a generic graphics backend which in turn utilizes OpenGL/Vulkan/DirectX/Metal. A defining f...
Avatar
всім пр
10:13
парні
Avatar
Avatar
Daniel
всім пр
Jupstar ✪ 2025-03-12 10:14
$deepl
Avatar
Avatar
Daniel
всім пр
Hi! Most of us communicate in English. If you’re having trouble with English, use https://www.deepl.com/en/translator to help you out.
Avatar
Avolicious 2025-03-12 10:21
https://www.reddit.com/r/typescript/comments/1j8s467/comment/mh7ni9g/ - Microsoft will never run or develop safe code A few minutes ago I had a discussion at the coffee-bar & someone mentioned that the rust community is super toxic, thats why the pre-released a statement before questions pop up. So @Ryozuki, the ddnet rust ambassador, whats your stance on this one? 😄
10:21
Is Ferris, the crab, really this toxic? 😐
Avatar
Jupstar ✪ 2025-03-12 10:23
Who cares about typescript if they can rust in the browser
Avatar
"Microsoft will never run or develop safe code" wdytm
10:24
did they say that
10:24
i mean the first comment makes sense
10:24
its easier to port from a garbage lang to another
🦀 2
🪽 2
deen_star 2
10:24
garbage collected*
10:24
(correction made on purpose kek)
Avatar
Avatar
Ryozuki
its easier to port from a garbage lang to another
Jupstar ✪ 2025-03-12 10:24
xDDDD
Avatar
xDDD lmao
Avatar
Jupstar ✪ 2025-03-12 10:24
Freudian slip
Avatar
i mean Ryan isnt wrong
10:24
rewriting in rust would be a shitshow instead of just sprinking in some go
10:25
rust is for gigachads only after all
Avatar
Jupstar ✪ 2025-03-12 10:25
but i assume go is safe too anyway isnt it?
Avatar
Avatar
Jupstar ✪
but i assume go is safe too anyway isnt it?
Avolicious 2025-03-12 10:26
elaborate safe in this case
Avatar
Jupstar ✪ 2025-03-12 10:26
same as rust, memory safe
Avatar
the compiler is probs made with design decisions that abuse cyclic references
10:26
in rust u simply wouldnt start that way
10:26
it makes sense
10:27
altho using arenas in rust makes it possible and easier
10:27
its what i use
10:27
but i guess arenas are a kind of gc xd
10:27
probs way more optimized tho
Avatar
Avatar
Jupstar ✪
but i assume go is safe too anyway isnt it?
go isnt safe u can get segfaults ez
Avatar
Jupstar ✪ 2025-03-12 10:28
not being forced to use a garbage collector while still being safe is what makes it special ig
Avatar
var ptr *int _ = *ptr
10:28
segfault
Avatar
Jupstar ✪ 2025-03-12 10:28
mh ok
Avatar
Avatar
Ryozuki
go isnt safe u can get segfaults ez
Avolicious 2025-03-12 10:28
But you can recover
Avatar
imho even if u can recover i think a segfault is ub
Avatar
Jupstar ✪ 2025-03-12 10:29
the important thing to me is if it allows code execution
Avatar
regarding buffers
10:30
Go checks for bounds in strings, arrays and slices so it is not vulnerable as long as you are not playing around with unsafe package.
Avatar
Jupstar ✪ 2025-03-12 10:33
Mh goland has exploitable data races apparently
10:34
10:34
@Learath2 I want your statement 😬 You are go expert
Avatar
Avolicious 2025-03-12 10:38
I still prefer rust microservices over go microservices 😄
Avatar
Jupstar ✪ 2025-03-12 10:40
Yesterday I learned you can cast an array to an object in php. So whatever service it is, just not in php anymore 😬
Avatar
Avatar
Jupstar ✪
Yesterday I learned you can cast an array to an object in php. So whatever service it is, just not in php anymore 😬
Avolicious 2025-03-12 10:40
Has to be a newer PHP
10:40
what version?
Avatar
Jupstar ✪ 2025-03-12 10:41
I have no idea, i used LLM to fix a bug and after 2 tries of saying it doesn't work, it came up with that version and it worked
10:42
https://github.com/ddnet/ddnet-web/pull/319/files My prompt was smth like: "Please fix this unreadable trash"
10:42
A pure array version did not work, so it added a (object) and it worked
Avatar
Avolicious 2025-03-12 10:43
Haha, yeah typical PHP experience
10:45
In the early days I was looking into hacklang (https://hacklang.org/), but
Hack is an object-oriented programming language for building reliable websites at epic scale
10:45
I dont want epic scale, sounds expensive
Avatar
Avatar
Avolicious
https://www.reddit.com/r/typescript/comments/1j8s467/comment/mh7ni9g/ - Microsoft will never run or develop safe code A few minutes ago I had a discussion at the coffee-bar & someone mentioned that the rust community is super toxic, thats why the pre-released a statement before questions pop up. So @Ryozuki, the ddnet rust ambassador, whats your stance on this one? 😄
parts of Windows 11 are written in rust, they are already "run or develop safe code"
Avatar
ForgottenCat 2025-03-12 11:02
Does a feature like auto F4 instantly when someone tries vote change map illegal?
Avatar
Avatar
ForgottenCat
Does a feature like auto F4 instantly when someone tries vote change map illegal?
Jupstar ✪ 2025-03-12 11:03
Automated input is basically always illegal
11:03
dummy being maybe the only exception
Avatar
ForgottenCat 2025-03-12 11:03
justatest
Avatar
it's in tclient xd
banhammer 2
Avatar
Jupstar ✪ 2025-03-12 11:05
banhammer
Avatar
the justifcations are pretty good imo
Avatar
how often does ddnet.org/status update?
Avatar
Avatar
ForgottenCat
Does a feature like auto F4 instantly when someone tries vote change map illegal?
bluekitty 1
Avatar
Avatar
tabby
how often does ddnet.org/status update?
Jupstar ✪ 2025-03-12 11:08
I dunno every 2 seconds
❤️ 1
11:08
just count in your head xD
11:08
Or do you mean the server list?
Avatar
the server list!
Avatar
every time you refresh the page i think?
Avatar
It's updated every 30 seconds, according to this https://github.com/ddnet/ddnet-scripts/blob/master/crontab
The magic scripts that make DDNet run. Contribute to ddnet/ddnet-scripts development by creating an account on GitHub.
💞 1
Avatar
chillerdragon BOT 2025-03-12 11:32
Yo @Avolicious am I no longer in the kog clan?
Avatar
PRO_Gaming1921 2025-03-12 11:36
tater have you updated your client to the new ddnet update?
Avatar
Avatar
Jupstar ✪
@Learath2 I want your statement 😬 You are go expert
It's correct. Golang does not have fearless concurrency. It is slightly better than C though since it heavily encourages you to use its channels, which make it safe
✅ 1
Avatar
Avatar
PRO_Gaming1921
tater have you updated your client to the new ddnet update?
Jupstar ✪ 2025-03-12 11:37
They have a discord
Avatar
Avatar
chillerdragon
Yo @Avolicious am I no longer in the kog clan?
Avolicious 2025-03-12 11:37
idk, i dont manage the clan
Avatar
Jupstar ✪ 2025-03-12 11:37
Just ask there, or see announcements
Avatar
Avatar
Learath2
It's correct. Golang does not have fearless concurrency. It is slightly better than C though since it heavily encourages you to use its channels, which make it safe
Avolicious 2025-03-12 11:38
What about Zig? 😄
Avatar
Avatar
PRO_Gaming1921
tater have you updated your client to the new ddnet update?
New update is buggy
Avatar
Avatar
Avolicious
What about Zig? 😄
Zig is a footgun just like C. Do not use if you are not willing to pay attention to what you are doing
Avatar
A IR compiler target with a native Rust friendly API that lowers to LLVM IR. - edg-l/irvm
Avatar
Avatar
Tater
New update is buggy
PRO_Gaming1921 2025-03-12 11:39
aah alright :D
Avatar
Avatar
Learath2
Zig is a footgun just like C. Do not use if you are not willing to pay attention to what you are doing
also zig has weird design decisions like forcing u to not have unused variables (compiler error)
11:39
which makes prototyping a pain
Avatar
Avatar
Learath2
Zig is a footgun just like C. Do not use if you are not willing to pay attention to what you are doing
You only get some bounds checking and some opt-in auto memory management
Avatar
PRO_Gaming1921 2025-03-12 11:41
leranth when does the mod recruitment end?
Avatar
Avatar
Ryozuki
also zig has weird design decisions like forcing u to not have unused variables (compiler error)
This is something I hate so much. Go has a tangentially related issue of not letting you have unused imports. So commenting out some code while testing requires going all the way up to comment the import
Avatar
Avatar
PRO_Gaming1921
leranth when does the mod recruitment end?
We usually allow people 3 weeks, lock new submissions give it 1 week for everyone to comment on anyone late
Avatar
Avatar
Learath2
This is something I hate so much. Go has a tangentially related issue of not letting you have unused imports. So commenting out some code while testing requires going all the way up to comment the import
Do they still enforce alphabetical ordered imports?
Avatar
Avatar
Learath2
We usually allow people 3 weeks, lock new submissions give it 1 week for everyone to comment on anyone late
Then another 1-2 weeks where we internally review all the comments, the internal comments, the feedback in dms, and make decisions
Avatar
Avatar
Learath2
We usually allow people 3 weeks, lock new submissions give it 1 week for everyone to comment on anyone late
PRO_Gaming1921 2025-03-12 11:44
okay thanks for the info^^
Avatar
Avatar
Tater
Do they still enforce alphabetical ordered imports?
Go? I don't think so. If they did must be an old version of Go before I ever used it
Avatar
Avatar
Tater
Do they still enforce alphabetical ordered imports?
Avolicious 2025-03-12 11:47
They auto sort it tho 😄
Avatar
When I tried a long time ago it would refuse to compile and you needed some IDE tool
Avatar
that sounds like you tried it multiple years ago :o - i wrote and compiled my launcher using go in vim
Avatar
note to self, :TSInstall all is heavy
Avatar
Avatar
meloƞ
note to self, :TSInstall all is heavy
red team heavy or blue team heavy?
🤣 1
Avatar
Avatar
Learath2
This is something I hate so much. Go has a tangentially related issue of not letting you have unused imports. So commenting out some code while testing requires going all the way up to comment the import
ctrl+s 😄
Avatar
wouldnt this just remove unused imports?
Avatar
ws-client3 BOT 2025-03-12 12:19
<ChillerDragon> @zwelf did that ping work?
12:20
<ChillerDragon> CDbConnectionPool::Execute() seems to just index m_aQueries without boundary check other than overflowing to zero
12:21
DDraceNetwork, a free cooperative platformer game. Contribute to ddnet/ddnet development by creating an account on GitHub.
12:21
DDraceNetwork, a free cooperative platformer game. Contribute to ddnet/ddnet development by creating an account on GitHub.
12:21
<ChillerDragon> so does this code depend on the queue size never reaching 512?
12:22
<ChillerDragon> lets say the database server is slow and a bunch (all 128 player) spam a long running rank command. Will it overwrite running results in the m_aQueries?
Avatar
Avatar
Ryozuki
also zig has weird design decisions like forcing u to not have unused variables (compiler error)
yeah this sucks so bad, it should be a friendly warning instead
Avatar
not really, but did ping me on matrix
Replying to @furo ws-client3: <ChillerDragon> @zwelf did that ping work?
Avatar
ws-client3 BOT 2025-03-12 12:29
<ChillerDragon> @Zwelf did this ping?
12:29
<ChillerDragon> and any comment on my query limit concerns?
Avatar
MilkeeyCat 2025-03-12 12:30
@Zwelf ^
Avatar
ws-client3 BOT 2025-03-12 12:30
<ChillerDragon> @Zwelf a
12:31
<ChillerDragon> i need to somewhere register a db of these ping names
12:31
<ChillerDragon> my last ping worked right?
Avatar
Avatar
GitHub
Click to see attachment 🖼️
Avatar
MilkeeyCat 2025-03-12 12:55
chillerdragon: yea
Avatar
Avatar
MilkeeyCat
@Ryozuki btw, I don't remember if I already wrote it but this code panics mod foo { pub fn main() -> i64 { for (let mut i: i32 = 0; i < 10; i = i + 1) { let mut b: i8 = 0; b = b + 1; } return 0; } }
fixed
Avatar
Jupstar ✪ 2025-03-12 14:16
@Patiga btw here a tool for you: cargo install cargo-bloat https://github.com/RazrFalcon/cargo-bloat cargo bloat --release -p twgpu-tools --crates -n 50 Then you can see that the biggest dep is naga actually (kinda surprising too). But matches around the size in my repo (https://discord.com/channels/252358080522747904/293493549758939136/1349286150061293582)
heartw 1
Avatar
Avatar
Jupstar ✪
@Patiga btw here a tool for you: cargo install cargo-bloat https://github.com/RazrFalcon/cargo-bloat cargo bloat --release -p twgpu-tools --crates -n 50 Then you can see that the biggest dep is naga actually (kinda surprising too). But matches around the size in my repo (https://discord.com/channels/252358080522747904/293493549758939136/1349286150061293582)
bloat LOL
Avatar
Koll Potato 2025-03-12 14:39
wtf i just witnessed ryozuki join and leave
14:39
never seen him in game
Avatar
Avatar
Koll Potato
never seen him in game
youngling
14:47
he was giga active a few years ago
Avatar
Jupstar ✪ 2025-03-12 14:47
I remember I was on his LAN server once
poggers 2
Avatar
Avatar
meloƞ
he was giga active a few years ago
Koll Potato 2025-03-12 14:49
now hes a full time rust influencer
troll 1
Avatar
Avatar
Koll Potato
wtf i just witnessed ryozuki join and leave
i play sometimes
poggers2 1
Avatar
Avatar
Ryozuki
i play sometimes
MilkeeyCat 2025-03-12 14:59
help me to finish naufrage 4 santatrollet
Avatar
ws-client3 BOT 2025-03-12 15:06
<ChillerDragon> anyone has some opinions on unique client ids?
15:06
<ChillerDragon> as of right now holding onto a clientid is a bit if a dangerous operation
15:07
<ChillerDragon> the player might disconnect then using the client id as player index gives you a nullptr
15:07
<ChillerDragon> but it gets worse once a different player rejoins! then you dont get a nullptr but the wrong player
15:07
<ChillerDragon> and not all clientids can be invalidated on player disconnect. Especially those in a sql worker thread
Avatar
should it be unique to a connection or should you keep the same ID when someone uses timeout protection?
Avatar
ws-client3 BOT 2025-03-12 15:12
<ChillerDragon> on the network level the old id system stays
15:12
<ChillerDragon> but there would be a new client id system mapped to it only on the server side
Avatar
unique IDs are generally a good idea from what I know of game development but I don't know the specifics for this game well enough to really have a good idea
Avatar
ws-client3 BOT 2025-03-12 15:13
<ChillerDragon> making sure no client id is ever reused for different players. This way you can safely pass around these unique client ids and if they still point to a valid player it is the player you want and not someone other player that reclaimed the id
Avatar
speaking of ids how useful would adding UUIDs be to map layers? only useful feature i could think of is having layers be linked to other layers, and having it stay consistent even if you rearrange
Avatar
ws-client3 BOT 2025-03-12 15:14
<ChillerDragon> i mean as of right now it all works out
15:14
<ChillerDragon> well i mean almost works out xd
15:15
<ChillerDragon> i am sure stuff goes to shit once you turn the config destroy bullets on disconnect off. Because projectiles often only store the client id of the person who fired it to check things such as team mask and so on. And I am not sure if these ids get invalidated on disconnect
15:16
<ChillerDragon> either way that would not be fixed by unique ids
Avatar
Avatar
ws-client3
<ChillerDragon> well i mean almost works out xd
Me when I see someone blocking, type ban 1 10 go playground in console, dude ragequits and because it's multeasymap a random person gets banned kekw
Avatar
ws-client3 BOT 2025-03-12 15:16
<ChillerDragon> oh yea for rcon it could be useful too!
15:16
<ChillerDragon> but on a 28d running multeasymap server you then have to type ban 98129 10
15:17
<ChillerDragon> i think its worth a discussion issue
Avatar
GitHub BOT 2025-03-12 15:57

ddnet/teeworlds server side id basics

Currently a client id is a number between 0 and MAX_CLIENTS and on the server side it can be used to directly index CGameContext::m_aPlayers[MAX_CLIENTS] which is cool and all. If the player disconnects there will be a nullptr at that position in the array. So given an id you can quickly figure out of the player is online or not.

the problem

Problematic is that these ids will be reused. So the first player on the server gets id 0. If that ...
Avatar
Avatar
GitHub
Click to see attachment 🖼️
isnt unique id basically current timeout code?
Avatar
ws-client3 BOT 2025-03-12 16:01
<ChillerDragon> do all players have a timeout code?
16:01
<ChillerDragon> also a id would be a bit more light weight because it fits into one integer
16:02
<ChillerDragon> also timeout codes are not guranteed to not be reused
16:02
<ChillerDragon> and ids are easier to type in rcon
Avatar
makes sense
16:10
but the server will store unique ids indefinetly until map change?
16:11
or how would that work
Avatar
Avatar
meloƞ
Me when I see someone blocking, type ban 1 10 go playground in console, dude ragequits and because it's multeasymap a random person gets banned kekw
what about banning by name that would just resolve to client id if player is found?
Avatar
Avatar
Hecta
speaking of ids how useful would adding UUIDs be to map layers? only useful feature i could think of is having layers be linked to other layers, and having it stay consistent even if you rearrange
You shouldn't need any additional UUIDs for map layers in the map format, that's just an issue of ensuring that layer indices are updated correctly when layers are changed (edited)
Avatar
ws-client3 BOT 2025-03-12 16:29
<ChillerDragon> @kebs yes incrementing them until map change or shutdown is the idea
Avatar
Jupstar ✪ 2025-03-12 16:30
chiller zwelf uses a slot map. kinda the ids are still like now, but every id additionally has a version which is incrementing. that way u can have the same array access as now, but make sure ids are unique
Avatar
ws-client3 BOT 2025-03-12 16:30
<ChillerDragon> @kebs yea referring to name in rcon is another proposal which already exists. But i would say its harder to implement with correct auto completion and word splitting and so on. Also not sure how many fans the feature right now has would have to check the issue
Avatar
Jupstar ✪ 2025-03-12 16:30
ddnet-rs just uses unique u64 counter and doesnt care xd
Avatar
ws-client3 BOT 2025-03-12 16:31
<ChillerDragon> what do you mean by slot map
16:31
<ChillerDragon> can you show me the slot map code? i have no idea what you are referring to by saying slot map. Used where? used for what
16:32
<ChillerDragon> yea i like the idea of a unique u64 counter
16:32
<ChillerDragon> thats what i proposed
Avatar
Jupstar ✪ 2025-03-12 16:33
used in twgame
Avatar
ws-client3 BOT 2025-03-12 16:33
<ChillerDragon> by "slot maps" do you refer to the max concurrent pool queries question i asked earlier or to the unique client ids i just proposed now?
Avatar
Jupstar ✪ 2025-03-12 16:33
but i don't know much more than you
Avatar
ws-client3 BOT 2025-03-12 16:34
<ChillerDragon> ah ok you talk about client ids i see
16:34
i mean that then is a unique id
16:34
what other kind of unique id do you want?
16:34
does the client need to know?
Avatar
ws-client3 BOT 2025-03-12 16:35
<ChillerDragon> if it is used for rcon the client has to know for moderators
16:35
<ChillerDragon> i just want a simple number that increments but does not get reused for different players
Avatar
Jupstar ✪ 2025-03-12 16:36
i mean u can do that for your mod
16:36
what is holding you back
Avatar
ws-client3 BOT 2025-03-12 16:36
<ChillerDragon> not ddnet
16:36
<ChillerDragon> but i thought it could be cool in ddnet too thats why i opened the issue
16:37
<ChillerDragon> i might do it in my mod but i am not sure yet if its the best solution
Avatar
one nice thing about unique ids is that it prevents accidental bans, we have had issues with people using rcon sniping the wrong person
Avatar
ws-client3 BOT 2025-03-12 16:37
<ChillerDragon> the rcon thing i can not do in my mod because it depends on client updates but that seems a bigger effort anyways not sure if i am ready for that
16:37
<ChillerDragon> ye
16:38
<ChillerDragon> @Learath2 but it requires client update
Avatar
Does it really? We could keep the old "slot ids" and introduce a new unique id to be used for everything else
Avatar
Jupstar ✪ 2025-03-12 16:38
the best is that whisper can be done client side 😬
Avatar
it would solve the rcon issue, is there another issue that you wanted to solve with unique ids?
Avatar
Avatar
Learath2
one nice thing about unique ids is that it prevents accidental bans, we have had issues with people using rcon sniping the wrong person
an easy way to prevent that is the server asking if you are sure and listing the players name
Avatar
Avatar
Fushi
an easy way to prevent that is the server asking if you are sure and listing the players name
Yeah that's another way to do it, one more would be to allow bans by name instead of id and adding name completion into the console
Avatar
ws-client3 BOT 2025-03-12 16:39
<ChillerDragon> @Learath2 well some moderators use the ids shown in game like scoreboard, chat and nameplates for moderating not everyone uses status
Avatar
Avatar
Learath2
Yeah that's another way to do it, one more would be to allow bans by name instead of id and adding name completion into the console
that would be a cool addition
Avatar
ws-client3 BOT 2025-03-12 16:40
<ChillerDragon> the old flow would be highly misleading if these ids are wrong
16:40
<ChillerDragon> @Learath2 the other issue is storing client ids in variables without having to worry about the player disconnecting
16:41
<ChillerDragon> @Learath2 for example holding onto a client id when a sql worker thread starts to be able to know if the player is still connected when the thread finished
Avatar
Avatar
Fushi
an easy way to prevent that is the server asking if you are sure and listing the players name
Jupstar ✪ 2025-03-12 16:45
smth like this?
Avatar
GitHub BOT 2025-03-12 16:45
Changes in mastersrv for #6961 WIP; nothing tested yet Implementation details:
  • servers that register for quic protocol get their challenge sent over quic.
  • mastersrv uses a client certificate for authenticating to servers when sending challenge.
  • todo: do something with the server certificate maybe
  • todo: disable quic support if no certs are provided
Open questions:
  • How are server certificated pinned? Do we use the one the server had when we sent a challenge?
  • What pro...
Avatar
Jupstar ✪ 2025-03-12 16:45
above is the suggestion
Avatar
Avatar
ws-client3
<ChillerDragon> @Learath2 for example holding onto a client id when a sql worker thread starts to be able to know if the player is still connected when the thread finished
This could still be isolated into the server
Avatar
Avatar
Jupstar ✪
smth like this?
poggers2
Avatar
Avatar
Jupstar ✪
smth like this?
with skin even 👌
Avatar
Avatar
Jupstar ✪
chiller zwelf uses a slot map. kinda the ids are still like now, but every id additionally has a version which is incrementing. that way u can have the same array access as now, but make sure ids are unique
isnt that a generational arena
16:49
oh also called slotmap
16:49
Each element of the array has a generation. Each element is accessed through an index object (which "points to" an element using an index into the array). The index object also contains a generation. When an element is added to the array it copies the generation of the element to the index object. Each time an element is fetched from the list the generation of the index object and the element in the list are compared; only if they match is the list element returned. Whenever an element in the array is "deleted" the generation of that index element is increased. (Effectively invalidating all index objects pointing to the old array element).
16:49
shouldnt be hard to code ^tm
Avatar
Avatar
Ryozuki
Each element of the array has a generation. Each element is accessed through an index object (which "points to" an element using an index into the array). The index object also contains a generation. When an element is added to the array it copies the generation of the element to the index object. Each time an element is fetched from the list the generation of the index object and the element in the list are compared; only if they match is the list element returned. Whenever an element in the array is "deleted" the generation of that index element is increased. (Effectively invalidating all index objects pointing to the old array element).
With the indirection there, I'm curious as to what the benefit of this is, perhaps it plays well with pipelining and the generation fetch and compare can happen while the object itself is being fetched
16:54
Oh I guess there'd be no indirection really, that would make it more sensible I guess
Avatar
In multithreaded computing, the ABA problem occurs during synchronization, when a location is read twice, has the same value for both reads, and the read value being the same twice is used to conclude that nothing has happened in the interim; however, another thread can execute between the two reads and change the value, do other work, then cha...
16:54
@Learath2 this idea of generational index is used a lot for ECS in games
Avatar
Nameless_Me 2025-03-12 16:54
so I started to follow along chillerdragons coding and compiling tutorals, and I'm getting better, but i'm a bit confused about what tools I should use, I'm on window, should I use Visual Studio? VS code? I can compile F-DDrace pretty well using Visual Studio and using a VS-Code spin off, but I tryed to complie defult teeworlds just now using my VS-Code Spin off, and it got stuck, as it, all of the files where missplaced what I did was git clone --recursive https://github.com/teeworlds/teeworlds cd .\teeworlds\ mkdir build cmake -B build -S . cmake --build build after this, the compling went through, but i'm left with the files out of order and no images or data paths, and it doesn't lunch I'm sure i'm doing some step wrong, mabye I use Visual Studio? or I don't make a build directory, I also don't think its a big issue, but if anyone knows a simple mistake I made, I'd aprechated it (edited)
Avatar
ws-client3 BOT 2025-03-12 16:57
<ChillerDragon> @Learath2 yes it could and fokko has been doing that in fddrace for years. The client ids in game would be wrong so for rcon commands you had to use status
16:57
<ChillerDragon> but breaking client ids in the hud for all ddrace moderators seems a bit intense dont you think @Learath2 ?
Avatar
well it's easier to start sending the new id inside a new field of ddnet player than it is to somehow completely revamp all the code that depends on there being MAX_CLIENT slots
Avatar
ws-client3 BOT 2025-03-12 16:59
<ChillerDragon> yes it for sure can be done
16:59
<ChillerDragon> but i am saying it should be done in client and server if it is used for rcon
17:00
<ChillerDragon> all ids in the hud have to become the new unique ids then
Avatar
it would need client support yeah, but I guess easier client support
Avatar
ws-client3 BOT 2025-03-12 17:00
<ChillerDragon> yea its not super complicated to do
Avatar
completely replacing the original id system would be an undertaking about the same size as rewriting ddnet 😄
Avatar
ws-client3 BOT 2025-03-12 17:00
<ChillerDragon> but more effort than the server side and it also breaks moderation on old clients
17:01
<ChillerDragon> yea no internally the client still uses the 0-64 client ids mostly
17:01
<ChillerDragon> only for rendering in the hud in the 3 or 4 places a new different would be displayed
17:01
<ChillerDragon> s/new different/different number/
Avatar
Avatar
Nameless_Me
so I started to follow along chillerdragons coding and compiling tutorals, and I'm getting better, but i'm a bit confused about what tools I should use, I'm on window, should I use Visual Studio? VS code? I can compile F-DDrace pretty well using Visual Studio and using a VS-Code spin off, but I tryed to complie defult teeworlds just now using my VS-Code Spin off, and it got stuck, as it, all of the files where missplaced what I did was git clone --recursive https://github.com/teeworlds/teeworlds cd .\teeworlds\ mkdir build cmake -B build -S . cmake --build build after this, the compling went through, but i'm left with the files out of order and no images or data paths, and it doesn't lunch I'm sure i'm doing some step wrong, mabye I use Visual Studio? or I don't make a build directory, I also don't think its a big issue, but if anyone knows a simple mistake I made, I'd aprechated it (edited)
idk i think the build process on windows is a lot lot easier if u just use visual studio and the nice little green button
Avatar
Avatar
louis
idk i think the build process on windows is a lot lot easier if u just use visual studio and the nice little green button
Nameless_Me 2025-03-12 17:04
oh ok, I'll use that
17:04
thats fine, I just didn't know what to use
Avatar
ws-client3 BOT 2025-03-12 17:05
<ChillerDragon> for me on windows both worked the green button and the cmake commands 🤷
17:06
<ChillerDragon> but then i also once spent one day trying to find a smooth windows build quickstart and rage quitted haha
Avatar
Avatar
ws-client3
<ChillerDragon> for me on windows both worked the green button and the cmake commands 🤷
Nameless_Me 2025-03-12 17:06
do you use extra cmake commands? I just cloned it, set a path to build, and built it
Avatar
ws-client3 BOT 2025-03-12 17:06
<ChillerDragon> no yours look good
17:08
<ChillerDragon> you can try this
17:08
<ChillerDragon> cd teeworlds
17:08
<ChillerDragon> mkdir build
17:08
<ChillerDragon> cd build
17:08
<ChillerDragon> cmake ..
17:08
<ChillerDragon> cmake --build .
17:08
<ChillerDragon> this is what i would do but looks really close to yours
Avatar
Nameless_Me 2025-03-12 17:11
yep, I ran that just now, and it resulted in the same thing, let me try it in Visual Studio and see if it just works over there (edited)
Avatar
Help, there is a blocker on Cobra 2
17:19
Nick:VaReNeK
Avatar
Avatar
Nameless_Me
yep, I ran that just now, and it resulted in the same thing, let me try it in Visual Studio and see if it just works over there (edited)
simply cloning and building with clion on windows worked for me, visual studio is also a very easy way to get it going
Avatar
Nameless_Me 2025-03-12 17:20
I compiled the same folder in Visual Studio, click the green run thing and it worked, however, where does it store the complied version? ahhhh, I found it, Visual Studio made its own directory, out, looks like it only compiles one thing at a time though, and there is lots of other exe's like crapnet that I don't know what they do. Still, looks like Visual Studio works
Avatar
Avatar
Sans
simply cloning and building with clion on windows worked for me, visual studio is also a very easy way to get it going
Nameless_Me 2025-03-12 17:21
clion? what is that
Avatar
jetbrains ide
Avatar
Avatar
Sans
jetbrains ide
Nameless_Me 2025-03-12 17:24
ahh, I see, you like that ide?
17:24
The compling worked, it compiled, but I think it did it in the wrong place
Avatar
Avatar
Nameless_Me
ahh, I see, you like that ide?
It's very noob friendly
17:30
and I am the best worst noob out there
17:30
dumb
Avatar
GitHub BOT 2025-03-12 18:23

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-addres...
18:26
From #9857. The sound sample slot is supposed to be unloaded and unused when allocated.

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 existing maps
  • [ ] Tested the chang...
Avatar
Jupstar ✪ 2025-03-12 18:59
Is this button supposed to do anything? I cannot get it to ungray
Avatar
GitHub BOT 2025-03-12 19:06
9eb2630 Fix crash due to changed sound sample assertion - Robyt3 7f286b6 Merge pull request #9864 from Robyt3/Sound-Assert-Fix - Jupeyy
Avatar
Avatar
Jupstar ✪
Is this button supposed to do anything? I cannot get it to ungray
which map?
Avatar
Avatar
kebs
which map?
Jupstar ✪ 2025-03-12 20:00
custom test map
20:00
well modified map xd
Avatar
seem like the tune_zone settings break it
20:02
can look for a fix
Avatar
Jupstar ✪ 2025-03-12 20:03
ty
Avatar
ok so it thinks tune_zone is valid command but the arguments are invalid
20:21
so its a known, invalid command and the button only fixes unknown
20:21
i guess intended?
Avatar
the same when command expects int and you put string
Avatar
Avatar
kebs
i guess intended?
Jupstar ✪ 2025-03-12 20:46
but if a mod wants to use that command for whatever reason?
20:46
shouldnt allow unknown settings allows succeed? 😄
20:47
e.g. what if i want to support tune gravity moon
Avatar
its a 1 line fix i could make a pr i guess
Avatar
Jupstar ✪ 2025-03-12 21:01
i mean it's not like i care too much, was just a thought. the map was just a test anyway, was just suprised that the button had a condition before activating. thought it was just buggy that it is disabled or smth unrelated to the editor code
Avatar
dooes someone have experience with packages on github?
Avatar
which kind of?
21:08
@Bota
Avatar
npm packages
21:08
i wanna know if its a strufggle or ez
21:09
i wanna make a component libary for a private project
Avatar
no experience.
Avatar
and other packages?
Avatar
i think docker images are also considered packages there.
Avatar
i mean is the package registy ok, or does it have something special?
Avatar
that's the only thing I touched.
Avatar
Avatar
ws-client3
<ChillerDragon> and any comment on my query limit concerns?
chillerdragon: iirc each player can only execute one read command at a time (/rank, /points, etc), one load/save per team, one join for time and birthday check (need to verify this!). However inserting ranks isn't rate limited and could overflow the queue. But yes in the end it assumes that 512 isn't reached.
Avatar
nothing special, just close to your repo and everything in one place.
21:11
has pros and cons, but in general no different from docker hub
21:11
not*
Avatar
hmm ok ty
21:12
i dont want to pay 7$ /moth for a private package on npmjs.com
Avatar
GitHub BOT 2025-03-12 21:13
!image !image Makes this button always clickable when settings are invalid, except for duplicates. Before it was impossible to add a command with arguments that differed from the expected format. For example if a setting expected an integer but a string was input, or if the tune_zones command contained an unknown setting...
Avatar
frontend devs assemble!
21:14
help this lost soul!
Avatar
Avatar
ws-client3
<ChillerDragon> anyone has some opinions on unique client ids?
DDraceNetwork, a free cooperative platformer game. Contribute to ddnet/ddnet development by creating an account on GitHub.
21:16
not really used though (only for database stuff to not send results to wrong player)
Avatar
Avatar
ws-client3
<ChillerDragon> what do you mean by slot map
chillerdragon: https://docs.rs/slotmap/latest/slotmap/index.html?search=key SecondarySlotMap from here
21:31
got aware of slabs/slotmap by a youtube video linked by ryozuki(?): https://www.youtube.com/watch?v=hBwnOc-CfvQ (not this video, but some other from that channel was linked)
Avatar
ws-client3 BOT 2025-03-12 22:05
<ChillerDragon> @Zwelf am i tripping or does it not even try to save queued writes on shutdown?
Avatar
It waits until all queries are completed.
Avatar
ws-client3 BOT 2025-03-12 22:06
<ChillerDragon> thats what i thought
Avatar
but starts skipping over read queries
22:06
(on shutdown)
Avatar
ws-client3 BOT 2025-03-12 22:06
<ChillerDragon> until i built a fake query that just sleeps and none of my writes would finish anymore
22:06
<ChillerDragon> on shutdown
22:06
DDraceNetwork, a free cooperative platformer game. Contribute to ddnet/ddnet development by creating an account on GitHub.
Avatar
ws-client3 BOT 2025-03-12 22:07
<ChillerDragon> i have the feeling the backup gets skipped on shutdown and then it triggers the failed mode
Avatar
(there might be a timeout after 60s?)
Avatar
ws-client3 BOT 2025-03-12 22:07
<ChillerDragon> which then goes straight to normal failed?
22:07
<ChillerDragon> no timeout
22:07
<ChillerDragon> i seem to only hit NORMAL_FAILED not NORMAL anymore
22:07
<ChillerDragon> but i only debugged for like 10s gtg now
Avatar
ah year, everything only gets written locally to sqlite
22:07
*yeah
22:08
to make shutdown fast
Avatar
ws-client3 BOT 2025-03-12 22:08
<ChillerDragon> oh ._.
22:08
<ChillerDragon> so its intentional
22:08
<ChillerDragon> hmm thats not good for account system logout
Avatar
chillerdragon BOT 2025-03-12 22:16
Oh nice then my issue can be half closed unless we want to also really use it for rcon! Good to know I might use it
Replying to @Zwelf chillerdragon: we kinda already have this: https://github.com/ddnet/ddne…
22:19
Oh Shit that is good to know. And good that I checked. I somehow assumed ddnet code would infinitely scale or safely queue somehow. This is good to know because I was intending to allow admins to queue in bulk.
Replying to @Zwelf chillerdragon: iirc each player can only execute one read command at a t…
22:20
Also I realized the sql code seems to process one query at a time blocking the others. Meaning if it were to reach the 512 the server would become quite unresponsive for many operations.
Avatar
Yeah, was looking into rewriting in rust with sqlx and async now again. c++ threading story isn't that great.
Avatar
GitHub BOT 2025-03-12 22:21
224affc Make "Allow all unknown settings" allow all settings - KebsCS 94791b2 Merge pull request #9865 from KebsCS/pr-allows-invalid-settings - Robyt3
Avatar
Avatar
chillerdragon
Oh Shit that is good to know. And good that I checked. I somehow assumed ddnet code would infinitely scale or safely queue somehow. This is good to know because I was intending to allow admins to queue in bulk.
if one query fails (maybe even when taking long due to timeout), all currently queued ones are processed like on shutdown until queue is empty to mitigate that a bit.
Avatar
ChillerDragon: can we date in ddnet-rs tmrw?
Avatar
DDNET-RS date tomorrow?
Avatar
Avatar
meloƞ
DDNET-RS date tomorrow?
I hope
Avatar
chillerdragon BOT 2025-03-12 22:55
Oh boi that’s risky for the stability of my account system
Replying to @Zwelf if one query fails (maybe even when taking long due to timeout), all cur…
22:56
Don’t think I have time
Replying to @Teero ChillerDragon: can we date in ddnet-rs tmrw?
22:56
Better when I am back in Germany
Avatar
oki :3
Avatar
Avatar
chillerdragon
Better when I am back in Germany
where are you now
Avatar
Koll Potato 2025-03-12 23:06
in my walls
Avatar
ws-client3 BOT 2025-03-12 23:09
<ChillerDragon> @TsPiggy montreal
23:10
<ChillerDragon> i should rly stop doxing my self constantly
Avatar
flying to montreal rn
23:10
german in north america oof
Avatar
Avatar
ws-client3
<ChillerDragon> i should rly stop doxing my self constantly
Doxxer worried about doxxing himself huh
23:17
Reminder that chiller leaked my home town like - 4 times shrug
23:17
Glad it's big enough so I don't care
Avatar
Avatar
meloƞ
Glad it's big enough so I don't care
I think i could find someone who can build a cannon
justatest 1
Avatar
ws-client3 BOT 2025-03-12 23:27
<ChillerDragon> @meloƞ justatest
Avatar
Avatar
ws-client3
<ChillerDragon> @meloƞ justatest
you heard me.
Avatar
imagine caring
23:28
Coal Creek, commonly known as Coal Creek Canyon, is a census-designated place (CDP) located in and governed by Jefferson, Boulder, and Gilpin counties in Colorado, United States, but primarily Jefferson County. The population of the Coal Creek CDP was 2,494 at the United States Census 2020. The Golden post office (Zip code 80403) serves the area.
23:28
this is where i live currently
Avatar
ws-client3 BOT 2025-03-12 23:28
<ChillerDragon> @Ewan go live share location
Avatar
ws-client3 BOT 2025-03-12 23:29
<ChillerDragon> i mean the live updating one
23:29
<ChillerDragon> how is it called. we call it the "schick live standort bruder"
Avatar
idk how to do that on discord
Avatar
ws-client3 BOT 2025-03-12 23:31
<ChillerDragon> curl https://en.m.wikipedia.org/wiki/Coal_Creek,_Jefferson_County,_Colorado | grep Ewan
23:31
<ChillerDragon> tee_thinking
23:31
<ChillerDragon> where Ewan
Avatar
Koll Potato 2025-03-12 23:32
where teeworlds 0.8
23:32
feelsbadman
23:33
<ChillerDragon> proof that chiller lives in munich
23:33
<ChillerDragon> But Ewan not in colorado
Avatar
Come find me
23:37
There should be location in the metadata
Avatar
ws-client3 BOT 2025-03-12 23:37
<ChillerDragon> loool
23:37
<ChillerDragon> nah discord yoinks it
23:38
<ChillerDragon> all these social media platforms store the metadata in their db and then strip it off :D
23:38
<ChillerDragon> i am trying really hard to remember that because i tend to upload my pictures on zillyhuhn.com directly exposing all metadata xd
23:39
<ChillerDragon> @Ewan how are you even online you are like in the middle of a forrest watafak
23:41
also wifi
23:42
i’m less than 30 min from boulder
23:42
there’s definitely service
Avatar
rainbolt doxxing ddnet dev
Avatar
Avatar
Ewan
Come find me
Avolicious 2025-03-12 23:54
Sounds like a spot where Chiller would do a teeworlds gameplay video while talking about god or something 😄
23:55
idk if he could handle the elevation
Exported 455 message(s)
Timezone: UTC+0