00:43 < bridge_> Which one? 00:48 < bridge_> Ah discord is having API issues 00:53 < bridge_> how can i make so my votes dont instantly pass on local server? 01:01 < bridge_> You would need someone else connected with a different IP. You could open up another client, but connect it through IPv6 instead, e.g. `connect [::1]`. 01:02 < bridge_> ty 01:19 < bridge_> yeah sans told me - sry for the annoying ping :P 01:50 < bridge_> `@chillerdragon why the hell is teeworlds so damn verbose 01:51 < bridge_> https://cdn.discordapp.com/attachments/293493549758939136/1278139729837031515/grafik.png?ex=66cfb7e2&is=66ce6662&hm=761ae798aa107123ae8a722b5b3f2f54f99d4b539d5bcc0e614ee5c654dd1c92& 01:51 < bridge_> `@chillerdragon: why the hell is teeworlds so damn verbose 01:51 < bridge_> https://cdn.discordapp.com/attachments/293493549758939136/1278139729837031515/grafik.png?ex=66cfb7e2&is=66ce6662&hm=761ae798aa107123ae8a722b5b3f2f54f99d4b539d5bcc0e614ee5c654dd1c92& 01:51 < bridge_> chillerdragon: why the hell is teeworlds so damn verbose 01:51 < bridge_> https://cdn.discordapp.com/attachments/293493549758939136/1278139729837031515/grafik.png?ex=66cfb7e2&is=66ce6662&hm=761ae798aa107123ae8a722b5b3f2f54f99d4b539d5bcc0e614ee5c654dd1c92& 02:14 < bridge_> Is teeworlds more verbose than ddnet? Looks normal to me. Do you have debug mod on? Or what verbosity level is your ddnet console set to? 02:16 < bridge_> depends on if debug is on by default if built from source. Since this is teeworlds master I have no idea, I'm not really familiar with anything that happens over there, it just stood out while I was testing something 02:17 < bridge_> depends on if this debug information is expected by default if built from source. Since this is teeworlds master I have no idea, I'm not really familiar with anything that happens over there, it just stood out while I was testing something 02:18 < bridge_> My entire console was filled with: weird message 'invalid' (0) when joining any ddnet Server btw, is this known? 02:52 < ws-client> ddnet abuses msg type 0 for its extensions 02:52 < ws-client> on vanilla servers this does not happen 02:54 < ws-client> i didnt know thats printed by default thats indeed a bit odd 02:55 < ws-client> i personally wouldnt notice because the vanilla based clients i use are waaaayyy more verbose and i like all the verbosity i can get xd 02:55 < ws-client> https://zillyhuhn.com/cs/.1724806437.png 02:55 < ws-client> debug should be off by default 03:00 < bridge_> crazy `str_format(aBuf, sizeof(aBuf), "dropped weird message '%s' (%d), failed on '%s'", m_NetObjHandler.GetMsgName(MsgId), MsgId, m_NetObjHandler.FailedMsgOn());` 03:00 < bridge_> is not wrapped in a debug if statement on the client side 03:00 < bridge_> on the server side it is 03:01 < bridge_> i did not realize that. Thats odd im sure Oy would merge a pr to fix that to reduce spam on ddnet servers 07:48 < bridge_> https://cdn.discordapp.com/attachments/293493549758939136/1278229705820082217/image.png?ex=66d00bae&is=66ceba2e&hm=a1c7ec595da36d49cf13ee301a9a837dbbff51c06f657e17fd27e5646ee443c4& 07:48 < bridge_> is this intended for clang-format. or is this just what vscode do 07:48 < bridge_> i mean the comment spacing 07:49 < bridge_> Mine also does this xd 07:50 < bridge_> i can't pr these changes can i 07:50 < bridge_> Remove each space individually 😬 07:50 < bridge_> :cammostripes: 07:51 < bridge_> Is it clang format 10? 07:52 < bridge_> https://cdn.discordapp.com/attachments/293493549758939136/1278230725916758057/image.png?ex=66d00ca1&is=66cebb21&hm=c8d65da69b3a4e21760bc25d6833c337c6447e8d826abe475cae740925709350& 07:52 < bridge_> lmao 07:53 < bridge_> I have a newer version in neovim and it adds spaces but with clang format 10 it doesn't add spaces 07:53 < bridge_> i'll try to install a lower version 07:54 < bridge_> i'll check our ci actually. 07:54 < bridge_> thanks my man 07:55 < bridge_> winget is too new for clangformat 10 apparently 07:57 < bridge_> I always download exe from here https://github.com/muttleyxd/clang-tools-static-binaries xd 07:57 < bridge_> 07:58 < bridge_> I revisited the very old spectator cursor pr 07:58 < bridge_> got it to a barely bearable state. i think i might just pr that 07:59 < bridge_> "interpolate in teeworlds challenge! SHOCKING / IMPOSSIBLE" 08:01 < bridge_> can you send a link? 08:01 < bridge_> let me just pr this 08:01 < bridge_> old pr i mean 08:01 < bridge_> #3262 08:01 < bridge_> https://github.com/ddnet/ddnet/pull/3262 08:03 < bridge_> pls no, i think you can broke my static camera feature with that thing 😄 08:04 < bridge_> or vice versa improve 👀 08:06 < bridge_> 08:06 < bridge_> what static camera 08:06 < bridge_> it doesn't show anything in free view 08:08 < bridge_> https://cdn.discordapp.com/attachments/293493549758939136/1278234628599316581/bandicam_2024-08-28_11-07-29-534.mp4?ex=66d01043&is=66cebec3&hm=07ef95f12d864571e51d3fa823e578dd85c1fabb302cb2b00263f0a8041855a8& 08:08 < bridge_> is this in ddnet currently 08:09 < bridge_> and on any 0.6 version, maybe and in 0.5 08:09 < bridge_> is this a server mod 08:09 < bridge_> you'll be fine. spec cursor is a new protocol. you'll need to implement it in server side 08:10 < bridge_> it's cool, because as you can see there no cursor now xD 08:10 < bridge_> and you can just, not implement this. client doesn't show anything if the server does not supports it 08:11 < bridge_> it's not like it was always there, and i just draws it. the client have no idea what cursor is actually. 08:12 < bridge_> it's good that the server in this case is the source of the cursor, i like it 08:13 < bridge_> i would perfer avoid extra bandwidth just for sending cursor actually lol. but ye, it is a new server protocol 08:15 < bridge_> for ddnet maybe, but for custom gamemodes any new client protocol features its cool 08:15 < bridge_> for ddnet maybe, but for custom gamemodes any new client protocol features it's cool 08:15 < bridge_> oh no, protocol abuse alert 08:16 < bridge_> maybe a tutorial cursor or something lol 08:17 < bridge_> @tsfreddie bro make protocol for snap custom quads or sprites from server side ❤️ 08:17 < bridge_> @tsfreddie bro make protocol for snap custom quads or sprites from server side (from the map) ❤️ 08:18 < bridge_> sprite id, position, rotation, color 08:20 < bridge_> nah 08:22 < bridge_> i want to make a mod which adds the gun from the game portal :frozen: 08:24 < bridge_> 08:32 < bridge_> Add twerking twinbop to the protocol 08:32 < bridge_> Sorry, typo 08:32 < bridge_> :Clueless: 08:37 < bridge_> ```rust 08:37 < bridge_> if let Expr::Binary(ExprBinary{op: BinOp::LogicarOr, left, right}) = *expr.right { 08:37 < bridge_> //Stuff 08:37 < bridge_> } 08:38 < bridge_> ``` 08:38 < bridge_> rust's `if let` expressions are so goood 08:47 < bridge_> https://cdn.discordapp.com/attachments/293493549758939136/1278244516037660713/2024-08-28_14-43-05.mp4?ex=66d01979&is=66cec7f9&hm=d4b905d39cffc91c658f34b0ae1b26fcabf0ad2ae5fe7be226020cea562a1774& 09:02 < bridge_> This should look a lot better than the old pr 09:02 < bridge_> but probably still not perfect but i think the "perfect" solution does not exists 09:02 < bridge_> but probably still not perfect but i think the "perfect" solution does not exist 09:05 < bridge_> i hate my life 09:05 < bridge_> https://cdn.discordapp.com/attachments/293493549758939136/1278249068564316180/image.png?ex=66d01db6&is=66cecc36&hm=d12db523403b4bd6d96eafb7d3d2fe29c1c8f790848f73e91dd06ec50330e3b6& 09:08 < bridge_> if anyone have better idea for interpolation, please let me know oof 09:11 < bridge_> @tsfreddie are player cursors not already in the protocol? 09:11 < bridge_> I linked on the PR 09:11 < bridge_> Bruh, since when 09:11 < bridge_> I am also rendering them already xd 09:11 < bridge_> since like 2 years I think 09:11 < bridge_> well the old pr is 4 years old 09:12 < bridge_> I thought it was excluded because they look bad with only 25tps 09:12 < bridge_> I thought it was excluded from rendering because they look bad with only 25tps 09:12 < bridge_> it's used for accurate hookline 09:12 < bridge_> 09:13 < bridge_> i mean speccursor is per player instead of per player character 09:13 < bridge_> wdym "spec cursor" 09:13 < bridge_> the new protocol 09:13 < bridge_> in my pr 09:13 < bridge_> but what does that mean 09:13 < bridge_> what is a spec cursor 09:13 < bridge_> isn't that a normal cursor 09:14 < bridge_> that's just what I called the netobj called 09:14 < bridge_> that's just what I called the netobj 09:14 < bridge_> but what does it have to do with spectating? 09:14 < bridge_> cuz it sends only when you spectate 09:14 < bridge_> well not true, but that is the idea 09:15 < bridge_> well we already send full cursor every tick for all players 09:15 < bridge_> one player only gets one spec cursor instead of 64 (if the server is full) 09:15 < bridge_> but spec cursor sends two cursors 09:16 < bridge_> i mean i can extract the target info from DDNetChar and add a protocol specifically for missing info at 25tps 09:16 < bridge_> but that doesn't sound fun 09:17 < bridge_> I don't understand why we need extra protocol 09:18 < bridge_> https://cdn.discordapp.com/attachments/293493549758939136/1278252234374647891/image.png?ex=66d020a9&is=66cecf29&hm=f856ac63538ff79f2e867b59f252ee682f68e8bb957fae5ae13a721e809f3130& 09:18 < bridge_> I already render them fine 09:18 < bridge_> to show cursor at 50tps 09:18 < bridge_> ... 09:18 < bridge_> ah 09:18 < bridge_> is it worth it? 09:19 < bridge_> who knows 09:20 < bridge_> 50tps can be done with sv_high_bandwidth 09:20 < bridge_> ye but that doubles everything up 09:20 < bridge_> server still sends at 25, cursor displays at 50, that's the whole point 09:21 < bridge_> it was probably worth it in 2020 09:21 < bridge_> i didn't know you guys added new stuff 09:21 < bridge_> idk I think deen might be open to using high_bandwidth anyway. It's a pretty noticable increase in quality 09:21 < bridge_> chn can die 09:22 < bridge_> bandwidth is low? 09:22 < bridge_> ye, like 5Mps per server 09:22 < bridge_> ye, like 5Mbps per server 09:22 < bridge_> it's not a 2x increase tho because the snapdiffs get smaller, but it's probably nearly 2x 09:23 < bridge_> probably 09:23 < bridge_> this seems kinda low ngl 09:23 < bridge_> i didn't say it wasn't low 09:23 < bridge_> it is extremely low 09:23 < bridge_> and expensive 09:23 < bridge_> i hate it 09:23 < bridge_> you mean the server is sending that, or it's the cap? 09:23 < bridge_> cap 09:23 < bridge_> hmm 09:24 < bridge_> we bought dedicated server with higher bandwidth at 30Mbps and 50Mbps 09:24 < bridge_> can you tried spline smoothing for the cursor at 25tps 09:24 < bridge_> have you tried spline smoothing for the cursor at 25tps 09:24 < bridge_> the math is very simple 09:24 < bridge_> not really 09:24 < bridge_> and i kinda don't want to now 09:26 < bridge_> maybe someone else can do it 09:26 < bridge_> but those ranges from 175cny to 306cny per month 09:27 < bridge_> :kek: 09:27 < bridge_> why not? 09:27 < bridge_> cuz i don't want to? 09:28 < bridge_> @learath2 is that better? 09:28 < bridge_> https://cdn.discordapp.com/attachments/293493549758939136/1278254806422655036/image.png?ex=66d0230e&is=66ced18e&hm=834b2a426e1ca326015a82266c59b7b2d5c10a38ac1cdc98e04c40b243b0d8fe& 09:28 < bridge_> but you can just plug the ``m_Snap.m_aCharacters[i].m_ExtendedData.m_TargetX`` data into your PR and it works instantly? 09:28 < bridge_> not really, it snaps differently 09:29 < bridge_> you mean it's too low tps or actually different 09:29 < bridge_> you mean it's too low tps or actually different? 09:29 < bridge_> actually different. i'm not snapping for all characters 09:29 < bridge_> Did you forget to hit recompile? 09:30 < bridge_> is it as bad is before? 09:30 < bridge_> is it as bad as before? 09:30 < bridge_> you are basically asking me to remove most of my PR and cut it down to about 5 lines. which is fine but i'm not nuking my PR for that. we can open another one 09:30 < bridge_> No it's pretty clean but either my mental assembler is wrong or this isn't that code 09:31 < bridge_> `2` was from previous code 09:31 < bridge_> https://cdn.discordapp.com/attachments/293493549758939136/1278255602270863370/image.png?ex=66d023cc&is=66ced24c&hm=dc5ce181aaa4be53d43070bbfcbce473deb1ef887f1828926662d06bd9bc46e6& 09:31 < bridge_> That makes more sense 😄 09:32 < bridge_> Looks great gjgj. Try more complicated stuff though. Very easy to get this wrong 09:32 < bridge_> now I have to pass these labels all over the place but I guess it's worth it 09:32 < bridge_> Your old solution also had labels iirc, no? 09:32 < bridge_> what is that background btw 09:33 < bridge_> https://www.behance.net/gallery/38228477/-Painterz- 09:33 < bridge_> white one 09:34 < bridge_> by we i mean someone else of course, cuz i don't know how to interp at 25tps and i don't actually want to. showing every input is kinda important to me at least. 09:34 < bridge_> They were generated only in the place where the logical operators were handled(it's ugly https://github.com/MilkeeyCat/meraki/blob/c2bcefa4e7f52fc00374f9fb8c3601ba261e313d/src/codegen/codegen.rs#L396-L444) 09:35 < bridge_> But to generate pretty stuff I have to pass them 09:44 < bridge_> Hi, how do I reset in ddn? 09:45 < bridge_> return to the starting point? 09:45 < bridge_> I apologize for the bad spelling, I write through a translator 09:45 < bridge_> you can press K or use /kill 09:46 < bridge_> Screen Resolution Settings 09:46 < bridge_> ah 09:48 < bridge_> you can open `config_directory` or `config_directory.bat` file in the game's folder. Then you can delete `settings_ddnet.cfg` so your settings will reset. (this includes your key binds and skins tho, maybe backup the file and use a text editor to transfer the settings you want) 09:48 < bridge_> Thank you very much 09:57 < bridge_> @learath2 with bigger expression it still looks ass :feelsbadman: 09:57 < bridge_> https://cdn.discordapp.com/attachments/293493549758939136/1278262106856099862/image.png?ex=66d029db&is=66ced85b&hm=8f535c5426588759ae38fc2186d29fae047fc3d4bdd217585ad63538f2e91d85& 09:59 < bridge_> But I think I'll leave as is 10:08 < bridge_> at this point i doubt regular player knows what 0.7 means 10:08 < bridge_> https://cdn.discordapp.com/attachments/293493549758939136/1278265020601340006/image.png?ex=66d02c91&is=66cedb11&hm=6a4f70a20b1c12173626e9a82747a2ce51734aa59af893c0f0cf155de9a7f684& 10:12 < bridge_> @robyt3 how do I build for Android 10:13 < bridge_> https://github.com/ddnet/ddnet/tree/master/scripts/android maybe dis will help? 10:13 < bridge_> ah 10:13 < bridge_> i'm blind 10:13 < bridge_> ad 10:13 < bridge_> ah 10:13 < bridge_> > At least 10-15 GiB of free disk space. 10:13 < bridge_> work pc actually doesn't have this 10:14 < bridge_> :justatest: 10:14 < bridge_> first requirement failed 10:14 < bridge_> gg 10:15 < bridge_> i feel like i'm too stressed out to deal with a new toolchain rn lol 10:15 < bridge_> i don't know what it is but i never knew resigning from a company can be hard 10:21 < bridge_> average rust project uses that just for the build dir 😬 10:22 < bridge_> I intentionally didn't care about disk space cuz I knew I'm leaving 10:22 < bridge_> epyc 10:22 < bridge_> u finally leaving 10:22 < bridge_> Our unity project's temp folder is getting more and more bloated 10:22 < bridge_> and i just couldn't care to clean it up 10:22 < bridge_> plus our new guy is adding new packages every single day. i don't even know what he is doing 10:23 < bridge_> but he is hired to replace me as a tech lead so i never challenged 10:23 < bridge_> :kek: 10:24 < bridge_> i thought our project worked fine as-is, maybe he just want it a certain way. although i personally do not like including too many third-party assets, especially the pirated one 10:24 < bridge_> i thought our project worked fine as-is, maybe he just want it a certain way. although i personally do not like including too many third-party assets, especially the pirated ones 10:24 < bridge_> well i told them i won't come in starting from monday 10:24 < bridge_> and my leader told me i should stay until friday 10:24 < bridge_> for whatever reason 10:25 < bridge_> 10:25 < bridge_> do you quit a job by simply not coming to it? 10:25 < bridge_> i already send my resign notice in june 10:25 < bridge_> uff 10:25 < bridge_> i already sent my resign notice in june 10:25 < bridge_> well actually, maybe even ok 10:25 < bridge_> 3 months is still common i guess 10:26 < bridge_> it is 30 days in chinese labor law but no one cares about that apparently 10:26 < bridge_> rip 10:26 < bridge_> i should've been let go july 9t 10:26 < bridge_> i should've been let go july 9th 10:27 < bridge_> after that i kept taking longer and longer leave, i would just not come in because i don't feel like it, i would just be rude to everyone 10:27 < bridge_> but they still feel like it was worth it to keep me around 10:27 < bridge_> like wtf. i'm trying my best to impose higher risk for the company and they just don't care 10:29 < bridge_> this is much better than the sete mess, there was lots of no-op branches there 10:29 < bridge_> i told them i don't want to be here anymore, doesn't work. i sent my resignation notice, doesn't work. i stop showing up they just called police for missing personal and i have to show up 10:29 < bridge_> 10:29 < bridge_> i hate my life lol 10:29 < bridge_> it wasn't even necessary, it was there because of how comparison operators worked 10:29 < bridge_> What the fuck? 10:29 < bridge_> they did nothing xd 10:30 < bridge_> i mean sure, they are scared that i was dead, fair, and i'm moved. but they still keep schedule meetings to ask me to clock-in normally 10:30 < bridge_> Can't you just tell the police you aren't missing and you just quit? What is this slavery? 10:31 < bridge_> also, there's 2 repeating parts, and idk where it's coming from -.- ``` 10:31 < bridge_> cmp byte ptr [rbp - 1], 0 10:31 < bridge_> je .L0 10:31 < bridge_> ``` 10:31 < bridge_> that is a good idea, i'll do that the next time they call the cop lol 11:01 < bridge_> be there, but dont work, just play games 11:01 < bridge_> play teeworlds 11:01 < bridge_> btw insane situation makes no sense xd 11:01 < bridge_> i made some PR 11:02 < bridge_> well two 11:02 < bridge_> why u do try to be respectful to ppl that dont respect you 11:02 < bridge_> I'm a nice guy 11:02 < bridge_> :kek: 11:02 < bridge_> nah thats called being a punch bag 11:02 < bridge_> ikr 11:08 < bridge_> <.laxa> Made a small python script to get latest map finishes and compare players for maps to finish that were unfinished as well as heuristics for next maps to finish. Nothing extraordinary but I thought I would share if anyone wants to use it: https://pastebin.com/SdNit7KG 11:24 < bridge_> https://cdn.discordapp.com/attachments/293493549758939136/1278283966218240030/dvs6zdtmw9ld1.png?ex=66d03e36&is=66ceecb6&hm=8bc088202d09b6b064b4f1103f7753562bef9f72fc6bc5d592d1bbc779bea018& 11:24 < bridge_> pastebin is blocked in turkey 11:25 < bridge_> <.laxa> God sake, how is it blocked? 11:25 < bridge_> <.laxa> DNS blocked? 11:26 < bridge_> <.laxa> ``` 11:26 < bridge_> <.laxa> ``` 11:26 < bridge_> <.laxa> https://cdn.discordapp.com/attachments/293493549758939136/1278284464216211476/message.txt?ex=66d03ead&is=66ceed2d&hm=e43784128ac9fceadb74c1754800ae4d350de2282e94c84c0ce059a8e911884a& 11:26 < bridge_> <.laxa> here it is 11:28 < bridge_> Nah, we are a space age autocracy now, we use cutting edge deep packet inspection 11:29 < bridge_> <.laxa> What, how are you analyzing encrypted trafic though? 11:30 < bridge_> Is Turkyie for real doing DPI now? 11:31 < bridge_> The CHN Great Firewall does something similar, its a pain 11:33 < ws-client> whats DPI 11:34 < ws-client> a deep packet inspection 11:40 < bridge_> we are not so different afterall 11:56 < bridge_> SNI is not encrypted. I’m guessing that’s what they are looking for 11:57 < bridge_> I can connect to the server pastebin is hosted on if I request a different website 11:58 < bridge_> <.laxa> Hope its the default host then 😄 11:58 < bridge_> <.laxa> I guess they filter direct IP connection through HTTPS too ? 12:26 < bridge_> They don’t seem to 12:26 < bridge_> :justatest: 12:27 < bridge_> https://www.ietf.org/archive/id/draft-ietf-tls-esni-08.html ECH seems rather shit to me. It seems they only really considered the case where you are behind some protection cartel 12:27 < bridge_> They introduce 2 topologies, then they proceed to never talk about the topology where you aren’t behind cloudflare or fastly or some other service 12:30 < bridge_> What SNI am I supposed to have in my ClientHelloOuter even? 12:49 < bridge_> <.laxa> Well, their filtering is shit then. When doing audit at clients, when they wanna filter, they just strictly forbid hostnames with IP for HTTPS 14:19 < bridge_> > Support for the “RealtimeSanitizer” was added. RTSan can be used to detect real-time violations e.g. calls to methods that aren’t safe for use in functions with deterministic runtime requirements. d010ec6. 14:19 < bridge_> llvm 14:20 < bridge_> https://x.com/fasterthanlime/status/1828730004303171803 14:20 < bridge_> interesting idea 14:20 < bridge_> https://github.com/rust-lang/rust/pull/128747 14:49 < bridge_> есть руские 15:14 < bridge_> hey 15:14 < bridge_> uhh 15:14 < bridge_> I'm going to start a new project, which is a ddnet/tw client specifically for fng 15:14 < bridge_> with a ton of features and stuff 15:14 < bridge_> so uhh 15:15 < bridge_> what do you recommend me to use as the code base? the ddnet client, the teeworlds client orr just working it out of zero 15:15 < bridge_> what do you recommend me to use as the code base? the ddnet client, the teeworlds client orr just making the code from scratch 15:19 < bridge_> with a ton of features, qol changes and stuff 15:19 < bridge_> Making the code from scratch - ||I recommend to use the DDNet Client Codebase, to get actual support|| 15:21 < bridge_> I was considering making the code from zero with the only purpose of making it organized on my own way and porting it to raylib 15:21 < bridge_> but yeah, I think using the ddnet client codebase would be a great idea 15:22 < bridge_> cya in 2 years 15:22 < bridge_> my obsession with organization's getting too far I think😔 15:26 < bridge_> But why not re-using existing? Maybe you can contribute to upstream DDNet then 15:26 < bridge_> If you find something broken 15:30 < bridge_> idrk 15:30 < bridge_> it's also to train myself when it comes to coding yk 15:31 < bridge_> tbh my main idea is making my own take on the teeworlds' fng experience but also bringing something brand new at the same time, and I acknowledge many MANY players aren't big fans of changes / new stuff so I prefer just making it a separate thing, if it makes sense(? 15:32 < bridge_> idrk how to explain it 15:32 < bridge_> but ig you get my point 15:32 < bridge_> But then start with something more easy 15:32 < bridge_> I mean I have started already 15:32 < bridge_> Try to refactor the ddnet client codebase 15:32 < bridge_> not a looOOOng time ago but 15:32 < bridge_> I did 15:39 < bridge_> chillerdragon: Do you have required code to connect a tee to server not in assembly? 15:59 < bridge_> ChillerDragon: How do u finance ur full-time github influencer lifestyle? 16:00 < bridge_> And how shall we tag u in chat? 16:09 < bridge_> Other question: I want to write a ddnet python client as a fun side project (prob headless, just chat etc). However, im complete noob in game programming, network etc (only do data science). Where should I start with it, i guess i have to figure out what the client sends to the server and what it gets back? 16:14 < bridge_> start by doing simpler things 16:19 < bridge_> 😠 16:20 < bridge_> :kek: @gumbatw learn rust 16:20 < bridge_> trust 16:46 < bridge_> i think chillerdragon or someone has a python ish client 16:46 < bridge_> maybe start by looking there 16:48 < bridge_> chiller just wrote a client able to connect to the server in pure assembly :kek: 16:49 < bridge_> @gumbatw try implementing the teeworlds huffman coding in python 16:49 < bridge_> u will need it anyway for the client networking 16:49 < bridge_> @gumbatw try implementing the teeworlds huffman coding compression in python 16:49 < bridge_> also the int packing 16:50 < bridge_> https://github.com/ddnet/ddnet/blob/5a66dc05f4a308b03e811c6e92cbcae7df9be5e5/src/engine/shared/huffman.cpp 16:50 < bridge_> https://github.com/ddnet/ddnet/blob/5a66dc05f4a308b03e811c6e92cbcae7df9be5e5/src/engine/shared/huffman.h 16:50 < bridge_> https://github.com/ddnet/ddnet/blob/5a66dc05f4a308b03e811c6e92cbcae7df9be5e5/src/engine/shared/packer.cpp 16:51 < bridge_> also i made this time ago https://edgl.dev/categories/ddracenetwork/ 16:51 < bridge_> and https://wiki.ddnet.org/wiki/Development 16:52 < bridge_> https://ddnet.org/libtw2-doc/huffman/ 16:52 < bridge_> https://ddnet.org/libtw2-doc/int/ 16:53 < bridge_> and if u have doubts or cant get it, u can check but i recommend u dont until u tried hard enough 17:08 < bridge_> <0xfaulty> And when approximately do we plan on increasing this size? I would be extremely grateful. I can do a separate PR on this if needed to make it work now, not when the 128 server support PR is accepted since it might not be anytime soon 17:14 < bridge_> lmfao 17:17 < bridge_> what about after learning the compression algorithm 17:17 < bridge_> do that first then we talk 17:17 < bridge_> :gigachad: 17:24 < bridge_> You are sending 16KiB of serverinfo? 17:25 < bridge_> <0xfaulty> I send more then 16kb, as we have 128 max clients, and too many players with long nickname and clan 17:26 < bridge_> <0xfaulty> here are details 17:29 < bridge_> <0xfaulty> as I said before for temporary workaround I hard limited with 102 (approx value) max players that will be send to master, but waiting for size increase 17:30 < bridge_> the plan is making a chat bridge btw 17:33 < bridge_> i just saw the concrete lang repo and the Alan Kay quote 17:33 < bridge_> so i had to frantically look back in commit history to see when it was added and to my relief it wasn't by ryo 17:44 < bridge_> https://edgl.dev/blog/ui-code-ddnet/ 17:44 < bridge_> `More to come soon.` 17:44 < bridge_> we are waiting 😍 18:14 < bridge_> Damn, master server traffic goes stonks 18:31 < bridge_> <0xdeen> Game server traffic is way more 😄 18:39 < bridge_> But if the server count increases = more traffic for the master 18:39 < bridge_> Right? 18:42 < bridge_> that sounds logical 18:47 < bridge_> <0xdeen> Of course, you can see the traffic here: https://ddnet.org/stats/server/#master2.ddnet.org 18:48 < bridge_> <0xdeen> ~4 TB/month 18:51 < bridge_> 4 TB is a lot 19:11 < bridge_> @learath2 do you think there's a way to make c function pointer syntax less ugly? 19:14 < bridge_> Macros 19:17 < bridge_> I ask for my language xd 19:33 < bridge_> Steal go's 19:36 < bridge_> Mhm, they use func keyword and it makes sense because they use it for function definitions as well 19:41 < bridge_> Can I ask you a question? 19:42 < bridge_> sure :) 19:42 < bridge_> which phone can I get for a new ddnet client? 19:42 < bridge_> up to 11 thousand 19:43 < bridge_> in chinese currency? 19:43 < bridge_> ouch 19:43 < bridge_> any semi-modern phone should be able to run ddnet though 19:43 < bridge_> I'm from Russia, I forgot 19:44 < bridge_> sorry 19:44 < bridge_> I know, just which phone do you recommend? 19:45 < bridge_> I can't help there sorry :/ 19:45 < bridge_> When port ddnet to nokia? 19:45 < bridge_> though my advice would be to buy a refurbished phone (not sure if that is also a thing in russia) 19:45 < bridge_> Okay, thanks for responding. 19:45 < bridge_> Yes 19:46 < bridge_> any phone number is accepted here 🙂 19:48 < bridge_> Well there is a reason all the newfangled languages flipped the function definitions around 19:49 < bridge_> I can do it as well xdd 20:13 < bridge_> I'll use smth like `void(u8, u16*) foo;` 20:16 < bridge_> rust's function pointer definition looks saner 20:17 < bridge_> rust's function pointer definition looks more sane 20:18 < bridge_> Ye, if i was defining functions like `fn foo(...) -> ret_type` it would make sense 20:18 < bridge_> never look at c3-lang function definition syntax 20:20 < bridge_> I think fn keyword before type looks ass 20:20 < bridge_> https://cdn.discordapp.com/attachments/293493549758939136/1278419064229986324/IMG_20240828_211939.jpg?ex=66d0bc08&is=66cf6a88&hm=3c6d4fbf6e868f636be85a1b574dc042f179081223f08ee4dce64d8094155fcb& 20:22 < bridge_> Imo fn keyword before type looks ass 20:22 < bridge_> https://cdn.discordapp.com/attachments/293493549758939136/1278419064229986324/IMG_20240828_211939.jpg?ex=66d0bc08&is=66cf6a88&hm=3c6d4fbf6e868f636be85a1b574dc042f179081223f08ee4dce64d8094155fcb& 20:33 < bridge_> or 1.5Mbit/s 20:38 < bridge_> damn, you can see the constant ddos during evening since mid august 20:38 < bridge_> https://cdn.discordapp.com/attachments/293493549758939136/1278423438025035890/ger2.ddnet.org-net-49d.png?ex=66d0c01b&is=66cf6e9b&hm=284a9854e3da57c7eb7b71ed8761d384aedfa959cf699610328c22fc04a0857c& 21:07 < bridge_> https://docs.rs/tower-http/latest/tower_http/catch_panic/index.html 21:26 < bridge_> why y'all don't just get the ips of the ddos packets and like add them to a blacklist or smth 21:35 < bridge_> @learath2 i think im getting a m3 from work :gigachad: 21:35 < bridge_> maybe m2 idk yet 21:43 < bridge_> ищу тимейта 22:03 < bridge_> https://www.dolthub.com/blog/2024-08-23-the-4-chan-go-programmer/ 22:43 < bridge_> https://tenor.com/view/brain-gif-338783462287106063 22:55 < bridge_> <.lepinpin> @diariesvexar hi i do this one exactly and the command didnt work https://edgl.dev/blog/chat-command-ddracenetwork/ 23:01 < bridge_> ok but like it's a real question though why can't they just do that 23:05 < bridge_> because its a *distributed* denial of service attack, meaning the malicious traffic comes from a multitude of random ips drom a botnet etc? Hard to distinguish real traffic from fake without impairing gameplay for players on the server 23:06 < bridge_> ok multiple ips makes sense 23:06 < bridge_> so then you just have to blacklist more than one ip 23:06 < bridge_> super shrimple 23:09 < bridge_> but ips are redistributed after a certain time, so the pcs of the botnet which are unknowingly infected with malware will not be blacklisted anymore, but random people will be 23:09 < bridge_> <.lepinpin> and if you dont ban ip but matherial ban 23:09 < bridge_> <.lepinpin> and if you dont ban ip but matherial ban ? 23:10 < bridge_> There are definetly ways to implement a better ddos protection/get more bandwidth to deal with those packets, but that involves money which is hard to get as ddnet is only donation based funded 23:10 < bridge_> ok maybe after a certain amount of packets blacklist it but for like 10 minutes 23:10 < bridge_> yea i kinda see howit's not as simple as i first thought it was tho 23:11 < bridge_> yeah, i don't have the best overview either, but i know that there are very capable people on this project who havent found a doable solution in all those years 23:12 < bridge_> Maybe this blog post by @0xdeen is interesting for you: https://hookrace.net/blog/dos-attacks-update/ 23:14 < bridge_> I think not much information about hardware is transmitted in those malicious packet 23:16 < bridge_> I mean, ger10 works quite well, it works kind of the other way around: You have to whitelist ur ip on ger10.ddnet.org and all other traffic has low priority/gets not through. Even though i dont understand how the dossers not just do that aswell. I guess paid services dont offer this extra wish 23:16 < bridge_> <.lepinpin> like if at the install you create a variable and this variable is = to the matherial and throught the packet you put this variable and if to much you block this pc 23:17 < bridge_> you can't just "block a pc" as a server 23:17 < bridge_> same here, blacklisting doesn't solve the problem 23:17 < bridge_> I think me & you don't know enough about networking xd 23:17 < bridge_> there is still too much traffic 23:18 < bridge_> there are just so many malicious requests, so that if you 'ignore' one, you still have too many malicious requests to handle/ignore 23:18 < bridge_> the packets of the normal players just disappear with all that traffic 23:21 < bridge_> do accounts help with that problem btw? Like uou do an authenticity handcheck on first connection and then have a different channel to handel that traffic? 23:21 < bridge_> if you want, @reitw made a *working* ddos protection for tw, feel free to learn some stuff on his blog: https://reitw.fr/blog/aya-xdp-pcap/ 23:26 < bridge_> are u stating that BW is 100% ddos free? Fully stable? 23:27 < bridge_> technically yes, it's juste that ovh blocks legitimate traffic 23:27 < bridge_> technically yes, it's just that ovh blocks legitimate traffic 23:28 < bridge_> well never say 100% 23:57 < bridge_> <.lepinpin> @diariesvexar hi i do this one exactly and the command didnt work https://edgl.dev/blog/chat-command-ddracenetwork/