04:38 <+bridge> [ddnet] what if you haven’t played teworlds for a long time, then I went in and didn’t show the server ddrays 08:47 <+bridge> [ddnet] @RafaelFF @Ryozuki the AUR ddnet/ddnet-git packages should depend on sqlite 09:01 <+bridge> [ddnet] done 10:38 <+bridge> [ddnet] Zwelf: https://github.com/ddnet/ddnet/issues/2558 11:04 <+bridge> [ddnet] Zwelf: Hm, I guess I should look for all team ranks and create them manually now, right? 11:07 <+bridge> [freenode] That would be nice. If you still have the logs, you can grep for the string "found team rank from same team" and update the times. 11:09 <+bridge> [ddnet] or alternatively go through the record_race and find things that look like team ranks but has no equivalent in record_teamrace? 11:10 <+bridge> [ddnet] not trivial to write that though is it? 11:10 <+bridge> [ddnet] hm, I guess you can group by timestamp 11:10 <+bridge> [ddnet] grepping the logs isn't trivial either, they get overwritten, might miss something 11:11 <+bridge> [freenode] yes going through ranks would be good enough as well 11:11 <+bridge> [ddnet] oh well, not so many ranks actually, can do it by hand. 11 for now 11:12 <+bridge> [ddnet] but servers will only restart slowly, so I'll have to monitor 11:13 <+bridge> [ddnet] we should have some test scenarios with sqlite to test the sql code 11:13 <+bridge> [ddnet] before with a real db it was annoying, with sqlite would be nicer to build 11:14 <+bridge> [ddnet] (CI should also at least build mysql) 11:14 <+bridge> [ddnet] yeah, but then you need to start a real mysql server etc 11:14 <+bridge> [ddnet] If we can abstract out a "RaceManager" we could add a lot of tests 11:14 <+bridge> [ddnet] yes, but without building with mysql we get build errors like the one you reported earlier 11:15 <+bridge> [ddnet] sure, but build errors are not so bad 11:15 <+bridge> [ddnet] failing to save ranks is bad 11:15 <+bridge> [ddnet] yes 11:16 <+bridge> [ddnet] Zwelf: You're also not printing out the sql queries anymore, right? 11:19 <+bridge> [ddnet] Makes it hard to find out what the map even was, I liked seeing the SQL in there, would also have been easier to see the mistake then 11:19 <+bridge> [ddnet] Our logs need some work, I think it's very noisy to be useful 11:19 <+bridge> [ddnet] i prefer slightly too noisy 11:20 <+bridge> [ddnet] can still grep 11:20 <+bridge> [freenode] With the prepared statements, there are only `?` in the sql statement, so it isn't that useful anymore. 11:20 <+bridge> [ddnet] @deen that's true 11:21 <+bridge> [ddnet] Zwelf: Isn't there a way to print the prepared statement with the bound values? 11:21 <+bridge> [freenode] Searched for it a bit, but didn't find a way to do this. 11:22 <+bridge> [ddnet] is the game id printed to log somewhere? 11:22 <+bridge> [ddnet] teehistorian name is printed 11:22 <+bridge> [ddnet] ah, good enough 11:23 <+bridge> [ddnet] (which contains the game id) 11:23 <+bridge> [ddnet] but this is still quite some manual work collecting all this info instead of copy-pasting the sql from log 11:24 <+bridge> [ddnet] the game id should also be in the (non-team) ranks btw 11:28 <+bridge> [ddnet] It's mind boggling how shitty the documentation for the cpp connector is 11:28 <+bridge> [ddnet] yeah, might as well skip using it and use straight C 11:28 <+bridge> [ddnet] would drop a dependency \o/ 11:28 <+bridge> [ddnet] would also reduce windows problems with the cpp connector 11:29 <+bridge> [ddnet] might also be easier with the nice abstraction now 11:30 <+bridge> [ddnet] I wonder if there is a nice wrapper library that would let us use any sql implementation rather than just mysql 11:30 <+bridge> [ddnet] Zwelf found one, but it was GPL 11:30 <+bridge> [ddnet] ed 11:31 <+bridge> [freenode] I can't reproduce the /load problem locally and would like to compare Savestrings. Could you send me the output of `SELECT Savegame FROM record_saves WHERE Map = "Just2Easy" AND Code = "gear verse shock";` 11:31 <+bridge> [ddnet] The C library does indeed look much better documented 11:33 <+bridge> [ddnet] Zwelf: https://ddnet.tw/sqlout.txt 11:54 <+bridge> [ddnet] oh ye sqlite rly good for testing 11:54 <+bridge> [ddnet] it even has a memory db option 11:55 <+bridge> [ddnet] im also for removing cpp connector 12:01 <+bridge> [ddnet] https://dev.mysql.com/doc/c-api/8.0/en/c-api-function-overview.html 12:03 <+bridge> [freenode] Mh, copying mysql output doesn't seem to work well for tabs at the end of the line. Could you repeat the command and base64 encode the output: `SELECT to_base64(Savegame) FROM record_saves WHERE Map = "Just2Easy" AND Code = "gear verse shock";` 12:06 <+bridge> [ddnet] done, same link 12:06 <+bridge> [freenode] thanks 12:12 <+bridge> [freenode] Hm, I can load this string locally. I have no idea yet why it fails to load on ger.ddnet.tw. 12:14 <+bridge> [ddnet] locally with sqlite or mariadb? 12:14 <+bridge> [ddnet] different mariadb versions? different default encoding 12:15 <+bridge> [ddnet] I guess I can add some debug printing and try it on GER 12:16 <+bridge> [freenode] Using mariadb (on ubuntu 20.04) 12:17 <+bridge> [ddnet] @Jupstar ✪ https://github.com/ddnet/ddnet/pull/2553#issuecomment-672784157 pls take a look 12:20 <+bridge> [ddnet] Zwelf: I tried `dbg_msg("sql", aSaveString);` and get a very cut off string: 12:20 <+bridge> [ddnet] `[2020-08-12 12:19:52][sql]: 2 1 1 0 12:20 <+bridge> [ddnet] deen 1 0 34 0 1 0 -1 0 1 0 -1 0 1 0 12:21 <+bridge> [ddnet] 0 0 0 0 0 0 0 0 0 0 P` 12:23 <+bridge> [ddnet] And I have no idea where that P in the end comes from, that's not in the DB 12:23 <+bridge> [ddnet] :justatest: 12:30 <+bridge> [ddnet] https://bugs.mysql.com/bug.php?id=94503 12:30 <+bridge> [ddnet] @deen you probably should have printed `"%s", aSaveString` to be sure 12:31 <+bridge> [ddnet] Though I doubt aSaveString contains %s unless someone saved with malicious intent 😛 12:31 <+bridge> [ddnet] yeah, was my own save 12:31 <+bridge> [ddnet] Where did you add the print? 12:34 <+bridge> [ddnet] After the `strcpy(pData->m_pResult->m_aMessage, "Unable to load savegame: data corrupted");` 12:36 <+bridge> [ddnet] We have the exact same version of mysqlcppconnector, so I guess we have the same bug 12:36 <+bridge> [ddnet] have to compile my own mysqlcppconnector I guess, no newer one in Debian 12:37 <+bridge> [ddnet] Why didn't we get this before, didn't we use getString? 12:43 <+bridge> [ddnet] Confirmed, works 12:58 <+bridge> [ddnet] <ᶰ°Konͧsti> Someone pls increase timeout protection on ger2 12:58 <+bridge> [ddnet] <ᶰ°Konͧsti> @deen 13:04 <+bridge> [ddnet] nope, can't connect to it either 13:10 <+bridge> [ddnet] <ᶰ°Konͧsti> give rcon, im on server 13:10 <+bridge> [ddnet] <ᶰ°Konͧsti> :justatest: 13:46 <+bridge> [ddnet] @deen should we maybe whitelist master4 again? 13:51 <+bridge> [ddnet] what do you mean @Learath2 ? 13:52 <+bridge> [ddnet] I thought it was flooding with server ips, looks like randomly spoofed 13:52 <+bridge> [ddnet] ah, sure. where did we get the ips? 13:52 <+bridge> [ddnet] there was this favorites file somewhere, wasn't therE? 13:52 <+bridge> [ddnet] I think we just took all the servers ips 13:52 <+bridge> [ddnet] yeah, but where from? 13:53 <+bridge> [ddnet] hm, with the masters dead I actually am not sure 😄 13:53 <+bridge> [ddnet] found it: https://status.tw/server/dump/6/ 13:54 <+bridge> [ddnet] i will add it to whitelist 13:54 <+bridge> [ddnet] lis2 packages? 13:55 <+bridge> [ddnet] fw!!, bea2 13:55 <+ChillerDragon> pulic ddos mitigation discussion xd 13:55 <+bridge> [ddnet] whatever, it's obvious 13:56 <+bridge> [ddnet] imagine being so much of a cuck that you do spoofed attacks on an old games masterserver 13:56 <+ChillerDragon> yes 0.6 is very old 13:56 <+ChillerDragon> imagine using master server without tokens 13:56 <+ChillerDragon> :p 13:56 <+bridge> [ddnet] imagine being dimwitted enough to think 0.7 master servers are immune to spoofing attacks 13:57 <+ChillerDragon> :/ 13:57 <+bridge> [ddnet] We should have migrated to http masters 13:58 <+bridge> [ddnet] Who cares if 0.7 follows us anyway? We can implement it and use it 13:59 <+ChillerDragon> sounds good 14:00 <+ChillerDragon> btw @Learath2 could you try to explain https://github.com/ddnet/ddnet/commit/444bd934377e3cc63dac45516a1220dcecb3209f#diff-1dd7d837c25bee6c3d340a8e8f388230 for a 6yo? 14:00 <+bridge> [ddnet] recvmmsg doesn't use the same buffer as normal recv 14:01 <+bridge> [ddnet] pData points to the correct one in either case 14:01 <+bridge> [ddnet] Did I do it right? 14:01 <+bridge> [ddnet] nah you seem to have broken serverstatus too 14:01 <+bridge> [ddnet] oh wait 14:01 <+bridge> [ddnet] looks good actually 14:02 <+bridge> [ddnet] weird 14:02 <+ChillerDragon> hm i hate coding :/ 14:02 <+ChillerDragon> i give 100 euros to the person who ports ddnet client to 0.7 14:03 <+ChillerDragon> 200 if its good and merged into ddnet/ddnet 14:03 <+bridge> [ddnet] At 20e per hour that's only 5 hours of work 14:03 <+bridge> [ddnet] If it was only 5 hours of work I'd do it for free 😄 14:03 <+bridge> [ddnet] then hurry up 😄 14:03 <+ChillerDragon> i got it connecting ^ 14:03 <+bridge> [ddnet] I don't like ports anyway 14:04 <+ChillerDragon> but merging with ddnet upstream becomes more annoying every time 14:04 <+bridge> [ddnet] We should clean it up and do it right while going up to 0.7 14:04 <+bridge> [ddnet] @Learath2 why is status not working? 14:04 <+bridge> [ddnet] @deen it wasn't working for a second then it started working again 14:05 <+bridge> [ddnet] ChillerDragon: I actually should have all the tools you need to make ddnet client able to connect to 0.7 servers in place 14:05 <+ChillerDragon> wdym by tools? 14:05 <+ChillerDragon> that current ddnet6 code base is 7ish enough? 14:05 <+bridge> [ddnet] The protocol is generated 14:06 <+ChillerDragon> yea i started working on my ddnet port before you did all the stuff and now i rage quitted the merge 14:06 <+ChillerDragon> anyways i dont get ur code 14:06 <+ChillerDragon> so much 14:06 <+Learath2> :( 14:52 <+bridge> [ddnet] I cant build ddnet on windows 14:52 <+bridge> [ddnet] since the 0.7 layer got merged 14:52 <+bridge> [ddnet] did you recreate your build folder? there were issues with cmake not finding python3 14:53 <+bridge> [ddnet] python3 found, yes. folders all there, I use MSVS 14:53 <+bridge> [ddnet] Then show error 14:53 <+bridge> [ddnet] Not at home right now, but the error is something with the get_msgs and the generated maps I believe 14:53 <+bridge> [ddnet] something with compile.py i think 14:54 <+bridge> [ddnet] i will look for it later 16:45 <+bridge> [ddnet] @Jupstar ✪ i thought arb debug was widely used and available tho 16:46 <+bridge> [ddnet] ARB means its accepted by the opengl commitee blabla 16:46 <+bridge> [ddnet] what u refer would be AMD_debug... 16:46 <+bridge> [ddnet] ARB = OpenGL Architecture Review Board 16:47 <+bridge> [ddnet] well it doesnt matter anymore 20:52 <+bridge> [ddnet] is there a config variable to disable it? 20:52 <+bridge> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/743180157065363486/2020-08-12-215123-screenshot.png 21:26 <+bridge> [ddnet] Just update the client? 🤡 21:36 <+bridge> [ddnet] @nori i don't think so 21:49 <+bridge> [ddnet] compile ur client without autoupdater 22:33 <+bridge> [ddnet] that is without autoupdater already 22:36 <+bridge> [ddnet] @deen I guess google's funding is unlikely to dry up, since they'd become a monopoly in browsers if mozilla would go away 22:47 <+bridge> [ddnet] why wouldnt google want to be monopoly 22:49 <+bridge> [ddnet] "Google is willing to spend that kind of money just to keep Microsoft from starting a partnership with Mozilla." 22:50 <+bridge> [ddnet] i wonder if its true 22:50 <+bridge> [ddnet] Definitely outdated, especially with Edge being Chromium-based now 22:50 <+bridge> [ddnet] google pays firefox to have google as default search engine 22:51 <+bridge> [ddnet] well monopoly is always bad, but i wonder if a company cares about that 22:51 <+bridge> [ddnet] google being this strong is extremely dangerous 22:52 <+bridge> [ddnet] let yandex get search foundings' place 22:52 <+bridge> [ddnet] they know a whole lot about you, and they are not regulated at all 22:52 <+bridge> [ddnet] i know 22:52 <+bridge> [ddnet] i just dont know why they fund mozilla 22:52 <+bridge> [ddnet] I would bet big money that they are manipulating search results to influence public thinking 22:53 <+bridge> [ddnet] their own competitor 22:53 <+bridge> [ddnet] in the browser sector 22:53 <+bridge> [ddnet] More data for them if mozilla uses google as it's search engine 22:53 <+bridge> [ddnet] in 2015 22:53 <+bridge> [ddnet] firefox switched to yahoo 22:53 <+bridge> [ddnet] 70% of users 22:53 <+bridge> [ddnet] I don't think monopolies are always bad, for public infrastructure like railways, water, electricity you want monopolies instead of having 5 different water lines to your house from competing companies 22:53 <+bridge> [ddnet] went back to google search 22:53 <+bridge> [ddnet] i wonder if its worth for them to do this 22:54 <+bridge> [ddnet] Oh definitely, utilities should be a government monopoly 22:54 <+bridge> [ddnet] yeah 22:54 <+bridge> [ddnet] public services should be monpolied by local goverment 22:54 <+bridge> [ddnet] look at the mess of privatized utilities in countries like italy or britain 22:54 <+bridge> [ddnet] USA hospitals 22:54 <+bridge> [ddnet] they charge 5k for a ambulance 22:54 <+bridge> [ddnet] 4 different electricity providers I can choose from all trying to screw you over in different ways 22:54 <+bridge> [ddnet] haha 22:55 <+bridge> [ddnet] but achieving this monopoly is hard 22:55 <+bridge> [ddnet] cuz companies lure goverment 22:55 <+bridge> [ddnet] with lot of money 22:55 <+bridge> [ddnet] and in crisis its esier 22:55 <+bridge> [ddnet] easier 22:57 <+bridge> [ddnet] I wonder when there will be a monopoly buster against amazon 22:57 <+bridge> [ddnet] it's absolutely horrible for small business 22:58 <+bridge> [ddnet] there wont be probs