00:49 <+bridge> [ddnet] just want to know something, we can load the "current map" even if we left the map. is that a bug? i don't want to make useless issue on github ;d 00:54 <+fokkonaut> ChillerDragon: 10:46 <+Ryozuki> ChillerDragon so did u abandon matrix? i also think its quite bloated 10:46 <+Ryozuki> nothing beats the simplicity of irc 11:27 <+bridge> [ddnet] i think he quoted typical signal users, didnt he? xd 11:27 <+bridge> [ddnet] or is he serious xd 11:28 <+bridge> [ddnet] however 11:28 <+bridge> [ddnet] "matrix is bad enough to be widley adopted πŸ˜„" 11:28 <+bridge> [ddnet] this is gold, bcs way too true 11:28 <+bridge> [ddnet] generally spoken 11:43 <+bridge> [ddnet] thats quite the good quote 11:48 <+bridge> [ddnet] well @deen SDL2 has ANGLE support directly, if you want to risk it, i can setup the code for it 11:48 <+bridge> [ddnet] https://github.com/libsdl-org/SDL/blob/main/include/SDL_hints.h#L916 11:48 <+bridge> [ddnet] 11:48 <+bridge> [ddnet] Probably would require some testing, e.g. if we could default to dx 11 backend, and see what happens on computers that don't support dx 11, if ANGLE can just report it 11:48 <+bridge> [ddnet] 11:48 <+bridge> [ddnet] I cannot hide the fact that directx is just integrated million times better than opengl under windows, 11:48 <+bridge> [ddnet] and that i'm annoyed by all our work arounds, yes .. that raelly annoys me xd 11:49 <+bridge> [ddnet] and maybe ppl will complain about performance regressions no idea 11:49 <+bridge> [ddnet] 11:49 <+bridge> [ddnet] zink and OpenGLonDirectX12 also only have around 60% performance 11:49 <+bridge> [ddnet] i doubt angle is written so much better 11:49 <+bridge> [ddnet] but maybe it finally fixes the problems with Intel, bcs the GLonDX12 works on Intel 11:51 <+bridge> [ddnet] this doesnt affect my glorious linux perfomance right? 11:51 <+bridge> [ddnet] well @deen SDL2 has ANGLE support directly, if you want to risk it, i can setup the code for it(just need to ship the angle ddls) 11:51 <+bridge> [ddnet] https://github.com/libsdl-org/SDL/blob/main/include/SDL_hints.h#L916 11:51 <+bridge> [ddnet] 11:51 <+bridge> [ddnet] Probably would require some testing, e.g. if we could default to dx 11 backend, and see what happens on computers that don't support dx 11, if ANGLE can just report it 11:51 <+bridge> [ddnet] 11:51 <+bridge> [ddnet] I cannot hide the fact that directx is just integrated million times better than opengl under windows, 11:51 <+bridge> [ddnet] and that i'm annoyed by all our work arounds, yes .. that raelly annoys me xd 11:51 <+bridge> [ddnet] ofc not xD 11:51 <+bridge> [ddnet] cool :monkalaugh: 11:51 <+bridge> [ddnet] i wouldnt shoot into my own leg xd 12:31 <+bridge> [ddnet] well @deen SDL2 has ANGLE support directly, if you want to risk it, i can setup the code for it(just need to ship the angle dlls) 12:31 <+bridge> [ddnet] https://github.com/libsdl-org/SDL/blob/main/include/SDL_hints.h#L916 12:31 <+bridge> [ddnet] 12:31 <+bridge> [ddnet] Probably would require some testing, e.g. if we could default to dx 11 backend, and see what happens on computers that don't support dx 11, if ANGLE can just report it 12:31 <+bridge> [ddnet] 12:31 <+bridge> [ddnet] I cannot hide the fact that directx is just integrated million times better than opengl under windows, 12:31 <+bridge> [ddnet] and that i'm annoyed by all our work arounds, yes .. that raelly annoys me xd 13:07 <+bridge> [ddnet] chillerdragon disable zoom on your gctf server 13:07 <+bridge> [ddnet] also on 0.6 there is no sound of flag capture 14:36 <+bridge> [ddnet] A kid I tutored for a while took his C exam, look at the gem he brought me from the exam: 14:36 <+bridge> [ddnet] ```c 14:36 <+bridge> [ddnet] int a = 5, b = 10; 14:36 <+bridge> [ddnet] printf("%d %d", b, a -= (b = (a += b) - b)); 14:36 <+bridge> [ddnet] ``` 14:36 <+bridge> [ddnet] What is the output? 14:36 <+bridge> [ddnet] Imagine being a professor, hired at an university and having this in your exam 14:36 <+bridge> [ddnet] The output is "-2: Please put your code into a readable format" 14:37 <+bridge> [ddnet] πŸ˜› 14:37 <+bridge> [ddnet] Where -2 is the code review that prevents submitting 14:37 <+bridge> [ddnet] I mean the entire thing is also UB, so that could indeed be the output gcc decides on 14:43 <+bridge> [ddnet] A friend of his apparently got a gem of a question too `char[] str = { 65, 77, 23, 67 }; int len = strlen(str);...` 14:44 <+bridge> [ddnet] :D 15:03 <+bridge> [ddnet] ELI5 why are ddos attacks so hard to deal with 15:04 <+bridge> [ddnet] Imagine ten thousand people beating you with bats wearing masks 15:06 <+bridge> [ddnet] What are you going to do about it? They are wearing masks so you can't identify any of them to report them. Nor can you reasonably fight back against ten thousand people. So your only option is to hire security, which costs a lot 15:07 <+bridge> [ddnet] what are the defenses taken by more expensive servers? 15:08 <+bridge> [ddnet] They either a) Pay for massive connections b) Pay people with massive connections to filter the traffic before it ever gets to them 15:09 <+bridge> [ddnet] Oh or c) Are people that have massive connections because they are their own ISP, like google or amazon 15:11 <+bridge> [ddnet] cs exams always ask the dumbest questions 15:11 <+bridge> [ddnet] Oh and there is one last option, if you are a large corporation actually losing money from the ddos the police will actually care about your report because police is there for only one reason: it's not protecting citizens or enforcing law, it's to protect capital 15:14 <+bridge> [ddnet] can't you somehow block the ip addresses of the ddosing computers? 15:15 <+bridge> [ddnet] They don't use a single ip, they use thousands, and they are faking those ips while at it 15:16 <+bridge> [ddnet] that's the first d in ddos: distributed, it's a small amount of traffic coming from thousands of different ips amounting to a lot of traffic 15:16 <+bridge> [ddnet] we do during tournaments and stuff agressively firewall sometimes, only allowing packets from people already in the server 15:16 <+bridge> [ddnet] but eventually they run out of computers no? 15:16 <+bridge> [ddnet] they don't use multiple computers, they just fake that the traffic is coming from different computers 15:17 <+bridge> [ddnet] but aren't those fake computers identifiable somehow? or something idk xd 15:17 <+bridge> [ddnet] also why isn't that allowing packets from ppl already in the server a good solution? 15:17 <+bridge> [ddnet] cause u can no longer connect to the server or something? 15:18 <+bridge> [ddnet] well first of all no new players can ever connect, second is a problem we have mostly solved but it used to be that they used to collect players ips and faked those so our firewall wouldn't catch much 15:18 <+bridge> [ddnet] s\/used to collect/collected/ 15:21 <+bridge> [ddnet] so basically it's impossible to solve without a server capable of handling large number of requests? 15:21 <+bridge> [ddnet] atleast not solve it as in how it's not a problem in most AAA games 15:21 <+bridge> [ddnet] they just pay the exorbitant fees and get their traffic filtered 15:24 <+bridge> [ddnet] (btw it's not us spreading our funds too thin or anything, the sum total ddnet has spent on infrastructure over the years is not enough to get 1 month of filtered traffic) 15:24 <+bridge> [ddnet] so the people that sell the traffic filtering have to stay up to date with the ip addresses the attacks usually come from? 15:25 <+bridge> [ddnet] or do you know vaguely how they filter ? 15:26 <+bridge> [ddnet] Well they employ a variety of techniques that they don't always share, but they do indeed keep track of the uses of an ip address, but it's not that fact that helps them 15:27 <+bridge> [ddnet] They have MASSIVE networks, to the tune of dozens of tbps going all around the world. They get so much information to work with. They track packet origins and destinations e.g. 15:28 <+bridge> [ddnet] If a packet from ip 1.2.3.4 is entering the network at a different node than usual they know it's possible that it's a dirty packet with a fake origin 15:30 <+bridge> [ddnet] would an account system for ddnet help with the ddosing? like as a detterent at least/too much work for the not highly motivated attackers? 15:31 <+bridge> [ddnet] Not really 15:32 <+bridge> [ddnet] These people are usually just motivated by annoying others, at best they wouldn't care what happens to their account at worst they would get even more angry and ddos more 15:33 <+bridge> [ddnet] but you'd need to make many accounts right? 15:33 <+bridge> [ddnet] Not really, there is nothing about accounts that would stop them from sending packets 15:35 <+bridge> [ddnet] well what identifiable information about the transmitter is transmitted with these packages 15:35 <+bridge> [ddnet] only the ip address? 15:36 <+bridge> [ddnet] There are some very very tiny hints in there that I'd rather not say, but the main thing is indeed the ip 15:37 <+bridge> [ddnet] and remember the ip doesn't identify the attacker in this case, it's just some random ip picked by the attacker 15:37 <+bridge> [ddnet] can't you associate those things with an account? 15:38 <+bridge> [ddnet] you could keep track of it, sure but the problem is that our connection gets overwhelmed by packets, to be able to filter an attack you need to have a connection bigger than the attack 15:39 <+bridge> [ddnet] you can't ignore the packets? or just the action of looking at a packet takes enough time for the server to get unresponsive with enough packets? 15:40 <+bridge> [ddnet] It needs to arrive at the server first, then we need to inspect it, then we need to decide whether to ignore it. The problem is not all the packets will even arrive at the server. The hoster will drop all the packets over our allowance 15:42 <+bridge> [ddnet] I don't mind dumb, I draw the line at wrong though... 15:44 <+bridge> [ddnet] but everyone needs to do the same process of inspection and deciding what to do, so why isn't everything on the internet ddosed? just cause the bad guys don't have the numbers in other cases? 15:46 <+bridge> [ddnet] Most services are easier to protect, websites don't need to deal with spoofed (fake ip) traffic because a spoofed connection won't get past the TCP 4-way handshake and hosters have good firewalls against TCP attacks 15:46 <+bridge> [ddnet] Games are very hard to protect 15:46 <+bridge> [ddnet] hard to protect because of how responsive they need to be to packets? 15:49 <+bridge> [ddnet] Well sort of, since they have to be responsive they usually use UDP which only specialized firewalls can filter well, but that's not the whole reason, it's usually that games have very different protocols, so there is no one firewall fits all 15:49 <+bridge> [ddnet] Very popular games are supported by these specialized firewall vendors, so a csgo server is easier to protect than a teeworlds server since no firewall vendor supports our protocol 15:49 <+bridge> [ddnet] here are the main changes, not including minor ones? 15:49 <+bridge> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/880086557736984596/unknown.png 15:50 <+bridge> [ddnet] yours will be displayed 15:50 <+bridge> [ddnet] if you mean that 15:50 <+bridge> [ddnet] this is just, what is left 15:50 <+bridge> [ddnet] i wonder whats the point of this, whats trying to make u learn 15:50 <+bridge> [ddnet] because isnt at the end the reason do u do this: to learn 15:50 <+bridge> [ddnet] all updates from the last versions are displayed normally 15:51 <+bridge> [ddnet] It's trying to gauge whether you know precedence rules I guess? It's entirely wrong because there are no sequence points in there 15:51 <+bridge> [ddnet] all updates since the last versions are displayed normally 15:51 <+bridge> [ddnet] i love how they put effort in the least important stuff imho 15:51 <+bridge> [ddnet] Anyway, @Cipy29 this is waay past ELI5 and I still need to get some studying done today, so I'll take my leave o/ 15:51 <+bridge> [ddnet] i wouldnt focus on language quirks rather on generic programming concepts 15:52 <+bridge> [ddnet] Especially in a programming101 class. I would totally have a simpler question like this illustrating UB though 15:52 <+bridge> [ddnet] (in a second year class though) 15:52 <+bridge> [ddnet] haha ok πŸ™‚ thanks for talking to me πŸ˜„ 16:02 <+bridge> [ddnet] There are more significant changes there, and such small ones as #3971 are not needed there, right? 16:02 <+bridge> [ddnet] https://github.com/ddnet/ddnet/pull/3971 16:04 <+bridge> [ddnet] @heinrich5991 91.10.52.220:8312 faking my server 16:04 <+bridge> [ddnet] The milestone was made so we knew what we wanted to finish up before release, it's not meant to have all issues in there. The changelog will correctly include all changes 16:04 <+bridge> [ddnet] yeah but normally all changes are just shown 16:04 <+bridge> [ddnet] 16:04 <+bridge> [ddnet] https://github.com/ddnet/ddnet/compare/15.5-devel...master 16:04 <+bridge> [ddnet] 16:05 <+bridge> [ddnet] all from 20.june 16:05 <+bridge> [ddnet] heinrich is away for a while more, you can ask dune as he is the only other person with access 16:06 <+bridge> [ddnet] Aah, now I understand, thanks guys:) 16:07 <+bridge> [ddnet] hm, thats valis ip tho 16:08 <+bridge> [ddnet] He is trying to steal account/rcon data via a proxy 16:08 <+bridge> [ddnet] reported to dune aswell now 16:13 <+bridge> [ddnet] we really should get in challange auth or asymmetric crypto soon so they can't mitm 16:13 <+bridge> [ddnet] i think its more like he is just trying to grab ips to make people timeout 16:15 <+bridge> [ddnet] yea he grabs ips with it 16:51 <+bridge> [ddnet] yeah and he actually fakes a kog server too lmao 16:51 <+bridge> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/880102117732413490/screenshot_2021-08-25_16-51-05.png 16:53 <+bridge> [ddnet] :greenthing: 16:54 <+bridge> [ddnet] someone will be owner of many kog accounts 16:54 <+bridge> [ddnet] :justatest: 17:15 <+bridge> [ddnet] I can proof that he stole several account information and changed passwords and removed money from accounts. 17:23 <+bridge> [ddnet] i think his name is known, go to police, nothing else you can do 17:23 <+bridge> [ddnet] the police is not concerned with teeworldsmoney 17:24 <+bridge> [ddnet] i know :/ 17:36 <+bridge> [ddnet] when new release? 17:37 <+bridge> [ddnet] when you tell me why everyone has to introduce their own new annoying build system 17:37 <+bridge> [ddnet] xd 17:37 <+bridge> [ddnet] who 17:37 <+bridge> [ddnet] https://gn.googlesource.com/gn/ 17:38 <+bridge> [ddnet] for google angle 17:38 <+bridge> [ddnet] so it defs cannot be compiled with mingw, sucks 17:38 <+bridge> [ddnet] i tried to use the once from firefox, but they somehow dont work with SDL XD 17:38 <+bridge> [ddnet] https://xkcd.com/927/ 17:38 <+bridge> [ddnet] was this the xkcd? xd 17:39 <+bridge> [ddnet] ^^ 17:40 <+bridge> [ddnet] https://xkcd.com/835/ 17:40 <+bridge> [ddnet] xddd 17:40 <+bridge> [ddnet] i found it funny 17:41 <+bridge> [ddnet] lol i could swear this is like 10 years old and i saw it on some computer science tournament in school time xd 17:50 <+bridge> [ddnet] Big troll:troll: 18:51 <+bridge> [ddnet] Thanks for the feedback i created issues and will fix it soon(tm) https://github.com/ZillyNade/ddnet-gctf/issues 18:51 <+bridge> [ddnet] (@gerdoe) 19:30 <+bridge> [ddnet] https://obsidian.md/ 19:30 <+bridge> [ddnet] looks cool 19:30 <+bridge> [ddnet] a good tool for making a "personal wiki" 19:42 <+bridge> [ddnet] Ρ†Ρ‰Ρ„ 19:42 <+bridge> [ddnet] woah that's sick* 19:49 <+bridge> [ddnet] Does Teeworlds/DDNet have support for JSON 19:49 <+bridge> [ddnet] ? 19:52 <+bridge> [ddnet] src/engine/external/json-parser 19:53 <+bridge> [ddnet] Much appreciated! Now just gotta figure out how to use that bad boi 19:57 <+bridge> [ddnet] Huh, there's only a parser, not a serializer? 20:05 <+bridge> [ddnet] Π΄Π³ΠΊΠ» Π°Ρ‰ΠΊ ddnet-info.json 20:05 <+bridge> [ddnet] there you can find json-serde 20:11 <+bridge> [ddnet] Sorry, where? 20:12 <+bridge> [ddnet] no json serializer in ddnet i think, just parser. why? 20:17 <+bridge> [ddnet] then what's the case of use `ddnet-info.json` in cfg directory? 20:17 <+bridge> [ddnet] just don't get it 20:18 <+bridge> [ddnet] ? 20:18 <+bridge> [ddnet] parser means it can read the ddnet-info json file 20:18 <+bridge> [ddnet] its a file downloaded by the client btw 20:22 <+bridge> [ddnet] Teeworlds has CJsonWriter (src/engine/shared/jsonwriter.h). You could port it to DDNet if you like. 20:23 <+bridge> [ddnet] My C++ skills are fairly limited currently πŸ˜… 20:25 <+bridge> [ddnet] Actually, that doesn't seem to have any dependencies on other files, so it might be fairly easy? 20:27 <+bridge> [ddnet] yes. for good measure you should also port the tests as well 20:28 <+bridge> [ddnet] Might not do that, considering this is for testing only 20:39 <+bridge> [ddnet] aah 20:39 <+bridge> [ddnet] makes sense 20:51 <+bridge> [ddnet] porting cjsonwriter from teeworlds to ddnet is easy iv done it while trying to port the skin system which is not that easy \:D 21:00 <+bridge> [ddnet] I mean, I think I ported it, but when joining the server (which calls CJsonWriter) the server just crashes, no logs, no anything 21:02 <+bridge> [ddnet] use debugger πŸ€ͺ 21:03 <+bridge> [ddnet] Debugger is borked 21:40 <+bridge> [ddnet] good old dbg_msg("debug", "here 123")