07:11 < bridge> https://lore.kernel.org/git/20250904-b4-pks-rust-breaking-change-v1-0-3af1d25e0be9@pks.im/ 07:59 < bridge> neat 07:59 < bridge> too bad it's all static 07:59 < bridge> OS gonna get so much bigger if that doesn't get addressed 09:00 < bridge> I appreciate what you are trying to do with this while feature by chopping it up into different PRs but I’m starting to think it’s not all that great an idea. It’s really quite hard to reason about these individual PRs without any context. I think I prefer how robyt3 does his large PRs with small commits instead 09:49 < bridge> <6oorya> https://cdn.discordapp.com/attachments/1419220814997356579/1419221443677519924/image.png?ex=68d0f878&is=68cfa6f8&hm=0248c37bc313cf291c87f3960cc89cffe6da5701fd0078245aa18f0238f84baf& 09:49 < bridge> <6oorya> https://cdn.discordapp.com/attachments/1419220814997356579/1419221613915799656/image.png?ex=68d0f8a0&is=68cfa720&hm=7e6edbb3abd04dd13a6d4e2697b6344c7e270e5858b38eb36daab8d4a4e1efdd& 09:49 < bridge> <6oorya> https://cdn.discordapp.com/attachments/1419220814997356579/1419221649089105991/image.png?ex=68d0f8a9&is=68cfa729&hm=1585747d772204677d3491a3b55381b2c62e73df364cb33dfa0d3398ca9e1ad5& 09:49 < bridge> <6oorya> https://cdn.discordapp.com/attachments/1419220814997356579/1419221679980150805/image.png?ex=68d0f8b0&is=68cfa730&hm=859bc35d9c5078491601e289234c1468569afa773f7c4ad099769eeb2324115e& @everyone 10:08 < bridge> @learath2: go review https://github.com/ddnet/ddnet/pull/10964 then 10:09 < bridge> Bigger prs are so much more maintenance to rebase and so much more work to change all the things that come up in review 10:09 < bridge> Also you know the context 10:11 < bridge> <_6a6kasn> https://cdn.discordapp.com/attachments/1419220814997356579/1419221443677519924/image.png?ex=68d0f878&is=68cfa6f8&hm=0248c37bc313cf291c87f3960cc89cffe6da5701fd0078245aa18f0238f84baf& 10:11 < bridge> <_6a6kasn> https://cdn.discordapp.com/attachments/1419220814997356579/1419221613915799656/image.png?ex=68d0f8a0&is=68cfa720&hm=7e6edbb3abd04dd13a6d4e2697b6344c7e270e5858b38eb36daab8d4a4e1efdd& 10:11 < bridge> <_6a6kasn> https://cdn.discordapp.com/attachments/1419220814997356579/1419221649089105991/image.png?ex=68d0f8a9&is=68cfa729&hm=1585747d772204677d3491a3b55381b2c62e73df364cb33dfa0d3398ca9e1ad5& 10:11 < bridge> <_6a6kasn> https://cdn.discordapp.com/attachments/1419220814997356579/1419221679980150805/image.png?ex=68d0f8b0&is=68cfa730&hm=859bc35d9c5078491601e289234c1468569afa773f7c4ad099769eeb2324115e& @everyone 10:14 < bridge> Didn't this already get veto'd by the backcompat ppl? 10:27 < bridge> It’s fully backwards compatible 10:27 < bridge> Nothing changed or got removed from the old syntax 10:29 < bridge> Small PRs are really op 10:39 < bridge> @milkeeycat Go mentioned 10:40 < bridge> :kek: 11:55 < bridge> why it takes so long to compile ddnet-rs 12:00 < bridge> Might be the rs 12:13 < ws-client> **** Common rust L 12:44 < bridge> oh what the hell i wanted to send a rustlang logo gif and I just got femboyjumpscared 12:44 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1419273179964244098/image.png?ex=68d128a6&is=68cfd726&hm=b3b1a91e25434bcc1eb13284834b3506b07bdb4f8a7cd0e09aeb533954cef540& 12:47 < bridge> Does the points database of DDnet is public? 12:47 < bridge> i am working on #10947 and i am so confused 12:47 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1419273910612004924/image.png?ex=68d12955&is=68cfd7d5&hm=fbf0d078497aaebf04dcfcebc438304d333361f32ea712291a98cd18e255fc68& 12:47 < bridge> https://github.com/ddnet/ddnet/issues/10947 12:48 < bridge> why does it use `ClayerFront::IsEmpty` instead of idk `CLayerTiles::IsEmpty()`?? 12:48 < bridge> why does it use `ClayerFront::IsEmpty` instead of idk `CLayerTiles::IsEmpty`?? 12:49 < bridge> why are there so many `IsEmpty` methods in the first place 12:52 < bridge> Or does it can be generated in someway ? 12:55 < bridge> what's the issue, CLayerFront is a derivative of CLayerTiles? 12:56 < bridge> IsEmtpy is guaranteed a virtual function 12:57 < bridge> i mean yeah but `pTileLayer->IsEmpty()` where `pTileLayer` is of type `std::shared_ptr` i thought it would use `CLayerTiles::IsEmpty` 12:58 < bridge> a shared pointer holds a real dynamic pointer of that type and is just a wrapper for automatic memory handling 12:59 < bridge> oh okay 12:59 < bridge> like make_shared calls `new` somewhere and if the shared pointer runs out of references, it `delete`s it 12:59 < bridge> this oop stuff is so confusing 12:59 < bridge> but i found the issue anyways 13:00 < bridge> it should call `CLayerGame::IsEmpty()` 13:01 < bridge> 😮 then the pointer holds the wrong type 13:02 < bridge> yeah basically it checks if the tile is a valid front tile instead of chacking if it's a valid game tile 13:03 < bridge> most likely the error is before, selecting the wrong layer 13:05 < bridge> Mainly three reasons: 13:05 < bridge> - its a big project 13:05 < bridge> - rust compiles static, so dependencies are compiled too and it has dependencies to e.g. wasmer for wasm which comes with a own compiler etc. 13:05 < bridge> - rust itself has very strong compile time checks which cost cpu too but make life of programmer easier (reward wise) 13:06 < bridge> hmmm understood 13:12 < bridge> Mainly three reasons: 13:12 < bridge> - its a big project 13:12 < bridge> - rust compiles static (and has no stable abi), so dependencies are compiled too and it has dependencies to e.g. wasmer for wasm which comes with a own compiler etc. 13:12 < bridge> - rust itself has very strong compile time checks which cost cpu too but make life of programmer easier (reward wise) 13:12 < bridge> @vahemaaa what feature are you interested in? 13:13 < bridge> im interested in the UI, it looks really good 13:13 < bridge> I guess blazulite would disagree xd 13:14 < bridge> Her concepts are defs better 13:17 < bridge> these 2 come in pair 13:18 < bridge> @thrava: yes you can download the official database with all the ranks made on ddnet there is a link in the readme if I remember correctly. There are also community projects where you can browse the db on a website 13:18 < bridge> At least there used to be. I think https://db.ddstats.org died :/ 13:19 < bridge> I agree, on the other side I can't even add a magnifying glass for zoom without starting a major discussion 13:19 < bridge> there are only [mapinfo maps race teamrace] 4 tables 13:20 < bridge> Tja. Tbh hardest thing about ui is practical vs looking good. Sometimes ui is simply annoying. 13:20 < bridge> i think you have to calculate the amount of points yourself from the race and teamrace tables 13:21 < bridge> I was somehow missing a default keybind there, I have no idea why 13:21 < bridge> yes, so I ask before going to do this 13:21 < bridge> also you can get specific player information in json format from https://ddnet.org/players/?json2=pilonpl 13:21 < furo> @thrava You will have to sum up the points yourself or you can use the msgpack dump which contains all the types of points (though it's a bit annoying to parse) https://ddnet.org/players.msgpack 13:22 < bridge> factually true 13:23 < bridge> tja, some people can't stand 2 secs of magnifying glass, even if it's jus 30 pixels in width 13:23 < bridge> Also I seems to be able to calculate points from the race table and maps table 13:27 < bridge> @thrava: this could help I assume https://github.com/ddnet/ddnet-scripts/blob/master/servers/scripts/recalculate-points.py 13:28 < bridge> Thanks, I'll check later\ 13:28 < bridge> Thanks, I'll check later 13:28 < bridge> Thanks, I'll check it out later 13:31 < bridge> I just found out that I can't change the file name of the Sqlite file, otherwise the database disk image will be malformed 13:31 < bridge> guys 13:31 < bridge> how to create skins? 13:32 < bridge> (publish her) 13:33 < bridge> There is a template somewhere 13:33 < bridge> But I forgot 13:33 < bridge> yes but, how i can publish that?] 13:33 < bridge> yes but, how i can publish that? 13:33 < bridge> Read #📍info then go #📬submit-skins 13:33 < bridge> thx bro 13:34 < bridge> idk how to debug this 13:34 < bridge> i might write a comment under the issue with what i have found so far 13:43 < bridge> show me your pr and i tell you if it sucks or is a game changer 13:47 < bridge> ChillerDragon: helo 13:47 < bridge> they're harrasing someone on your server 13:47 < bridge> funvoting a guy called miner34 13:48 < bridge> with the n word repeatedly 13:50 < bridge> it's an issue, didn't even write a PR for it #10760 13:50 < bridge> https://github.com/ddnet/ddnet/issues/10760 13:51 < bridge> certainly not a gamechanger, for me this is just some quality of life thing 14:01 < bridge> mh dunno, would need to see how it's done to judge if it's annoying or not.. Browsers show it too, but very decent 14:10 < bridge> I also wouldn't put it in the middle of the screen :p 14:11 < bridge> u can always try to contribute to tclient first 14:11 < bridge> then you get feedback from real users 14:13 < bridge> sb already answered, that this is a feature in the t-client already 14:15 < bridge> Am I sb? 14:15 < bridge> and how is it done there 14:18 < bridge> yes you are a sb :brownbear: 14:19 < bridge> and not an anybody, and not a nobody 🙂 14:19 < bridge> no clue, I don't even know where I can download t-client or if I should 14:19 < bridge> I'm not sure if it is but it would fit perfectly into the status bar so have a look there @essigautomat 14:20 < bridge> You know what would be cool 14:20 < bridge> Have zoom make clicky sounds 14:20 < bridge> Like it was a dial 14:22 < bridge> impacto 14:43 < bridge> UI in general could use some sounds 14:43 < bridge> does the screenshot have a sound? 14:44 < bridge> nuh uh 14:44 < bridge> basically nothing but in-game elements 14:44 < bridge> Kinda like how osu!lazer doesn it 14:44 < bridge> Kinda like how osu!lazer does it 14:44 < bridge> because screenshotting has like no feedback afaict 15:13 < bridge> there is feedback in the console 15:41 < bridge> i need to rework my scheduler :/ 15:41 < bridge> but im lazy today so ill play dota 15:42 < bridge> Miner is the goat. He is the most foss person ever. He stopped playing on my server for two weeks when he found out my antibot code is partially closed source. 15:42 < bridge> 15:42 < bridge> About the fun votes I am probably too late but I would hope that less than 80% voted yes or one of my 30 moderators showed up eventually. The n word thing you can fix by going esc -> players -> n worder-> mute 15:45 < bridge> Chiller likes it like that, something something anarchy 15:46 < bridge> Lmao 15:47 < bridge> It would be nice if we had open source ab 15:47 < bridge> Hacked clients have to edit inputs 15:48 < bridge> miner is an awesome person yes 15:53 < bridge> miner plays on Teeworlds 0.7 btw 15:53 < bridge> No ddnet client Andy 15:53 < bridge> Why 15:53 < bridge> Objectively worse experience 15:53 < bridge> he told me the reason but i forgot 15:53 < bridge> He is one of the real ones 15:54 < bridge> i think it was he cant launch the ddnet client 15:54 < bridge> Errr 15:54 < bridge> Might be too bloated 15:54 < bridge> I think miner plays on a toaster 15:54 < bridge> I play on a toaster! 15:54 < bridge> makes a lot of sense considering he's THE foss guy 15:54 < bridge> Like how toaster 15:55 < bridge> I'm on haswell integrated graphics 15:55 < bridge> No gpu 15:55 < bridge> John Linux in person 15:55 < bridge> No integrated either 15:55 < bridge> Ah 15:55 < bridge> He uses software rendering fully foss 15:55 < bridge> Isn't Mesa fully foss? 15:55 < bridge> Bro idk 15:55 < bridge> I think he has like 2 fps 15:56 < bridge> And GPUs have open source drivers 15:56 < bridge> May not be free free though 15:56 < bridge> now that's honestly extremely crazy 15:56 < bridge> As they are controlled by evil people 15:56 < bridge> that's just 15:56 < bridge> straight up an obsession 15:57 < bridge> Yea but somehow he plays a lot 15:57 < bridge> how can one even play without a gpu 15:57 < bridge> Apparently not ddnet xd 15:58 < bridge> ecks dih 16:00 < bridge> Chiller probably pays him to play on 0 7 16:02 < ws-client> **** miner paid actor xd 16:03 < ws-client> **** nah ppl like miner is the reason why i think it is worth to spend time on 0.7 compat 16:03 < ws-client> **** otherwise i would never have had the pleasure to hear miner yap 24/7 about foss into the void 16:03 < bridge> LOL 16:03 < bridge> You spend hundreds of hours for a single person? XD 16:04 < ws-client> **** yes 16:04 < ws-client> **** no tee left behind 16:04 < ws-client> **** also its probably like 3 ppl 16:04 < bridge> you left me behind 16:04 < ws-client> **** nah 16:05 < ws-client> **** you abandoned us 16:05 < ws-client> **** by moving to quic 16:05 < ws-client> **** and then u came back with proxy :3 16:06 < ws-client> **** i would say i have on average one 0.7 user connected to my servers at most times 16:06 < ws-client> **** even up to 3 on the same server if its fuller 16:06 < bridge> how many of those one persons is you? 16:06 < bridge> all of them 16:07 < ws-client> **** i play chillerbot-zx 0.6 16:07 < bridge> I'd love to see how many ppl still find teeworlds on steam 😄 16:07 < bridge> Like without ddnet 16:07 < bridge> stats aint open? 16:07 < bridge> steam games stats aint open? 16:07 < bridge> steam games stats arent open? 16:08 < bridge> i dunno 16:08 < ws-client> **** i think teeworlds still shows way above ddnet in some linux stores 16:08 < bridge> true 16:08 < ws-client> **** also teeworlds is listed here https://en.wikipedia.org/wiki/List_of_TCP_and_UDP_port_numbers 16:08 < ws-client> **** ddnet is not 16:09 < bridge> cant u like give oy his million and buy teeworlds rights 16:09 < bridge> just peanuts for u 16:09 < ws-client> **** heino once offered me tw maintainer 16:09 < bridge> sick 16:09 < ws-client> **** or at least he said he could try to do something 16:09 < ws-client> **** but i would have to take like full responsibility and commit to activity 16:10 < ws-client> **** i cant do that :/ i would only merge occassionally like i can do with ddnet 16:10 < ws-client> **** but it dont want to be pressured into like the full role 16:10 < bridge> a serious competition from teeworlds would be nice 16:10 < ws-client> **** so no millions needed yey 16:10 < bridge> but oy and heino and other ppl all would need to go then 16:11 < bridge> completely new team 16:11 < ws-client> **** @Jupstar ✪ tw is already competing by having lower compile times and code complexity 16:11 < bridge> no ddnet maintainers 16:11 < ws-client> **** less runtime requirements 16:11 < bridge> chiller yeah yeah yeah 16:17 < ws-client> **** empty game servers in ddnet are nicely cpu optimized 16:18 < ws-client> **** but teeworlds servers are so nice on the memory 16:18 < ws-client> **** i think Pathos had to buy a new vps to be able to switch from teeworlds to ddnet-insta xd 16:19 < bridge> Long gone is matricks' carefully laid out memory 16:20 < ws-client> **** in ddnet yes 16:20 < ws-client> **** in teeworlds its still there 16:21 < bridge> ? 16:23 < ws-client> **** ?? 16:23 < bridge> You want to tell me static sized arrays can beat dynamic ones? 16:24 < bridge> ddnet is simply badly written, has nothing todo with matricks doing something awesome xd 16:27 < bridge> ddnet-rs server uses 4MiB. while allocating/reserving for 64p 16:27 < bridge> ddnet server uses at least 17MiB. for 64p 16:27 < bridge> teeworlds uses around 2MiB for 16p 16:32 < bridge> chillerdragon 16:32 < bridge> how much memory does your friend have, how many instances did he run 16:33 < bridge> does ddnet-insta have database support? or anything special? does it do any http requests? 16:33 < bridge> im surprised theres no option to show things in foreground while using an entities background 16:34 < bridge> that is the sense of a background xd 16:36 < bridge> You are just jealous of matricks, it's ok 16:37 < bridge> That guy was 25 or smth when he wrote teeworlds. It's ok that old stuff is not perfect 16:37 < bridge> Just as c99 16:38 < bridge> was there much thought put into the ddnet server database communication? I've never seen another service that uses such a weird system where every server communicates directly with an SQL server, and they all have their own little sqlite mirror. It works fine I guess but it's very opinionated. 16:40 < bridge> Originally it was just every server directly communicates with the sql server. Then we needed a way to store ranks when that failed. So a local database was added 16:41 < bridge> I got the vibe that was what happened from the code, but in general it would be much nicer if they instead communicated with central API that talks to the database, then you can reduce round trips and have caching, and have real backend logic for more complex tasks. 16:41 < bridge> If we were completely redoing it I would probably suggest not linking to an sql library at all. It turned out very annoying and finnicky 16:42 < bridge> and what if that "central api" is down? 16:42 < bridge> What if you can't reach the central api? That's the problem the sqlite db is solving. You'd still need that one 16:43 < bridge> If you want it abstracted out you'll need to implement something like a local proxy for the central server too 16:43 < bridge> you can do the same idea, run another copy of the central api on the same server. if the central api is down use the local service 16:44 < bridge> Anyway, it was grown organically avoiding massive rework at each step. So yeah not really "designed" per se 16:46 < bridge> ddnet <-> db interactions are defs few enough to think about a clean redesign. but i want to see that happening with good amount of tests for fallbacks 😄 16:47 < bridge> And i dont see any dev doing that tbh 16:47 < bridge> If you want to abstract the fallback too it does need excessive testing. The current implementation failed multiple times even though it went through a lot of review and testing 16:48 < ws-client> **** @Jupstar ✪ ddnet-insta is quite close to ddnet. So the ctf gametype he was trying to run would do basic db calls to track stats and no additional http requests. 16:48 < ws-client> **** i forgot what happend exactly or what his specs were but i think he already failed to compile it xd 16:48 < bridge> also, the situation where the local servers can operate while the main SQL is unreachable is not very normal imo. Most of the time you need to authenticate users in some way. It's not the end of the world to just accept that downtime happens, this is a video game. 16:48 < bridge> 16:48 < bridge> I think I take back my previous idea of running a second copy of the central api locally. The only critical thing you need to save locally are finishes, all other endpoints can just stop working, and you don't need a full sqlite for saving backup finishes locally. 16:48 < bridge> i think when i enable db support in ddnet-rs server it directly jumps to like 15MiB 16:48 < bridge> that thing might not be light 16:48 < bridge> Just the linking to sql is annoying enough that it'd be a rework I would be very happy about 16:49 < bridge> but tbf sqlx is also more high level 16:49 < bridge> http client (e.g. for master server registering) also probs 1-2MiB 16:49 < bridge> dunno how efficient curl is 16:49 < bridge> the http interface rather sucks tho, if we were using it 10x as much I hope it could get better 16:50 < bridge> We need to handle finishes and saves locally as a fallback. That's it 16:50 < bridge> without async every IO sucks tbh 16:50 < bridge> or _with_ sync io 16:50 < bridge> 2 text files lol 16:50 < bridge> non-blocking sync calls 16:51 < bridge> although loading saves from the text file is annoying 16:51 < bridge> idk, I would also disable saves if the central api is broken but that's an opinion. 16:52 < bridge> you can keep sqlite for those 2 things maybe 16:52 < bridge> Every leaf server should get a very lightweight proxy api that handles the fallback case 16:52 < bridge> that also works 16:52 < bridge> I like that 16:53 < bridge> why even api? 16:53 < bridge> 16:53 < bridge> you mean microservices? 16:54 < bridge> true, I bet we can make at least 4 services 16:54 < bridge> need scalability ofc 16:54 < bridge> i mean like, do you want to have microservices take your requests and re-route them however needed? 16:54 < bridge> Just a http endpoint provided by whatever that backend would be written in. Idk what you mean by api. 16:55 < bridge> a single service that handles DB communication 16:55 < bridge> You talk about api xD 16:55 < bridge> http api 16:55 < bridge> whatever you wanna call it 16:55 < bridge> ok 16:55 < bridge> I didn't want imply anything about the "api" 16:55 < bridge> that's why ddnet-rs best client ever 16:55 < bridge> is it so 16:56 < bridge> it doesn't need to be http I guess 16:56 < bridge> it's not about client 16:56 < bridge> ddnet-rs client is sadly not very efficient with fonts (egui) 16:56 < bridge> That alone wastes like 60MiB 16:56 < bridge> We have an http client already in there 16:56 < bridge> I mean yeah 16:57 < bridge> I thought you implied to had a different preference with this message 16:57 < bridge> I thought you implied you had a different preference with this message 16:57 < bridge> http is fine 16:57 < bridge> No, I was thinking jupeyy was thinking something else so I wanted to point out that my statement was neutral 16:57 < bridge> oh damn 16:57 < bridge> now I get why you said what you said 16:57 < bridge> It's comparable with ddnet.. More efficient VRAM wise tho 16:57 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1419336848500854815/image.png?ex=68d163f2&is=68d01272&hm=4467f92173c4482e8c70351c93886b60bd6cdd613227fa0e7b7a7c8f8517efc1& 16:58 < bridge> 4kb more efficient? 16:58 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1419336993959182366/image.png?ex=68d16415&is=68d01295&hm=046bd02f253423e38c55c4e712e4ae330b4163ad0d27d9fb9a7c6bb7c7f76838& 16:58 < bridge> 300 MB ram is nothing 16:58 < bridge> From todays view true 16:58 < bridge> It's nothing 16:59 < bridge> 4mb more efficient? 16:59 < bridge> time to create lookup tables for everythign :p 16:59 < bridge> well we're on the 'today' 16:59 < bridge> now let me add my 8 fonts for ddnet-rs ui 😈😈😈😈😈😈 16:59 < bridge> /s 16:59 < bridge> I think I will only use three fonts in total counting fontawesome icons 17:00 < bridge> Well first we need the better UI, then you could convince me to change font :lol: 17:00 < bridge> First we need a non-broken game 17:00 < bridge> DejaVu Sans Book 17:00 < bridge> DejaVu Sans Condensed Bold 17:01 < bridge> FontAwesome 17:01 < bridge> Even if it got better the last weeks, it still sucks to play 17:01 < bridge> broken is a strong word, i'd say the game has some dangling parts :justatest: 17:01 < bridge> What does that mean 17:01 < bridge> I also used DejaVu Sans Mono (Bold) for one of the chat concepts but... :justatest: ehhh I guess this could be replaced by the ook one 17:01 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1419337795125772288/image.png?ex=68d164d4&is=68d01354&hm=874ba3077d470cc726c26768e67998a04aefc6106c1515cc54bd900d48b4b681& 17:01 < bridge> I also used DejaVu Sans Mono (Bold) for one of the chat concepts but... :justatest: ehhh I guess this could be replaced by the Book one 17:01 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1419337795125772288/image.png?ex=68d164d4&is=68d01354&hm=874ba3077d470cc726c26768e67998a04aefc6106c1515cc54bd900d48b4b681& 17:01 < bridge> what do you mean? 17:01 < bridge> I mean the game is in a playable state 17:02 < bridge> The prediction timer is still very aggressive 17:02 < bridge> Join a server it will lag for 2-3s 17:02 < bridge> 17:02 < bridge> Have a ping jitter of 10 and it will lag 17:02 < bridge> We need to think about which component would be best to test on of your concepts 17:03 < bridge> It's impossible to just rewrite the whole UI 17:03 < bridge> At least for me.. I dont have enough time 17:03 < bridge> give me some rust books and I'm doing it myself 😈😈😈😈😈 (I wish) 17:03 < bridge> everytime I see blazulite designs I think of this. except it's like 10x worse for jupstar than the web dev in the meme. 17:03 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1419338274811543582/AQNqitF-fmhI2AqmBsvISAyxkfuBSDo9rSzt0-0rC7TigWsf1S3IZIoJrcVlH4ra3frKMijA-yvJyQdTSxCflfjm3oGgI0taTbdrI9s.mp4?ex=68d16546&is=68d013c6&hm=da6cab5e76eae03c5f74acf803cbbf40bd93e2c0907fbf3d4b3a934c79d9e57f& 17:03 < bridge> YES 17:03 < bridge> YES 17:03 < bridge> TRUE 17:03 < bridge> FACTUALLY TRUE 17:04 < bridge> i cant join any server 17:04 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1419338398854025399/image.png?ex=68d16564&is=68d013e4&hm=20adb7541622e2f7e7abec8fd0d55a2b0b4f302f06ebd7cfff238d8e739c8e9a& 17:04 < bridge> in fact I got told that at least a blazillion times 17:04 < bridge> i just compiled 17:04 < bridge> used to happen to me 17:04 < bridge> then I downloaded the latest builds 17:04 < bridge> kinda true tbh 😂 17:04 < bridge> and it fixed to me 17:04 < bridge> u need to join 20 times 17:04 < bridge> i dunno why servers refuse ddnet-rs client so effectively 17:04 < bridge> srsly no idea 17:04 < bridge> they don't answer at all 17:04 < bridge> libtw2 either doesnt send smth ddnet does 17:04 < bridge> or it somehow knows 17:05 < bridge> btw 17:05 < bridge> jupstar 17:05 < bridge> do u have uh 17:05 < bridge> any already-built ddnet-rs server? 17:05 < bridge> like 17:05 < bridge> @vahemaaa RUS servers usually work 17:05 < bridge> build thing 17:05 < bridge> and when i try to run the exe in release flder, this happens 17:05 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1419338795157032960/image.png?ex=68d165c2&is=68d01442&hm=4dfe71a124eaf51c7ad9e1dea0828d04dd5f2cec07dd03515ff9228323422364& 17:05 < bridge> a build thing 17:05 < bridge> They seem to have worse ddos protection 😂 17:05 < bridge> that means u started the app without data dir 17:06 < bridge> use cargo run --release 17:06 < bridge> or move the exe to data dir 17:06 < bridge> what? 17:06 < bridge> you mean building only the server? 17:07 < bridge> eh ig 17:07 < bridge> 17:07 < bridge> what I mean is when I try to run a ddnet-rs server it always asks for a json and some other things with dont really seem to be there 17:07 < bridge> and I dont know if it's a problem on my own or the program's supposed to autogenerate them or smth idk 17:08 < bridge> Libtw2 might not know the redirect packet 17:08 < bridge> heinrich added that recently 17:08 < bridge> I dont get any answer from the server at all 17:08 < bridge> I connect and it ignores me 17:09 < bridge> can you show the output 17:09 < bridge> I am bit confused 17:09 < bridge> That should be easy enough to diagnose by just comparing wireshark for the early conn on ddnet and libtw2 17:09 < bridge> true, CHILLER 17:09 < bridge> unification 17:09 < bridge> your job 17:09 < bridge> chiller is wireshark pro? 17:09 < bridge> yes 17:09 < bridge> nice 17:10 < bridge> Chiller can learn anything for the sake of letting more versions play together 17:10 < bridge> :lol: 17:10 < bridge> oh that makes sense 17:10 < bridge> he would use it for that 17:10 < bridge> xD 17:10 < bridge> yo 17:10 < bridge> no but he already is wireshark pro 17:10 < bridge> like seriously 17:10 < bridge> he asked heino so often about the wireshark files 17:10 < bridge> I never doubted xd 17:11 < bridge> xdd 17:11 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1419340211510575245/image.png?ex=68d16714&is=68d01594&hm=e281a9325d93a9aaeb21892d6a1c68d83bec5b8217eaf0bb7798ef756563799a& 17:12 < bridge> :justatest: 17:13 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1419340643854979193/image.png?ex=68d1677b&is=68d015fb&hm=c773777d3d4b1ce238bae035a929f3d98d15be12b301305a6ede769b0d71fa39& 17:13 < bridge> That is just an info 17:13 < bridge> If the server didn't crash, then it's on now 17:13 < bridge> ah 17:13 < bridge> Which doesn't mean you can find it in LAN tab 17:13 < bridge> since that logic doesn't exist yet 17:13 < bridge> ohhhhhh 17:14 < bridge> You could register it to master servers tho 17:14 < bridge> or manually connect 17:14 < bridge> using the untrusted cert mode 17:14 < bridge> But the client usually starts an internal server if you click lan tab 17:14 < bridge> Yeah he documented the protocol the best so far 17:14 < bridge> or does that not work on windows? 17:17 < bridge> @blazulite have you ever seen the map vote menu? 17:18 < bridge> Not perfect, since I am no designer.. But I guess you see some potential in it :lol: 17:18 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1419341925596659892/image.png?ex=68d168ad&is=68d0172d&hm=07f2e5649eb2a36960a853de6d20df7703d30c225e31caa6b5e137285774f7df& 17:18 < bridge> You can test it in the twgame server 17:18 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1419342125350260908/image.png?ex=68d168dc&is=68d0175c&hm=062e579d736f3ae4e9e85f8f66b7ebf41c2fe3ce934e0d89f12b38cdfe5cb060& 17:23 < bridge> @teero777 17:25 < bridge> It's not even ddnet-rs specific. Rust just has very meh compile times in general 17:28 < bridge> I dunno how rust compares to e.g. c++. But deps are defs a huge factor.. If you compiled once, incremental builds are pretty fast normally 17:28 < bridge> Only bad thing is that binaries in debug mode are often ~1GiB.. So you need fast SSD 17:30 < bridge> Touching a central header file in a cpp project is defs killer too xd 17:37 < bridge> @jupeyy_keks btw this happens on the latest master for me 17:37 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1419346772098158602/message.txt?ex=68d16d30&is=68d01bb0&hm=0fd3a0b574dc3cbc990a06354ce1f7f4e1e37ffd3565303ac5708a9a165c5ef8& 17:39 < bridge> Have you read the err? 17:39 < bridge> You missing data dir, 99% 17:40 < bridge> git pull --recursive 17:42 < bridge> you're right 18:01 < ws-client> **** yes @Jupstar ✪ davides firewall can be quite strict on how you have to implement the protocol 18:01 < ws-client> **** also got some of my implementations filtered by it 18:02 < ws-client> **** he hosts the ger servers so thats why rus works 18:02 < ws-client> **** only ger has ddos prot right? i am actually not super sure 18:03 < bridge> then tell me more 18:03 < ws-client> **** thats all i know xd 18:04 < ws-client> **** never bothered to look into it 18:04 < bridge> how did u fix it 18:04 < ws-client> **** i could do it for u eventually but right now i play square of gores 2 18:49 < bridge> chillerdragon: love the clip, I feel the panic xd 18:50 < bridge> that you survived the dj is crazy 18:54 < ws-client> **** patiga readin 2 year old discord log 19:37 < bridge> Uh no I didn't xD 19:37 < bridge> Ohhhhhhhh 19:38 < bridge> That's really good as a starting point actually 19:38 < bridge> I do see the potential 19:39 < bridge> Such designer 19:40 < bridge> hi chillerbor 19:40 < bridge> No proof 19:40 < bridge> yes i do 19:42 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1419378295249698856/Screenshot_20250921_144038_1_1.jpg?ex=68d18a8c&is=68d0390c&hm=a54061fcc20b72155027309846946fc16076689bc521735416ef7d7048862aa8& 19:47 < bridge> Shiet 19:49 < bridge> ```class CSqlMapInfoRequest : ISqlData 19:49 < bridge> { 19:49 < bridge> public: 19:49 < bridge> CSqlMapInfoRequest(std::shared_ptr pResult) : 19:49 < bridge> ISqlData(std::move(pResult)) 19:49 < bridge> { 19:49 < bridge> } 19:49 < bridge> 19:49 < bridge> char m_aMapName[64]; 19:49 < bridge> };``` 19:49 < bridge> ```struct CSqlInformationResult : ISqlResult 19:49 < bridge> { 19:49 < bridge> public: 19:49 < bridge> union 19:49 < bridge> { 19:49 < bridge> int m_Integer; 19:49 < bridge> char m_aResultStr[64]; 19:49 < bridge> }; 19:49 < bridge> char m_aErrorMsg[128]; 19:49 < bridge> 19:49 < bridge> CSqlInformationResult() {} 19:49 < bridge> };``` 19:50 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1419380007335100427/image.png?ex=68d18c24&is=68d03aa4&hm=cfaf571c1564d3d89f523d2fadeaafc7d19253bdbc6fceaf6027edeea494a19e& 19:50 < bridge> checkmate teeberal 19:51 < bridge> I basically followed the pattern as score.cpp and scoreworker.h 19:52 < bridge> But there is a converting error passing values 20:01 < bridge> Do you have the classes also in this order in the header file? Try to swap their order if not, you need to define the result before the request. Can you translate the error message? 20:05 < bridge> There is no user-defined appropriate conversion from "std::remove reference_t>" to "std::unique_ptr>". 20:06 < bridge> ```class IDbConnection; 20:06 < bridge> class IGameController; 20:06 < bridge> class CDbConnectionPool; 20:06 < bridge> class CGameContext; 20:06 < bridge> class IDbConnection; 20:06 < bridge> class IServer; 20:06 < bridge> struct ISqlData;``` 20:06 < bridge> I added these to the header file, and the problem still 20:09 < bridge> Furtherly, I copied every `#include` in score and scroeworker .cpp .h , but still 20:16 < bridge> Did you include `scoreworker.h` in the file that contains `CRecordInfo`? 20:18 < bridge> I even copied every `#include` in thier cpp file 20:19 < bridge> there is about 30 lines of include 20:19 < bridge> but didn't solve 20:21 < bridge> Even Copilot end up messed it up 20:21 < bridge> Even Copilot end up messing it up 20:21 < bridge> How? 20:28 < bridge> is making shared ptr, and then making unique ptr from it correct? 20:30 < bridge> Should work, that's also how it's done for the existing SQL requests and data 20:31 < bridge> But the existing requests are executed inside the `CScore` class 20:31 < bridge> Need to see the entire code of `CRecordInfo` 20:33 < bridge> Insane 20:33 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1419391201119043766/image.png?ex=68d19691&is=68d04511&hm=e75770e8721ec48b1e2d2d74e4081d9dd11b46489d38eb93185e398abb8fd38b& 20:34 < bridge> Wait I messed it up 20:35 < bridge> gotcha 20:35 < bridge> :banhammer: 20:36 < bridge> WHAT ? 20:36 < bridge> I copied CSqlPlayerRequest to the make_unique, the code back to normal 20:36 < bridge> Then I keep ctrl+z 20:37 < bridge> Then go back to this version 20:37 < bridge> The error didn't appear 20:37 < bridge> HOW? 20:38 < bridge> But I'm sure this is not IDE latency because it can't compile when, but succeeded just now 20:39 < bridge> @robyt3 once you will look up issues on github please check out editor two row toolbar screenshots, i need feedback. i can just disappear for a month and forget all the stuff after xd 20:39 < bridge> wanna finish it so both prs will go in (or not) 20:40 < bridge> Your IDE might not show warnings and errors perfectly. Did you try compiling? 20:41 < bridge> what a font 20:41 < bridge> No, in the first time it can't be compiled successfully 20:42 < bridge> And now even I just remain the include of connection_pool.h and connection.h, the code still can be compiled normally 20:45 < bridge> Unless I reached a glitch of MSVC just now 20:50 < bridge> Well...In the beginning it's true not IDLE latency or showing incorrect 20:50 < bridge> But I changed the `class CSqlMapInfoRequest : ISqlData` to `struct CSqlMapInfoRequest : ISqlData` in a moment, but IDE didn't update code status, so the error keeps being shown, caused I thought this is not the source 20:51 < bridge> The most stupid encountering I've been in Visual Studio 20:51 < bridge> DX 20:53 < bridge> Well...In the beginning it's true not IDLE latency or showing incorrects 20:53 < bridge> But I changed the `class CSqlMapInfoRequest : ISqlData` to `struct CSqlMapInfoRequest : ISqlData` in a moment between, but IDE didn't update code status after I edit the code, so the error keeps being shown, caused I thought this is not the source 20:53 < bridge> But the fact is the `class` is exactly the source of problem 21:12 < bridge> Thanks for the review Robyt :deen_star: waiting for 10971 now 22:40 < bridge> chargeback appeal go through? lmfao 22:41 < bridge> what is that commit name 23:30 < bridge> it's a triple negation, so chargeback appeal appeal happened or something lol