00:24 <+bridge> [ddnet] Wait, do you code without a compiler? πŸ˜„ 00:25 <+bridge> [ddnet] I do LOL, I use Visual Studio 00:25 <+bridge> [ddnet] I'm just saying if all the checks work out on the GitHub 00:41 <+bridge> [ddnet] Anything else I need to fix? 03:11 <+bridge> [ddnet] Do you have a Bitcoin wallet or Coinbase wallet? 03:11 <+bridge> [ddnet] You can earn up to 0.06021BTC every 12 hours with your phone or PC... 03:11 <+bridge> [ddnet] Without referrals nor registration fee... 03:11 <+bridge> [ddnet] If you are interested click on the link below and start earning massively πŸ‘‡πŸ‘‡πŸ‘‡πŸ‘‡ 03:11 <+bridge> [ddnet] https://t.me/+cOczZn1wgOkyMGI8 04:33 <+bridge> [ddnet] Do you have a Bitcoin wallet or Coinbase wallet? 04:33 <+bridge> [ddnet] You can earn up to 0.06021BTC every 12 hours with your phone or PC... 04:33 <+bridge> [ddnet] Without referrals nor registration fee... 04:33 <+bridge> [ddnet] If you are interested click on the link below and start earning massively πŸ‘‡πŸ‘‡πŸ‘‡πŸ‘‡ 04:33 <+bridge> [ddnet] https://t.me/+cOczZn1wgOkyMGI8 10:23 <+bridge> [ddnet] <π™Ίπšžπš›πš˜πšœπš’πš˜> Hello, what is the best way to organize the child elements in the elements, with each element must be initialized because its unique key is the name? Maybe there are knowledgeable people here? I have several options for using operator overloading and(or) meta, but in all cases i can't find an option that will be easy to use 10:25 <+bridge> [ddnet] what exactly do you mean with elements? 10:28 <+bridge> [ddnet] <π™Ίπšžπš›πš˜πšœπš’πš˜> A class (object) that has a static hierarchy 10:29 <+bridge> [ddnet] what problem are you trying to solve? 10:29 <+bridge> [ddnet] or is this some educational thing 10:29 <+bridge> [ddnet] https://xyproblem.info/ 10:30 <+bridge> [ddnet] <π™Ίπšžπš›πš˜πšœπš’πš˜> A class (object) that has a static hierarchy, the same objects as himself 10:31 <+bridge> [ddnet] so basically like a linked list? 10:31 <+bridge> [ddnet] linked list bad 10:31 <+bridge> [ddnet] array 10:32 <+bridge> [ddnet] you usually use a pointer 10:32 <+bridge> [ddnet] 10:32 <+bridge> [ddnet] ```c++ 10:32 <+bridge> [ddnet] class C { 10:32 <+bridge> [ddnet] C* m_pOther; 10:32 <+bridge> [ddnet] }; 10:32 <+bridge> [ddnet] 10:32 <+bridge> [ddnet] // initialize 10:32 <+bridge> [ddnet] C* c1 = new C(); 10:32 <+bridge> [ddnet] C* c2 = new C(); 10:32 <+bridge> [ddnet] c1->m_pOther = c2; 10:32 <+bridge> [ddnet] c2->m_pOther = c1; 10:32 <+bridge> [ddnet] ``` 10:32 <+bridge> [ddnet] maybe he/she is using python or java 10:32 <+bridge> [ddnet] we dont know kek 10:33 <+bridge> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/1020975862092410992/unknown.png 10:33 <+bridge> [ddnet] i like this description from rust collections std 10:34 <+bridge> [ddnet] yes in huge lists, linked list can if you e.g. don't iterate over them be faster^^ 10:34 <+bridge> [ddnet] take a shot every time element is used in this 10:35 <+bridge> [ddnet] we also use a linked list for entities, bcs the "iterator" stays valid 10:35 <+bridge> [ddnet] thats also a bonus of lists 10:36 <+bridge> [ddnet] i guess 10:37 <+bridge> [ddnet] i still prefer vec 10:37 <+bridge> [ddnet] i'd use vec as much as possible too yeah 10:37 <+bridge> [ddnet] and modern ecs use packed arrays for entities etc 10:50 <+bridge> [ddnet] <π™Ίπšžπš›πš˜πšœπš’πš˜> I don't use the Node linked list. I have already organized a list that stores a list of items (I want to organize something similar) 10:50 <+bridge> [ddnet] <π™Ίπšžπš›πš˜πšœπš’πš˜> 10:50 <+bridge> [ddnet] <π™Ίπšžπš›πš˜πšœπš’πš˜> I create an element 10:50 <+bridge> [ddnet] <π™Ίπšžπš›πš˜πšœπš’πš˜> ```Elem* pE = CreateElement("SomeElem", size, flags); 10:50 <+bridge> [ddnet] <π™Ίπšžπš›πš˜πšœπš’πš˜> pE->RegisterCallback(somecallback); 10:50 <+bridge> [ddnet] <π™Ίπšžπš›πš˜πšœπš’πš˜> (*pE)("Daughter")->RegisterCallback(somecallback2); 10:50 <+bridge> [ddnet] <π™Ίπšžπš›πš˜πšœπš’πš˜> (*(*pE)("Daughter"))("Daughter")->RegisterCallback(somecallback3);``` 10:50 <+bridge> [ddnet] <π™Ίπšžπš›πš˜πšœπš’πš˜> 10:50 <+bridge> [ddnet] <π™Ίπšžπš›πš˜πšœπš’πš˜> but I have to initialize the mandatory size fields and flags when doing this. What pattern for initializing and using these child objects might be more correct. I mean the usage itself (which pattern would be more correct). I'll implement it myself. 10:54 <+bridge> [ddnet] It's really hard for me to understand what exactly you want, and it seems you use some library, but smth like this to initialize child object: 10:54 <+bridge> [ddnet] (*pE)("Daughter") = CreateElement("SomeElemOtherEl", size, flags); 10:57 <+bridge> [ddnet] <π™Ίπšžπš›πš˜πšœπš’πš˜> I want to see a use case that is more correct, just the option i provided seems ugly 10:58 <+bridge> [ddnet] there is no more correct, if it works, its correct 10:58 <+bridge> [ddnet] <π™Ίπšžπš›πš˜πšœπš’πš˜> here operator() overload and either returns the item if there is one, or creates and returns the item. 10:58 <+bridge> [ddnet] u could start to create all elements u want 10:58 <+bridge> [ddnet] and then build the list afterwards 10:58 <+bridge> [ddnet] ah 10:58 <+bridge> [ddnet] if its well documented, just rely on the auto initializing i guess 10:59 <+bridge> [ddnet] in fact it would probs be unsafe to not rely on it, except there is some function like `addChild(, )` 11:02 <+bridge> [ddnet] <π™Ίπšžπš›πš˜πšœπš’πš˜> Thank you for your help will you be able to show the use case? 11:02 <+bridge> [ddnet] <π™Ίπšžπš›πš˜πšœπš’πš˜> Is it something like that? 11:02 <+bridge> [ddnet] <π™Ίπšžπš›πš˜πšœπš’πš˜> Elem* pE = CreateElement("name", size); 11:02 <+bridge> [ddnet] <π™Ίπšžπš›πš˜πšœπš’πš˜> Elem* pE2 = CreateElement("some2", size); 11:02 <+bridge> [ddnet] <π™Ίπšžπš›πš˜πšœπš’πš˜> pE->addchild("some2", pE2); 11:02 <+bridge> [ddnet] <π™Ίπšžπš›πš˜πšœπš’πš˜> Thank you for your help will you be able to show the use case? 11:02 <+bridge> [ddnet] <π™Ίπšžπš›πš˜πšœπš’πš˜> Is it something like that? 11:02 <+bridge> [ddnet] <π™Ίπšžπš›πš˜πšœπš’πš˜> ```Elem* pE = CreateElement("name", size); 11:02 <+bridge> [ddnet] <π™Ίπšžπš›πš˜πšœπš’πš˜> Elem* pE2 = CreateElement("some2", size); 11:02 <+bridge> [ddnet] <π™Ίπšžπš›πš˜πšœπš’πš˜> pE->addchild("some2", pE2);``` 11:02 <+bridge> [ddnet] yes smth like that, but since the name is already in createElement, u can probably skip it in addChild 11:04 <+bridge> [ddnet] <π™Ίπšžπš›πš˜πšœπš’πš˜> Then the calling variant can be used if the name is a unique key, something like? 11:04 <+bridge> [ddnet] <π™Ίπšžπš›πš˜πšœπš’πš˜> ```pE->getchild("some2")->RegisterCallback(somecallback);``` 11:04 <+bridge> [ddnet] yes 11:05 <+bridge> [ddnet] or just use operator overloading 11:05 <+bridge> [ddnet] if u prefer less typing 11:05 <+bridge> [ddnet] 11:05 <+bridge> [ddnet] (*pE)("some2") 11:05 <+bridge> [ddnet] like u did before 11:06 <+bridge> [ddnet] <π™Ίπšžπš›πš˜πšœπš’πš˜> Thanks, i will try to implement your version, it looks more understandable when using it 11:09 <+bridge> [ddnet] <π™Ίπšžπš›πš˜πšœπš’πš˜> Thanks, i will try to implement your version, it looks more understandable when using it. 11:09 <+bridge> [ddnet] <π™Ίπšžπš›πš˜πšœπš’πš˜> Yes, and in this case it is possible to implement ``getchilds()` more clearly 11:09 <+bridge> [ddnet] <π™Ίπšžπš›πš˜πšœπš’πš˜> Thanks, i will try to implement your version, it looks more understandable when using it. 11:09 <+bridge> [ddnet] <π™Ίπšžπš›πš˜πšœπš’πš˜> Yes, and in this case it is possible to implement `getchilds()` more clearly 11:12 <+bridge> [ddnet] <π™Ίπšžπš›πš˜πšœπš’πš˜> Thanks, i will try to implement your version, it looks more understandable when using it. 11:12 <+bridge> [ddnet] <π™Ίπšžπš›πš˜πšœπš’πš˜> Yes, and in this case it is possible to implement `getchildren()` more clearly 11:32 <+bridge> [ddnet] My Teehistorian archive is now getting large to be backed up to the largest available 2.5" disks: 11:32 <+bridge> [ddnet] ``` 11:32 <+bridge> [ddnet] /dev/sda1 4.6T 4.5T 58G 99% /mnt/backup2 11:32 <+bridge> [ddnet] ``` 11:32 <+bridge> [ddnet] Grows ~50 GB per week, so will be out of space next week. I don't like 3.5" disks, they are so loud and power hungry 11:34 <+bridge> [ddnet] 50 GiB per week? oof 11:34 <+bridge> [ddnet] I should check my backups 11:35 <+bridge> [ddnet] Maybe I had trouble last week and didn't complete the backup because of that, not an exact measure 11:38 <+bridge> [ddnet] use stronger compression xd 11:38 <+bridge> [ddnet] hi 11:38 <+bridge> [ddnet] buy 8tb ssd for 600€ 11:38 <+bridge> [ddnet] hey, whats up 11:39 <+bridge> [ddnet] nothing) 11:39 <+bridge> [ddnet] i just wanna to say "hi" 11:39 <+bridge> [ddnet] but now you said more than hi 11:39 <+bridge> [ddnet] Hm yeah, it's actually `xz -0`, but `xz -9` recompressing everything would probably take a few weeks, I'll check how much it saves 11:40 <+bridge> [ddnet] I prefer 5TB HDD for 65 € 11:41 <+bridge> [ddnet] well lets face reality then, how much is 3.5'' more engery really in energy costs? & if its too load, can you not simply buy a case that blocks noise? 11:41 <+bridge> [ddnet] or put it where ur washing maschine is xD 11:42 <+bridge> [ddnet] No LAN connection in my bathroom πŸ˜„ 11:44 <+bridge> [ddnet] What, i didn't know hdds were so cheap 12:05 <+bridge> [ddnet] it probs doesnt have the highest read/write speed 12:05 <+bridge> [ddnet] but for long term storage i guess ye 12:06 <+bridge> [ddnet] i cant find any for 65€ on amazon tho 12:10 <+bridge> [ddnet] https://diskprices.com/ 12:29 <+bridge> [ddnet] Not worth it, saves 20%, but takes much longer to compress 12:48 <+bridge> [ddnet] 20% sounds like lot tho 12:48 <+bridge> [ddnet] zstd maybe? 12:48 <+bridge> [ddnet] Might give better compression with less of a performance hit 12:48 <+bridge> [ddnet] better probably not, does it? 12:48 <+bridge> [ddnet] I just tried to google 12:48 <+bridge> [ddnet] Either way, we should find a better solution, should we just archive the oldest 1TB to some non-live storage that doesn't use power or make a sound? 12:49 <+bridge> [ddnet] zstd -19 is about equal to xz -0, just a lot faster 12:50 <+bridge> [ddnet] lzma2 on max is good for tw demos at least πŸ˜„ 12:50 <+bridge> [ddnet] 12:50 <+bridge> [ddnet] 23gb into 2gb 12:51 <+bridge> [ddnet] @Not Keks Phoronix with Vulkan coming: https://github.com/phoronix-test-suite/phoronix-test-suite/issues/675 12:51 <+bridge> [ddnet] NICE 12:51 <+bridge> [ddnet] Want to see those 15k fps numbers πŸ˜„ 12:51 <+bridge> [ddnet] haha, well i disabled most of the HUD, that already saves 1-2k fps 12:52 <+bridge> [ddnet] but maybe rtx 4090 and ryzen 7000 12:52 <+bridge> [ddnet] Yeah, I think text is expensive 12:52 <+bridge> [ddnet] 1TB of amazon glacier storage is 4$ per month. Access to it is 0.1$ per GB, so as long as we don't access it storing a tb or so of it in there might not be the worst idea 12:53 <+bridge> [ddnet] `mom I need some stuff for a test` 12:53 <+bridge> [ddnet] `sure if it's a test` 12:53 <+bridge> [ddnet] ` : troll` 12:53 <+bridge> [ddnet] i heard nvidia is limiting stock of 4090 on purpose 12:53 <+bridge> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/1021011097270091838/unknown.png 12:53 <+bridge> [ddnet] https://wasabi.com/cloud-storage-pricing/#three-info 12:53 <+bridge> [ddnet] this is how i archive over 10k rn 12:53 <+bridge> [ddnet] so only fps and time visible 12:53 <+bridge> [ddnet] there you can even download it (6$ per month, no extra charges) 12:54 <+bridge> [ddnet] That's even better 12:54 <+bridge> [ddnet] even if they wouldnt do it on purpose they couldn't scale probably 12:54 <+bridge> [ddnet] if its really around 60% faster... ppl are too rich, i tell ya xD 12:54 <+bridge> [ddnet] L 12:54 <+bridge> [ddnet] whoops 12:54 <+bridge> [ddnet] Or if you have access to a tape drive we can put a TB or 2 into tape, though access would be pretty annoying πŸ˜„ 12:57 <+bridge> [ddnet] backblaze has 5$ per month, I *think* it's also okayish with egress fees 12:57 <+bridge> [ddnet] Another $ for unlimited egress sounds better 12:58 <+bridge> [ddnet] "unlimited" 12:58 <+bridge> [ddnet] is the storage part of the ddnet donations? 12:58 <+bridge> [ddnet] I think it was limited to ~the size of the stored data per month or so 12:58 <+bridge> [ddnet] currently it's stored by deen and heinrich, from their own pocket 12:59 <+bridge> [ddnet] ok, well i have around 6TB free at my server, but dunno for how long 12:59 <+bridge> [ddnet] but that wouldnt solve the problem, only give an extra backup 13:00 <+bridge> [ddnet] this looks sane, when would we ever want to download the entire thing again πŸ˜„ 13:00 <+bridge> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/1021012821250682992/unknown.png 13:01 <+bridge> [ddnet] just use telegram or discord, there is no total size limits & 2gb per file xDDD 13:01 <+bridge> [ddnet] 13:01 <+bridge> [ddnet] yeah i know TOS 13:02 <+bridge> [ddnet] I think all online/cloud solutions will be expensive. I might just get another 18 TB drive 13:03 <+bridge> [ddnet] 250€ for 14TB 13:04 <+bridge> [ddnet] thats okish i assume 13:04 <+bridge> [ddnet] 16tb for 250 too 13:07 <+bridge> [ddnet] Hm, are there even 2.5" drives with 18tb? 13:19 <+bridge> [ddnet] no, max 5 TB 13:25 <+bridge> [ddnet] Well, there are SSDs, but I don't want to pay 30k € 13:25 <+bridge> [ddnet] why not, all for ddnet 13:25 <+bridge> [ddnet] i sold my soul to ddnet 13:25 <+bridge> [ddnet] ok, just 4.5k nowadays: https://www.klarsicht-it.de/Intel-Solid-State-Drive-D5-P5316-Series-Solid-State-Disk-verschluesselt-30.72-TB-intern-2.5-6.4-cm/16638528 15:52 <+bridge> [ddnet] <π™Ίπšžπš›πš˜πšœπš’πš˜> Is there an option that allows you not to close the voting menu (which is called by the ESC button) after selecting an option? Since some mods use voting as a server menu, I think it would be a useful option 16:07 <+bridge> [ddnet] `cl_show_votes_after_voting 1` 16:19 <+bridge> [ddnet] <π™Ίπšžπš›πš˜πšœπš’πš˜> Where is it implemented? I can't find it for some reason, it doesn't work for me 16:20 <+bridge> [ddnet] press f1 16:20 <+bridge> [ddnet] <π™Ίπšžπš›πš˜πšœπš’πš˜> Where is it implemented? I can't find it for some reason, it doesn't work for me 16:20 <+bridge> [ddnet] <π™Ίπšžπš›πš˜πšœπš’πš˜> `I found where it is implemented` 16:20 <+bridge> [ddnet] <π™Ίπšžπš›πš˜πšœπš’πš˜> I mean in the code itself 16:20 <+bridge> [ddnet] search for `ClShowVotesAfterVoting` 16:21 <+bridge> [ddnet] <π™Ίπšžπš›πš˜πšœπš’πš˜> I found where it is implemented 16:22 <+bridge> [ddnet] <π™Ίπšžπš›πš˜πšœπš’πš˜> This refers to the hud voting window `about voting` 16:23 <+bridge> [ddnet] <π™Ίπšžπš›πš˜πšœπš’πš˜> https://github.com/ddnet/ddnet/blob/49bed7193291a354c6ff01500e1b8e6bf9396165/src/game/client/components/hud.cpp#L576 16:37 <+bridge> [ddnet] is this still a question? 16:39 <+bridge> [ddnet] <Ясно ΠŸΠΎΠ½ΡΡ‚Π½ΠΎ> @deenfix anti ddos on ger3 16:39 <+bridge> [ddnet] <Ясно ΠŸΠΎΠ½ΡΡ‚Π½ΠΎ> i got spike lag 16:41 <+bridge> [ddnet] <π™Ίπšžπš›πš˜πšœπš’πš˜> Thx, i found it, maybe you misunderstood me, but I meant (UiCloseWindowAfterChangingSetting) 16:46 <+bridge> [ddnet] Dont join fake servers. 16:48 <+bridge> [ddnet] <Ясно ΠŸΠΎΠ½ΡΡ‚Π½ΠΎ> idiot? 16:49 <+bridge> [ddnet] <Ясно ΠŸΠΎΠ½ΡΡ‚Π½ΠΎ> https://cdn.discordapp.com/attachments/293493549758939136/1021070354699014295/unknown.png 16:49 <+bridge> [ddnet] <Ясно ΠŸΠΎΠ½ΡΡ‚Π½ΠΎ> ping 37 16:49 <+bridge> [ddnet] <Ясно ΠŸΠΎΠ½ΡΡ‚Π½ΠΎ> but sometimes i got 60 16:49 <+bridge> [ddnet] @Ясно ΠŸΠΎΠ½ΡΡ‚Π½ΠΎ don't call others "idiot" 16:49 <+bridge> [ddnet] <Ясно ΠŸΠΎΠ½ΡΡ‚Π½ΠΎ> ok 16:54 <+bridge> [ddnet] <Ясно ΠŸΠΎΠ½ΡΡ‚Π½ΠΎ> my internet speed 16:54 <+bridge> [ddnet] <Ясно ΠŸΠΎΠ½ΡΡ‚Π½ΠΎ> https://cdn.discordapp.com/attachments/293493549758939136/1021071768162684958/unknown.png 17:05 <+bridge> [ddnet] where can i get list of all ddnet maps 17:09 <+bridge> [ddnet] I think from here: https://github.com/ddnet/ddnet-maps 17:09 <+bridge> [ddnet] i need to fetch them from js code 17:10 <+bridge> [ddnet] do you use unix (linux/macos)? 17:10 <+bridge> [ddnet] nop 17:10 <+bridge> [ddnet] :| 17:11 <+bridge> [ddnet] xD I can send you the list then let me download the repo first 17:12 <+bridge> [ddnet] i have wsl o.o 17:15 <+bridge> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/1021076995842527304/listofmaps 17:15 <+bridge> [ddnet] it's a txt file 17:15 <+bridge> [ddnet] find . -type f | grep '\.map' > listofmaps 17:15 <+bridge> [ddnet] the command 17:18 <+bridge> [ddnet] `find . -type f | grep '\.map' > listofmaps` 17:21 <+bridge> [ddnet] `find .` is to list files in the working directory. 17:21 <+bridge> [ddnet] `-type f` is so it will only list files not directories 17:21 <+bridge> [ddnet] `|` pipes it to another programm (in this case grep) 17:21 <+bridge> [ddnet] `grep '\.map'` only prints the files which have the .map extension 17:21 <+bridge> [ddnet] `>` redirects the standard output to a file (in this case) 17:22 <+bridge> [ddnet] `listofmaps` the name of the file to save the list of the maps 17:22 <+bridge> [ddnet] hope it helps 17:39 <+bridge> [ddnet] wtf? just use `find . -type f -name '*.map'` 17:52 <+bridge> [ddnet] @Chairn https://xkcd.com/1053/ 17:57 <+bridge> [ddnet] :BASED: 17:58 <+bridge> [ddnet] the find rust alternative fd is better 17:58 <+bridge> [ddnet] fd -e map 17:59 <+bridge> [ddnet] smh 17:59 <+bridge> [ddnet] `fd -e map` 18:02 <+bridge> [ddnet] 18:02 <+bridge> [ddnet] `fd -e zip -x unzip` 18:02 <+bridge> [ddnet] poggers 18:03 <+bridge> [ddnet] > If there are two such files, file1.zip and backup/file2.zip, this would execute unzip file1.zip and unzip backup/file2.zip. The two unzip processes run in parallel (if the files are found fast enough). 18:03 <+bridge> [ddnet] ``` 18:03 <+bridge> [ddnet] Find all *.h and *.cpp files and auto-format them inplace with clang-format -i: 18:03 <+bridge> [ddnet] 18:03 <+bridge> [ddnet] fd -e h -e cpp -x clang-format -i``` 18:03 <+bridge> [ddnet] it looks so clean 18:04 <+bridge> [ddnet] ah I forgot about -name I knew it existed but couldn't rembmer the name of it probably should have opened a man page 18:06 <+bridge> [ddnet] if you are on debian 18:06 <+bridge> [ddnet] apt install tldr 18:06 <+bridge> [ddnet] tldr find 18:06 <+bridge> [ddnet] rly handy 18:06 <+bridge> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/1021089884036944072/unknown.png 18:07 <+bridge> [ddnet] the same for fd 18:07 <+bridge> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/1021090053302263939/unknown.png 18:10 <+bridge> [ddnet] I found tldr and tldr++ which is better 18:10 <+bridge> [ddnet] I use arch btw 18:10 <+bridge> [ddnet] hackermans 18:13 <+bridge> [ddnet] how come you don't use this one https://github.com/luthfianto/rust-tldr ? 18:13 <+bridge> [ddnet] i dont use outdated software 18:13 <+bridge> [ddnet] i live on the edge 18:15 <+bridge> [ddnet] oh didn't see it had to update since 2016 18:34 <+bridge> [ddnet] is it native wayland @nori ? 18:40 <+bridge> [ddnet] wdym by native wayland? 18:40 <+bridge> [ddnet] it is not xwayland u mean? 18:40 <+bridge> [ddnet] SDL forced to wayland with GLES backend 18:44 <+bridge> [ddnet] so its also the opengl backend 18:44 <+bridge> [ddnet] ok 18:44 <+bridge> [ddnet] vulkan still too bugy for u to test? 18:45 <+bridge> [ddnet] opengl sadly has almost no control over what happens under the hood with the glGetRGB command to fetch framebuffer content 18:47 <+bridge> [ddnet] yes i get way lower fps on vulkan + more fan noise 18:52 <+bridge> [ddnet] but thats not yet a bug is it ^^ 18:52 <+bridge> [ddnet] just some weirdness nobody can explain 18:57 <+bridge> [ddnet] other games works fine way better on vulkan tho, it is just weirdness happening on ddnet :d 18:58 <+bridge> [ddnet] example? 18:58 <+bridge> [ddnet] like dota 18:59 <+bridge> [ddnet] does run in native wayland? 18:59 <+bridge> [ddnet] hmm true 18:59 <+bridge> [ddnet] probably not on wayland xD 19:00 <+bridge> [ddnet] but IIRC i tried vulkan backend wtihout forcing sdl to wayland too 19:01 <+bridge> [ddnet] fps was still low 19:02 <+bridge> [ddnet] well thats indeed weird, but can be unrelated πŸ˜„ 19:02 <+bridge> [ddnet] i mean i have the same GPU generation as you 19:03 <+bridge> [ddnet] but it is igpu 19:03 <+bridge> [ddnet] but i think for me on wayland fps are even higher than x11 19:03 <+bridge> [ddnet] ah right 19:03 <+bridge> [ddnet] maybe works better on opengl no idea 19:03 <+bridge> [ddnet] yeah weird, bcs android is like 100% faster with vk xD 19:03 <+bridge> [ddnet] so mobiles generally also profit 19:04 <+bridge> [ddnet] also smth weird, i get way more fps on igpu than dgpu :D 19:05 <+bridge> [ddnet] like 1000 on igpu, 400fps on dedicated 19:05 <+bridge> [ddnet] tf 19:06 <+bridge> [ddnet] well thats possible if u also have something like nvidia optimus, just the AMD variation of it 19:06 <+bridge> [ddnet] u could e.g. monitor if both GPU have usage, when u use the dedicated one 19:06 <+bridge> [ddnet] then its clear it copies data from one to the other 19:07 <+bridge> [ddnet] yea it is called amd switchable graphics 19:07 <+bridge> [ddnet] rest in peace 19:42 <+bridge> [ddnet] i switch to wayland now, it better dont working for me 2 :toptri: 19:46 <+bridge> [ddnet] > [CMake] CMake Error: The following variables are used in this project, but they are set to NOTFOUND. 19:46 <+bridge> [ddnet] > [CMake] Please set them or make sure they are set and tested correctly in the CMake files: 19:46 <+bridge> [ddnet] > [CMake] CURL_LIBRARY 19:46 <+bridge> [ddnet] How do I fix this? 19:47 <+bridge> [ddnet] delete build dir and try again xd 19:48 <+bridge> [ddnet] rendering seems to work fine for me 19:48 <+bridge> [ddnet] 19:48 <+bridge> [ddnet] FPS ARE OUT OF HOUSE XD 19:48 <+bridge> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/1021115481962328104/unknown.png 19:48 <+bridge> [ddnet] I am trying to get curl to work in my project, this is not DDNet @Not Keks 19:48 <+bridge> [ddnet] @nori well for me vulkan works fine on wayland xD 19:48 <+bridge> [ddnet] I dont know why it doesnt take the bundled curl 19:48 <+bridge> [ddnet] then find_package failed 19:48 <+bridge> [ddnet] ah 19:49 <+bridge> [ddnet] it should take the bundled version from ddnet-libs 19:49 <+bridge> [ddnet] it does so for freetype and sdl2 too 19:49 <+bridge> [ddnet] as an example 19:49 <+bridge> [ddnet] does it find the CURL_INCLUDE_DIRS tho? 19:50 <+bridge> [ddnet] i think yes, at least the include works in my file, and i get the defines and shit 19:50 <+bridge> [ddnet] lol 19:50 <+bridge> [ddnet] so nori exclusive bug? 19:51 <+bridge> [ddnet] i dunno, but i rendered with vulkan too 19:52 <+bridge> [ddnet] Any ideas Jupeyy? 19:53 <+bridge> [ddnet] i usually debug it by looking what find_library inside the FindCurl.cmake tries to search 19:53 <+bridge> [ddnet] but there is defs a better way 19:53 <+bridge> [ddnet] FindCurl? πŸ˜„ 19:53 <+bridge> [ddnet] it should be in /cmake 19:53 <+bridge> [ddnet] in ddnet source dir 19:54 <+bridge> [ddnet] Aha, I dont have that in my project. 19:54 <+bridge> [ddnet] Is that something generated, or can I simply copy it? 19:54 <+bridge> [ddnet] simply copy 19:54 <+bridge> [ddnet] Thanks 19:54 <+bridge> [ddnet] Aye, it worked! 19:59 <+bridge> [ddnet] Hello. Sorry for "wrong channeling" but I'm asking as a dev. Do we have some kind of new master server registration (which requires some new impl on the server side)? 19:59 <+bridge> [ddnet] 19:59 <+bridge> [ddnet] Namely, yesterday the size of `https://master1.ddnet.org/ddnet/15/servers.json` was 513K, today it is 285K. My server is not visible in DDNet client but in the server logs I see `[register]: server registered`. 20:00 <+bridge> [ddnet] they is a new registration, but it should still fetch the old servers 20:00 <+bridge> [ddnet] probably the tool cannot access the tw master servers or smth like that 20:00 <+bridge> [ddnet] there is a new registration, but it should still fetch the old servers 20:00 <+bridge> [ddnet] Since GER3 uses the protection from my host now the attacker gets a little mad over it, and tries to find other ways to make the game unplayable. 20:00 <+bridge> [ddnet] He makes the servers that use the old registration method unavailable in the list. 20:01 <+bridge> [ddnet] You can still join, but they wont show up anymore. You need to implement the new method. 20:01 <+bridge> [ddnet] @heinrich5991 I think you changed something yesterday with master? 20:01 <+bridge> [ddnet] oh, and I switched to a new outgoing ip because chn wasnβ€˜t reachable from old 20:02 <+bridge> [ddnet] deen, its an attack that the servers arent visible 20:02 <+bridge> [ddnet] He does so for KoG, bombay, my server, and others that he randomly finds, as they all use the old method 20:03 <+bridge> [ddnet] What is the 'new registration'? A link to PR would greatly help. 20:04 <+bridge> [ddnet] https://github.com/ddnet/ddnet/pull/5064 20:04 <+bridge> [ddnet] https://github.com/ddnet/ddnet/pull/5326 20:04 <+bridge> [ddnet] yeah my server isn't visible either 20:05 <+bridge> [ddnet] Thanks @fokkonaut β™₯ 20:05 <+bridge> [ddnet] np 20:05 <+bridge> [ddnet] what if we dont see these as attacks but rather professional bugtesting 20:06 <+bridge> [ddnet] ok, so at least not a mistake from our side 20:07 <+bridge> [ddnet] Nope. They reappeared some time ago, and then at some point were gone agai :D 20:10 <+bridge> [ddnet] > The game servers do not support the old registering protocol anymore, the backward compatibility is handled by the masterserver. 20:10 <+bridge> [ddnet] Aha. It means that vanilla teeworlds clients won't see the servers? 20:10 <+bridge> [ddnet] 20:10 <+bridge> [ddnet] Not like I'm very disappointed but time to time people point me to some new incompatibilities with the vanilla client (0.6) and until now I fixed all the issues. Hm. 20:10 <+bridge> [ddnet] they will see it 20:11 <+bridge> [ddnet] 0.7 will see them 20:11 <+bridge> [ddnet] 0.6 too I believe 20:11 <+bridge> [ddnet] yes 20:11 <+bridge> [ddnet] you register via https -> the ip will be inserted to the old masters so that clients can fetch the serverinfo from these ips :) 20:12 <+bridge> [ddnet] Does the DDNet master server has to spoof IPs for that? 20:13 <+bridge> [ddnet] Does the DDNet master server spoof IPs for that? 20:13 <+bridge> [ddnet] No 20:14 <+bridge> [ddnet] The old protocol worked in this way: 20:14 <+bridge> [ddnet] - Server registers it's ip in master 20:14 <+bridge> [ddnet] - Clients fetch ip list from master 20:14 <+bridge> [ddnet] - clients ask every server about their serverinfo 20:15 <+bridge> [ddnet] New protocol works like this: 20:15 <+bridge> [ddnet] - Server registers via HTTP including it's own serverinfo. 20:15 <+bridge> [ddnet] - Clients fetch one big list from the HTTP Master without leaking IP to all servers 20:15 <+bridge> [ddnet] - Master server will add registered ip to the old master list 20:15 <+bridge> [ddnet] - Old clients receive that ip from the master and can manually ask for the serverinfo 20:17 <+bridge> [ddnet] - Old servers registering in the master will lead to the master getting serverinfo manually from that server, so it can be taken into the new list that is provided as json 20:26 <+bridge> [ddnet] It would be cool to have an option to enable the old method for the clients. Someone might not care about leaking the IP but want to have the full list. 20:27 <+bridge> [ddnet] tbh, the real solution would be adding your mod to the kog/community list 20:27 <+bridge> [ddnet] for trusted ppl that contributed to ddnet it should be possible IMO 20:33 <+ChillerDragon> sp someone contributed to ddnet :) 20:33 <+ChillerDragon> go add his srv 20:33 <+ChillerDragon> ip is 127.0.0.1:8303 20:34 <+bridge> [ddnet] is he a ddoser? 20:36 <+ChillerDragon> no proof 20:36 <+bridge> [ddnet] Anyways, that wont fix this issue. 20:37 <+bridge> [ddnet] 1. Leaking IP address is not good and helps the attacker to specifically make you unable to play. 20:37 <+bridge> [ddnet] 2. You can ping all servers manually, but that wont help if the attacker abuses the old protocol, so that your server wont even be registered. 20:40 <+bridge> [ddnet] I believe the profesional testing is over 20:53 <+bridge> [ddnet] @deen we in the news 20:53 <+bridge> [ddnet] https://www.phoronix.com/news/DDNet-Vulkan-Renderer 20:53 <+bridge> [ddnet] wowo 20:55 <+bridge> [ddnet] lmao did he only test igpus rip 20:58 <+bridge> [ddnet] poggers 20:58 <+bridge> [ddnet] lmao 20:58 <+bridge> [ddnet] why wouldnt he test with a 3090 21:02 <+bridge> [ddnet] he uploaded a ss of Xonotic ): where is noby fng instead? 21:03 <+bridge> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/1021134258997301319/shot_20220918_220201w.png 21:16 <+bridge> [ddnet] Nice 21:16 <+bridge> [ddnet] That's the image for category of "weird linux games" I guess πŸ˜„ 21:35 <+bridge> [ddnet] Niche Free Linux Games my beloved 21:46 <+bridge> [ddnet] who writes these articles 21:47 <+bridge> [ddnet] they must know a lot of esoteric games 21:47 <+bridge> [ddnet] cool tho 21:58 <+ChillerDragon> yo nodejs devs how to call parent method? -.- 21:58 <+bridge> [ddnet] mom 21:58 <+ChillerDragon> stackoverflow only gives me the most ugly code possible 21:58 <+ChillerDragon> there has to be a slick es6 way 21:58 <+ChillerDragon> https://zillyhuhn.com/cs/.1663531078.png 21:59 <+ChillerDragon> this is wat i wanna do 21:59 <+ChillerDragon> aw shit forget extends keyword 22:00 <+ChillerDragon> https://zillyhuhn.com/cs/.1663531140.png 22:00 <+ChillerDragon> ok it works xd 22:00 <+ChillerDragon> i swear it didnt earlier 22:00 <+ChillerDragon> sorry for rubberducking in here 22:03 <+ChillerDragon> aw i see i overwrote my function with a attribute using the same name 22:15 <+bridge> [ddnet] Michael Larabel, he's well known for his Linux-based benchmarking 22:29 <+bridge> [ddnet] post this on linux gaming subreddit 22:29 <+bridge> [ddnet] more visibility 22:34 <+bridge> [ddnet] https://www.reddit.com/r/linux_gaming/comments/xhrad8/ddnet_cooperative_platformer_game_adds_vulkan/ 22:34 <+bridge> [ddnet] updoot 22:36 <+bridge> [ddnet] lmao 22:36 <+bridge> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/1021157686789820539/unknown.png 22:37 <+bridge> [ddnet] Good that I used demos that already have very low fps for DDNet standards, otherwise they would complain about going from 5k to 6k πŸ˜„ 22:48 <+bridge> [ddnet] how can u write in their forum 22:48 <+bridge> [ddnet] do i need to wait some days? 22:49 <+bridge> [ddnet] If they have spam problems as DDNet's forum does, first time posters need to be approved manually by a moderator 22:49 <+bridge> [ddnet] too bad 22:50 <+bridge> [ddnet] i'd like to explain why igpus are not a good meassurement for vulkan, vulkan is meant to decrease the CPU overhead, but these iGPUs rather run into a GPU bottleneck or close to it πŸ˜„ 22:50 <+bridge> [ddnet] https://openbenchmarking.org/result/2209186-NE-DDNETJSTA94 22:50 <+bridge> [ddnet] https://openbenchmarking.org/result/2209181-NE-DDNETJSTA39 22:50 <+bridge> [ddnet] my results show a complete different picture πŸ˜„ 22:50 <+bridge> [ddnet] more than 100% more fps 22:51 <+bridge> [ddnet] Interesting that there are some frames that take multiple ms to render, 22:52 <+bridge> [ddnet] well vulkan also has much better frame times as u see in 2nd graph 22:52 <+bridge> [ddnet] almost no jitter 23:22 <+bridge> [ddnet] the server list is the full list; it only doesn't contain old servers if something is getting attacked 23:31 <+bridge> [ddnet] also, as fokkonaut pointed out, leaking your IP address to the attacker helps the attacker 23:58 <+bridge> [ddnet] The list size changed from 513K to 285K, so %45 of the servers were not listed. 23:58 <+bridge> [ddnet] 23:58 <+bridge> [ddnet] > it only doesn't contain old servers 23:58 <+bridge> [ddnet] The said 45%. 23:58 <+bridge> [ddnet] yes, there were attacks today 23:58 <+bridge> [ddnet] The list size changed from 513K to 285K, so %45 of the servers were not listed. 23:58 <+bridge> [ddnet] 23:58 <+bridge> [ddnet] > it only doesn't contain old servers 23:58 <+bridge> [ddnet] The said 45%. The "new servers" are DDNet, the "old servers" are 95% of other mods. 23:58 <+bridge> [ddnet] the old masterserver held up a lot worse to attacks 23:59 <+bridge> [ddnet] The list size changed from 513K to 285K, so 45% of the servers were not listed. 23:59 <+bridge> [ddnet] 23:59 <+bridge> [ddnet] > it only doesn't contain old servers 23:59 <+bridge> [ddnet] The said 45%. The "new servers" are DDNet, the "old servers" are 95% of other mods.