01:10 < bridge> https://github.com/ddnet/ddnet/issues/6973 01:10 < bridge> 01:10 < bridge> Saves using what password? 01:11 < bridge> Yes c: 02:16 < bridge> Hey I'm helping someone use my twgpu tools (to generate images of maps). they managed to make it work on their own pc, but want to run it on a vps. however, whenever they run anything wgpu-related, they get stack smashing errors. I'm not sure if they installed graphics drivers correctly. first, wgpu went "no suitable adapter found", then they followed this https://askubuntu.com/questions/429596/how-to-choose-the-vga-when-setting-up-the-x-server, and 02:16 < bridge> 02:16 < bridge> https://cdn.discordapp.com/attachments/969013185577381888/1198793524452261930/image.png?ex=65c03278&is=65adbd78&hm=8f1bf15c62ee0f85b7b6b6c07d096ba4c4abad145470156d5cb50592c048b28d& 02:16 < bridge> https://cdn.discordapp.com/attachments/969013185577381888/1198790258322591854/image.png?ex=65c02f6e&is=65adba6e&hm=47399799db95d36f273d90a4b97fb83ad5fefb2c04d6a3864669a853c8a8797f& 02:16 < bridge> https://cdn.discordapp.com/attachments/969013185577381888/1198797064247713812/image.png?ex=65c035c4&is=65adc0c4&hm=8ee3ee129f0793c490ff2b0aa5605d3edd124708abbdce3655a7fcf23e92dd05& 02:16 < bridge> wgpu-info is a simple tool that only lists the available adapters for wgpu https://crates.io/crates/wgpu-info 02:16 < bridge> other rust binaries still run normally, such as my map tools 02:16 < bridge> I honestly have no experience at all with vps and graphics drivers, so if anyone has an idea, that would be awesome ^^ 02:18 < bridge> I haven't tried to get them to debug the crash further yet, maybe that is necessary? First wanted to see if someone here has the solution cached 02:25 < ws-client> "has the solution cached" love that phrase haha 02:26 < ws-client> can wgpu run on the cpu? Might be slower but sounds less driver issue painy 02:27 < ws-client> i can offer you to run the same thing on my debian 12 vps and debian 12 laptop if it helps @patiga 02:27 < bridge> I think there are cpu graphics drivers exist, which wgpu could use 02:27 < bridge> maybe mesa? 02:32 < bridge> ChillerDragon: its for someone else, I'm pretty sure they want to run it on their own server 02:33 < bridge> but thanks for the offer :) 02:35 < ws-client> oh no not for production i mean to test the issue if i can reproduce it etc 09:27 < bridge> I used mesas lavapipe, which is vulkan software renderer, in my vps to run try the off screen capabilities of dd-pg engine. 09:27 < bridge> 09:27 < bridge> What was directly a problem is that the mesa 22 and lower didn't work at all on the vps CPU 09:27 < bridge> 09:27 < bridge> I unsafely upgraded them and it worked without problems 09:28 < bridge> But I'm pretty sure it was no stack smashing.. But maybe you can try your tool on your main computer using a software renderer? 09:29 < bridge> Could try to also get this issue 09:44 < bridge> BTW has wgpu no surface less mode if using vulkan back end? 09:44 < bridge> 09:44 < bridge> Normally u don't need any x server. At least not directly.. The mesa drivers have it as dependency. But that's mostly because of the surface extension 09:45 < bridge> In other words. Surfaces are a extension. Without this extension vulkan is really more a communication api for the gpu 09:52 < bridge> afaik, no 09:52 < bridge> surfaces are no extension, and there is no feature for it. you can ofc not use the surface struct, but the feature resolving happens at the device initialization, right? 09:54 < bridge> this sounds good, that should hopefully work 09:55 < bridge> yeah the stack smashing is rly weird imo, how could the graphics driver installation fail so drastically 09:56 < bridge> good point, I'll get back to that if all else fails 👍 09:58 < bridge> For vulkan you have to explicitly enable the surface extension. Which in case of winit or SDL is a call to these APIs to fetch the correct extension name 09:59 < bridge> So if you don't have this control. Then probably not possible 09:59 < bridge> But yeah it happens at instance creation 12:36 < bridge> ChillerDragon: interesting, wouldn't have thought it to be possible ^^ 12:37 < bridge> ChillerDragon: but wait, where are the packets that *also* contain snaps but also interesting other packets? 13:10 < ws-client> @heinrich5991 yep i also realized i didnt post my updated even more complicated filter :D 13:10 < ws-client> https://gist.github.com/ChillerDragon/dff6661613533c9bd17ad790e01e8c97 13:11 < ws-client> it now keeps snaps if the packet also contains non snap packets. I do it by only filtering out snaps if the amount of chunks is the expected amount 13:11 < bridge> this looks better 13:13 < ws-client> https://zillyhuhn.com/cs/.1705925584.png 13:13 < ws-client> sadly i didnt find a way to filter this. But its rare and its a false negative so thats not so bad. 13:14 < ws-client> wireshark filters do have some count methods so it is probably possible to check if input_timing is in there twice but i did not bother yet 13:33 < ws-client> lmao open source china firewall i love it 13:33 < ws-client> https://github.com/apernet/OpenGFW 13:33 < ws-client> oldest commit 2days ago. And 1.6k github stars wtf. This shit is hotter than elon musk tweets 13:34 < ws-client> https://github.com/apernet/OpenGFW/issues/12 13:34 < ws-client> gold 13:34 < ws-client> @TsFreddie u worried too fred? :D 13:36 < ws-client> but it is kinda scary if this thing keeps trending like this. It might be the new normal that some bored front desk employee at a cafe or hotel starts looking at the traffoc of the customers 14:11 < bridge> Tja 14:15 < bridge> ))) new normal 14:16 < bridge> u mean old normal? 14:17 < ws-client> I dont think its a thing. What is common as of right now that a bunch of fancy routers (at least in germany) show which sites the traffic goes to. 14:17 < ws-client> I could see how much traffic at work was porn :D and seen such stats in a few places 14:18 < ws-client> but i never heard of something so sophisticated such as the GFW. That it starts to analyze the packets deeper and migh even show which urls on a specific host are accessed 14:19 < ws-client> Starbucks employees might now see my rcon password for gCTF servers o.O 14:19 < ws-client> popping up in some fancy gui 14:20 < ws-client> okay thats unlikely but i mean they might see what youtube videos i watch 14:20 < ws-client> which is already pretty disturbing 14:24 < ws-client> dude but how has this new repo so many stars?! was it force pushed? 14:24 < ws-client> https://news.ycombinator.com/item?id=39081860 14:24 < ws-client> it has like 0 upvotes on hackernews 14:24 < ws-client> is github algo now more viral than tiktok or what? 14:25 < ws-client> maybe its trending on some chines sites. Again fred help 14:25 < ws-client> https://twitter.com/hardenedlinux/status/1748929921345556512 14:25 < ws-client> also not trending on X 14:26 < bridge> what's gfw? My internet is bad can't open websites... 14:26 < bridge> great firewall 14:26 < bridge> great firewall? 14:26 < ws-client> the chines firewall yes GREAT FIRE WALL 14:26 < bridge> yep 🙂 14:26 < bridge> XDD 14:26 < ws-client> the one that uses block chain and AI to block club penguin in china 14:26 < bridge> To block nearly every western company 14:27 < bridge> I can't tell if you're joking or not :justatest: 14:27 < bridge> Discord, Facebook, Google all is blocked due to GFW 14:27 < bridge> So Tencent can build their own service called Bilibili and QQ 😄 14:27 < bridge> if u can play ddnet there its not that bad 😏 14:28 < ws-client> also github is blocked so basically no dev tooling works in china 14:28 < bridge> Well, its illegal in China. The game itself has no license in china 14:28 < ws-client> many ppl depend on github urls espeially raw.githubusercontent.com 14:28 < bridge> i never in my life read correctly bililibilili xd 14:28 < bridge> AFAIK: To sell games in china, you have to get approval by authorities, thus you need a license 14:29 < bridge> Yeah, its their "youtube" 14:29 < ws-client> dude 12yo fred went to da polis station to register his tw server 14:29 < ws-client> just china things 14:30 < bridge> But it seems that their services are pretty stable 14:31 < bridge> Yes china best. I use weechat a lot 14:31 < bridge> Hello @heinrich5991 @learath2 @deen 14:31 < bridge> 14:32 < bridge> How can I apply for community feature? 14:32 < bridge> Write hand written letter to 14:32 < bridge> 14:32 < bridge> Dennis Felsing 14:32 < bridge> Müllerstraße 6 14:32 < bridge> 62621 Berlin 14:32 < bridge> 14:32 < bridge> And attach copy of passport 14:33 < bridge> leak? 14:34 < bridge> opsi thought it’s private chat 14:34 < bridge> That is not my address 14:34 < bridge> xd fun police 14:37 < bridge> PII data, please remove 14:38 < bridge> not yet, chiller knows you'll move to berlin in approx 5 years to exactly that adress! 14:50 < bridge> chillerdragon: can you even remove messages? :kek: 15:09 < bridge> it seems not XDD 15:36 < bridge> No irc has no such feature. And I also didn’t add a fake remove. Well matrix has one. So I could delete my matrix messages idk what exactly your asking about :D 15:36 < bridge> 15:36 < bridge> Anyways everything posted in this channel stays in irc logs forever 15:37 < bridge> Copying it here from #bugs 15:37 < bridge> It seems like you can't rotate quads anymore with ctrl+left click 15:37 < bridge> It works in 17.1.1 at least 15:37 < bridge> ctrl+click does nothing anymore 15:57 < bridge> Make GH issue 16:17 < bridge> press r 16:17 < bridge> i beblieve 16:21 < bridge> r and move mouse 16:21 < bridge> again r to stop rotating 16:39 < bridge> Lol wtf 16:40 < bridge> Ctrl click was much simpler 16:40 < bridge> Ctrl click was simpler 16:40 < bridge> <♂S1mple♂> i've spent like 2 mins getting used to r, it's not bad 16:49 < bridge> heh, are we going blender style? :D 16:49 < bridge> r to rotate, g to move, s to scale 16:52 < bridge> Is it possible to unable the fact that quads align to one another? 16:53 < bridge> Also, would it be possible to improve the performance when zooming out in the editor (make it as smooth and as fast as the in-game zoom) 17:05 < bridge> is it possible to make it visible if someone is spectateing you? 17:06 < bridge> what exactly 17:07 < bridge> if i select someone with shift for spectating show it for him that i spectate him 17:08 < bridge> like in hearthstone 17:15 < bridge> Yes, it is in the settings menu 17:16 < bridge> Yes, it is in the settings menu, the last two options are about that feature 17:17 < bridge> Is this considered as a bug? 17:17 < bridge> Or was it simply replaced by "r" 17:20 < bridge> I have no idea, it's less practical @archimede67 17:21 < bridge> berlin zip codes start with 1 17:21 < bridge> heinrich casually doxing an entire city 17:22 < bridge> Blender keybindings are pog 17:23 < ws-client> ````https://yes.no```` 17:23 < ws-client> whoops <:justatest:572499997178986510> 17:23 < bridge> Filtered by GFW 17:23 < bridge> OpenGFW 17:23 < bridge> Can’t reach in my censor country 17:23 < bridge> hello there 17:23 < bridge> they already adapted 17:24 < bridge> what will happen if i use for in a tick() 17:24 < bridge> It will cause lags if it’s too slow 17:24 < bridge> But computers are fast 17:25 < bridge> what if the for takes 50 tick's to get don ? 17:25 < bridge> by not pinging everyone 17:25 < bridge> there are lot of fors in tick 17:25 < bridge> As lerato always says: clock cycles are free. Hardware gets better so write slower code! 17:25 < bridge> yeh i see 17:26 < bridge> You need a big ass for to take 50 ticks even on a raspberry pi 17:26 < bridge> Just don’t use while (true) axaxaxax 17:26 < bridge> and use more ram 17:26 < bridge> can you explain the process step in step ? 17:26 < bridge> even if u dont need it 17:26 < bridge> how it will be done 17:27 < bridge> it will make another tread for that for ? 17:27 < bridge> for (auto four = 4; four < 4 + 4; four += 4) { ... } 17:27 < bridge> Just download more tame 17:27 < bridge> Ram 17:27 < bridge> It won’t 17:27 < bridge> You have to do it your self 17:27 < bridge> lmao 17:28 < bridge> will it mess up the tick speed ? 17:28 < bridge> no 17:28 < bridge> C++ is not web scale 17:28 < bridge> If you turn it on it doesn’t scale right up 17:28 < bridge> it depends fully on your for loop 17:28 < bridge> if u download four k teeporn then yes 17:29 < bridge> Doing 100 iterations with simple operations inside is smooth af 17:29 < bridge> it's so web scale 17:29 < bridge> just show your code 17:29 < bridge> no 17:29 < bridge> u always ask questions, i dont even know what u doing 17:29 < bridge> Web scale would turn for loops into threads xaxaxax 17:29 < bridge> why not 17:30 < bridge> the code is personal stuff 17:30 < bridge> yeah for sure 17:30 < bridge> what r u working on? 17:30 < bridge> chillerdragon: i renamed those variables :owo: 17:30 < bridge> he switched to client side hehe 17:31 < bridge> just wondering about for for a second 17:31 < bridge> Cool thanks I’m on da phone will look tomorrow @milkeeycat 17:32 < bridge> i can't foresee your thoughts about using for tho 17:32 < bridge> using four fors inside each other can cause a for-ception. which is bad for performance 17:32 < bridge> perFORmance 17:32 < bridge> to be precise 17:33 < bridge> foresee lmao 17:33 < bridge> yeah just use recursion it’s faster 17:33 < bridge> i will show my code 17:33 < bridge> but don't suggest anything 17:33 < bridge> for four seconds 17:33 < bridge> it's lazy 17:34 < bridge> Lazy code pog 17:34 < bridge> ```cpp 17:34 < bridge> void CCharacter::ExplodingProcess() 17:34 < bridge> { 17:34 < bridge> if(m_ExplodingProcessStartTick == -1) 17:34 < bridge> { 17:34 < bridge> m_ExplodingProcessStartTick = Server()->Tick(); 17:34 < bridge> for(int i; (i <= 16) && m_ExplodingProcessStartTick*(16*10) >= Server()->Tick();) 17:34 < bridge> { 17:34 < bridge> if((i*10)+m_ExplodingProcessStartTick == Server()->Tick()) 17:35 < bridge> { 17:35 < bridge> GameServer()->SendEmoticon(m_pPlayer->GetCID(), i, -1); 17:35 < bridge> i++; 17:35 < bridge> } 17:35 < bridge> } 17:35 < bridge> } 17:35 < bridge> return; 17:35 < bridge> } 17:35 < bridge> ``` 17:36 < bridge> 0fps code 17:36 < bridge> well 1. you dont init int i 17:36 < bridge> that's already a bug 17:36 < bridge> Oh true 17:36 < bridge> i couldn't test it, cus it's crash the sv, but not shuting it down 17:36 < bridge> loool 17:36 < bridge> Also where did the i++ go? 17:36 < bridge> bro i am too stupid to read your code xD 17:36 < bridge> i know this loop took long to be done 17:36 < bridge> Is this chatgpt 17:36 < bridge> git gud :santatrollet: 17:36 < bridge> it looks like u only increase `i` under a certain condition 17:36 < bridge> that sounds pretty scarry 17:36 < bridge> Yes 17:36 < bridge> And the condition involves i 17:36 < bridge> what if that condition is never true? 17:37 < bridge> It goes to 0 fps 17:37 < bridge> i wanted to cycle throgh all the emotes every 10 tick's that's all 17:38 < bridge> if the tee is in exploding process 17:39 < bridge> and the 16 is the maximum emoteicons i guss 17:40 < bridge> 15 maybe 17:41 < bridge> okay first things first: this code should never take longer than 1 tick to run (in reality it will only take a tiny fraction of a tick), assuming that it is bug-free 17:41 < bridge> are you open to suggestions now, or was that the answer you were looking for? 17:45 < bridge> but what if it takes more than 1 tick to be done, yes im open 17:45 < bridge> my fucking masages don't get sent 17:47 < bridge> if it don't take more than 1 tick it's like every other statements in the tick, am i right ? 17:48 < bridge> yes 17:48 < bridge> then there is a bug, causing the loop to last much much longer than it should 17:49 < bridge> like jupstar already said, the variable `i` is not set to any number, causing undefined behavior 17:49 < bridge> but honestly I also struggle to understand the code at all 17:50 < bridge> the code is lazy 17:50 < bridge> like me 17:51 < bridge> can you envolve tick in your for ? 17:51 < bridge> can you involve tick in your for ? 17:51 < bridge> can you involve tick in your for() ? 17:52 < bridge> ah man i get it now 17:52 < bridge> you can't cus you never gonna go to the next tick 17:52 < bridge> you can't cus you never gonna go to the next tick in the for 17:52 < bridge> you can't, cus you never gonna go to the next tick in the for 17:53 < bridge> thanks ❤️ 17:53 < bridge> the problem is that it doesn't seem to make sense to me @mamad_melanin 17:53 < bridge> assuming that `CCharacter::ExplodingProcess` is called every tick, and `m_ExplodingProcessStartTick` is set externally to the tick when the tee explodes, you could simply do: 17:53 < bridge> 1. calculate `tick_duration = server_tick - current_tick`, that is the tick duration since the exploding started 17:53 < bridge> 2. do a `if tick_duration < 150 { return; }` to make the animation last only 3 seconds 17:53 < bridge> 3. `emoji = tick_duration % 16` 17:53 < bridge> 4. send that emoji 17:53 < bridge> I don't think you need a for loop for this 17:55 < bridge> exactly :) 17:55 < bridge> yeh this is smart and also fast 17:57 < bridge> at 2., it should be > 150, not < 150 17:59 < bridge> There is `NUM_EMOTICONS`, which is 15. 18:28 < bridge> morning 18:49 < bridge> can i safely assume that this is a fake server now? 18:49 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1199048162325844069/image.png?ex=65c11f9f&is=65aeaa9f&hm=607c505d02e283638e3d0bf7f6a6a29ba2b52c12089a8e70151279144c09e3c6& 18:49 < bridge> 37.221.67.9 18:49 < bridge> $ip 37.221.67.9 18:49 < bridge> 37.221.67.9:8303 18:49 < bridge> 37.221.67.9:8303 is not a DDNet or KoG server. 18:49 < bridge> @avolicious 18:50 < bridge> there is another TUR #1 server with different ip 18:50 < bridge> @heinrich5991 too ^ 18:51 < bridge> 195.85.201.173:8303 18:51 < bridge> (real server) 18:51 < bridge> 195.85.201.173:8303 appears to be a KoG server. DDNet and KoG aren't affiliated. 18:51 < bridge> Join their discord and ask for help there instead. 18:51 < bridge> Yeah, its fake 19:03 < bridge> bb = big ban 19:04 < bridge> ban backwards = nab 19:04 < bridge> @mr.gh0s7 btw, now that you are here. 19:04 < bridge> 19:04 < bridge> Is your new fng server still a thing? 19:04 < bridge> has oreo ever played it? xd 19:05 < bridge> dfng? 19:05 < bridge> i dunno how you called it 19:06 < bridge> I mean it's up but we (me and zogtib) kinda stopped developing it xD 19:06 < bridge> ok xd 19:07 < bridge> I think oreo has played it though :) 19:08 < bridge> It's kinda like ALIVE servers rn 19:08 < bridge> 😬 19:09 < bridge> the main reason i lost interest in dev fng is, that i want more client support 19:09 < bridge> end of 2024 is the time for fng 19:09 < bridge> yeah same 19:11 < bridge> dd-pg is the future! 19:13 < bridge> you have a good taste 😏 20:06 < bridge> https://drive.google.com/file/d/1E_9cr3Kj4wk_3GKM-4wjl_SSzByNg51h/view?usp=drive_link 20:06 < bridge> can someone explain this, i tried to compile my source on a linux server as always 20:08 < bridge> and why downloading and building the rust packages take ages ? 20:08 < bridge> your network problem maybe 20:08 < bridge> you have network problem maybe 20:08 < bridge> fucking rust 20:10 < bridge> @blaiszephyr and I wrote an SQL query to figure out how many new players started in 2023: 20:10 < bridge> 20:10 < bridge> ```sql 20:10 < bridge> SELECT 20:10 < bridge> name, 20:10 < bridge> total_points, 20:10 < bridge> t 20:10 < bridge> FROM 20:10 < bridge> ( 20:10 < bridge> SELECT 20:10 < bridge> r.name, 20:10 < bridge> MIN(r.timestamp) AS t, 20:10 < bridge> SUM(m.points) as total_points 20:10 < bridge> FROM 20:10 < bridge> race AS r 20:10 < bridge> JOIN maps AS m ON r.map = m.map 20:10 < bridge> WHERE 20:10 < bridge> name 20:10 < bridge> GROUP BY 20:10 < bridge> name 20:10 < bridge> ) AS subquery 20:10 < bridge> WHERE 20:10 < bridge> t BETWEEN '2023-01-01' 20:10 < bridge> AND '2023-12-31' 20:10 < bridge> AND total_points > 50; 20:10 < bridge> ``` 20:10 < bridge> 20:10 < bridge> Use it here: https://db.ddstats.org/ 20:10 < bridge> 20:10 < bridge> It assumes that someone is only a new player if their first finish was in 2023 and they have collected more than 50 points in total 20:10 < bridge> 20:11 < bridge> why i never get this before, i didn't changed anything on those files 20:11 < bridge> only 520 - considering the steam release - feels low af 20:11 < bridge> wdym. This is just new players in 2023. Steam release was in 2021 👀 20:11 < bridge> but i guess we can assume people not to reach 50 points before quitting if they dont like the game 20:11 < bridge> wdym. This is just new players in 2023. Steam release was in 2020 👀 20:12 < bridge> sounds like skill isssue 20:13 < bridge> well steam has over 30 million players - over 6 million active ones: 20:13 < bridge> 20:13 < bridge> https://www.statista.com/statistics/1330211/steam-peak-concurrent-players/ 20:13 < bridge> 20:13 < bridge> only 500 feels low at that point, also while ddrace beeing a good rated free2play game 20:13 < bridge> maybe the SQL is actually wrong 💀 20:14 < bridge> well steam has over 30 million players - over 6 million active ones: 20:14 < bridge> 20:14 < bridge> https://www.statista.com/statistics/1330211/steam-peak-concurrent-players/ 20:14 < bridge> 20:14 < bridge> only 500 feels low at that point, also considering ddrace beeing a good rated free2play game 20:16 < bridge> found the issue 20:16 < bridge> there is a rogue `WHERE name` 20:17 < bridge> @blaiszephyr and I wrote an SQL query to figure out how many new players started in 2023: 20:17 < bridge> 20:17 < bridge> ```sql 20:17 < bridge> SELECT 20:17 < bridge> name, 20:17 < bridge> total_points, 20:17 < bridge> t 20:17 < bridge> FROM 20:17 < bridge> ( 20:17 < bridge> SELECT 20:17 < bridge> r.name, 20:17 < bridge> MIN(r.timestamp) AS t, 20:17 < bridge> SUM(m.points) as total_points 20:17 < bridge> FROM 20:17 < bridge> race AS r 20:17 < bridge> JOIN maps AS m ON r.map = m.map 20:17 < bridge> GROUP BY 20:17 < bridge> name 20:17 < bridge> ) AS subquery 20:17 < bridge> WHERE 20:17 < bridge> t BETWEEN '2023-01-01' 20:17 < bridge> AND '2023-12-31' 20:17 < bridge> AND total_points > 50; 20:17 < bridge> ``` 20:17 < bridge> 20:17 < bridge> Use it here: https://db.ddstats.org/ 20:17 < bridge> 20:17 < bridge> It assumes that someone is only a new player if their first finish was in 2023 and they have collected more than 50 points in total 20:17 < bridge> 20:17 < bridge> Unless there is an error in this query, this results in 521 new players. Obviously this excludes people who started playing on existing account names and it definitely includes alt names 20:18 < bridge> @blaiszephyr and I wrote an SQL query to figure out how many new players started in 2023: 20:18 < bridge> 20:18 < bridge> ```sql 20:18 < bridge> SELECT 20:18 < bridge> name, 20:18 < bridge> total_points, 20:18 < bridge> t 20:18 < bridge> FROM 20:18 < bridge> ( 20:18 < bridge> SELECT 20:18 < bridge> r.name, 20:18 < bridge> MIN(r.timestamp) AS t, 20:18 < bridge> SUM(m.points) as total_points 20:18 < bridge> FROM 20:18 < bridge> race AS r 20:18 < bridge> JOIN maps AS m ON r.map = m.map 20:18 < bridge> GROUP BY 20:18 < bridge> name 20:18 < bridge> ) AS subquery 20:18 < bridge> WHERE 20:18 < bridge> t BETWEEN '2023-01-01' 20:18 < bridge> AND '2023-12-31' 20:18 < bridge> AND total_points > 50; 20:18 < bridge> ``` 20:18 < bridge> 20:18 < bridge> Use it here: https://db.ddstats.org/ 20:18 < bridge> 20:18 < bridge> It assumes that someone is only a new player if their first finish was in 2023 and they have collected more than 50 points in total 20:19 < bridge> 20:19 < bridge> Unless there is an error in this query, this results in 24273 new players. Obviously this excludes people who started playing on existing account names and it definitely includes alt names 20:19 < bridge> new number is 24273 20:19 < bridge> new number is 24273 in 2023 20:19 < bridge> yes 20:19 < bridge> it seems rather high tbh 20:19 < bridge> but considering that there are 200.000 unique usernames it might be realistic 20:19 < bridge> how many names is there ? 20:20 < bridge> all the names who ever played ddnet 20:20 < bridge> oh sorry 20:20 < bridge> the 200.000 was unique names in 2023 20:21 < bridge> there are 1.153.219 different usernames in the whole database 20:21 < bridge> there are 1.153.219 different usernames in the whole database 20:21 < bridge> ```sql 20:21 < bridge> select count(distinct Name) from race 20:21 < bridge> ``` 20:21 < bridge> there are 1.153.219 different usernames in the whole database 20:21 < bridge> ```sql 20:21 < bridge> select 20:21 < bridge> count(distinct Name) 20:21 < bridge> from 20:21 < bridge> race 20:21 < bridge> ``` 20:21 < bridge> 1.138.483 20:21 < bridge> is the number i get ? :D 20:22 < bridge> how this is not wrong ? must be more than this 20:22 < bridge> i just ran it again: https://scrumplex.rocks/img/1705951331_zo0Ahl.png 20:22 < bridge> now it's cached 20:22 < bridge> now it's cached for me tho 20:23 < bridge> adding spaces to query to bypass cache results in the same number each time 20:24 < bridge> the number is can't cover even the chinese people 20:24 < bridge> why not? :O 20:24 < bridge> there are too many players and they have unique names ? 20:24 < bridge> hmm.. 20:24 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1199072175953555547/image.png?ex=65c135fc&is=65aec0fc&hm=e087ab6f26c1c27b1e02f1d727222c2c4efdcc7518a5663aada9679508ad620e& 20:25 < bridge> oh i just count all players 20:25 < bridge> no matter which maps they played 20:26 < bridge> ah well then yeah you get `1153219` 20:26 < bridge> maybe it count the players with standard names 20:26 < bridge> so there are 20000 players who only played fun or 0p race maps 20:27 < bridge> someone heeelp 20:27 < bridge> https://scrumplex.rocks/img/1705951667_PhiaV7.png 20:27 < bridge> you need to share the file as public 20:28 < bridge> hah 20:28 < bridge> that would take 10-50 novices 20:28 < bridge> can you see it now ? 20:29 < bridge> or one 5* insane - ez 20:29 < bridge> 50 points is really a lot if u are new 20:29 < bridge> yup. How did you install rust? 20:30 < bridge> yes. But if someone just tries the game once they probably wont have 50 points 20:30 < bridge> it would probably take them a bit for 50 even if they like it imo 20:30 < bridge> or if they look at other modes too 20:30 < bridge> i just did regular cmake stuff, like cmake -B build -C . and make . 20:30 < bridge> but its fine 20:30 < bridge> lul 20:31 < bridge> imagine some gigachad getting 50 points and THEN leaving 20:31 < bridge> there is a problem with the sql query though. Anyone who starts out near the end of the year and doesnt make it to 50 points is forever excluded from this 20:31 < bridge> why does that happen 20:33 < bridge> another screen as in like another monitor? 20:33 < bridge> i could try it on linux 20:34 < bridge> yeah, other monitor in the graphics settings 20:34 < bridge> I can try on windows 11 20:36 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1199075058069545070/image.png?ex=65c138ab&is=65aec3ab&hm=aebe8023e8274afdf5c96e216d2619b7cd1e9cdde1b637e1e940e4f368b15733& 20:36 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1199075058904223895/image.png?ex=65c138ab&is=65aec3ab&hm=6600d9b50c905f6ab8b72016eee96e9e5d81ff58c91864abdc0143ecb3b09113& 20:37 < bridge> when switch to second monitor it's change to windowed mode and resolution is still follow my first monitor that doesn't support on my second one 20:38 < bridge> I meant "windowed borderless" sorry 20:38 < bridge> oh nvm actually 20:38 < bridge> I guess the fix would be the same here 20:38 < bridge> oh okay let me try again 20:38 < bridge> yeah but dont you need to download and install rust first? 20:38 < bridge> Would probably work if we switch to windowed first and then switch back after changing the screen 20:39 < bridge> yeah it's fix it 20:39 < bridge> cuz when i manually put to window fullscreen on second one it's fine for me 20:40 < bridge> no, it get installed with cmake, i compiled my source about 6 times, this is the first time i getting this, and i never changed anything in *.rs files 20:40 < bridge> If you start with Windowed Borderless and not screen 0 then it's still broken though 20:41 < bridge> no it's fine with windowed borderless on screen 1 20:42 < bridge> Thanks for testing, maybe it's a me-problem or specific to Windows 10 then 20:42 < bridge> This issue also happens only to me for some reason #6578 20:42 < bridge> https://github.com/ddnet/ddnet/issues/6578 20:43 < bridge> maybe but it would be nice to when switch to other screen it set to highest resolution 20:43 < bridge> it's happened to me too but In my own custom client so I had to replace restart with quit after update done 20:44 < bridge> And there is also a bug 20:44 < bridge> enter text in chat for example a then enter b 20:44 < bridge> Seems like this fixes the issue for me. When I set the correct resultion windowed borderless also works on other screens. 20:45 < bridge> and when you press up it's show b but press escape button on your keyboard and again open chat and press up it's show a instead of b 20:46 < bridge> in my case my monitor highest resolution isn't same so it's goes out of monitor on second monitor 20:48 < bridge> Not sure I understand correctly, do you use `cl_chat_reset 0`? 20:48 < bridge> no 20:49 < bridge> oh it's fixed on DDNet 18.0 21:07 < bridge> Autorule doesn't work anymore 23:31 < bridge> Did anyone try to add ImGui to ddnet? Cuz default GUI sucks 23:37 < bridge> xddd 23:55 < bridge> and u think imgui is better??? 23:56 < bridge> oh yea i discovered u can plug any stdio compliant language server into qt creator 23:56 < bridge> so i can do like this 23:56 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1199125559154856026/image.png?ex=65c167b3&is=65aef2b3&hm=9d5f46426e16d8378dd75b1a306bf6b3b36316589ee2114481168c376149788d& 23:57 < bridge> and then get rust analyzer in qt creator... 23:57 < bridge> with build in syntax highlighting and custom build steps you can do quite a lot 23:58 < bridge> no formatting for rust tho the only format plugins that exist rn use astyle, clang-format and uncrustify