01:32 <+bridge> [ddnet] please make +/- keybinds for tele/switch 01:32 <+bridge> [ddnet] i beg u 01:33 <+bridge> [ddnet] good first issue 01:33 <+bridge> [ddnet] I HATE YOU FOR SAYING THAT 01:33 <+bridge> [ddnet] because you're right 11:17 <+bridge> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/866972137776218132/friendmark.png 11:17 <+bridge> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/866972142171193374/friendmsg.png 11:17 <+bridge> [ddnet] is there a way to color the friendmark? 11:18 <+bridge> [ddnet] like the friendmsg in chat? 11:18 <+bridge> [ddnet] is there a setting to color the friendmark? 11:19 <+bridge> [ddnet] all i can find is cl_nameplates_friendmark 1 0 but that just turns it on or off 12:34 <+bridge> [ddnet] probs not implemented 13:42 <+bridge> [ddnet] @murpi ^ 13:45 <+bridge> [ddnet] brain and a half 17:19 <+bridge> [ddnet] 👎 17:38 <+bridge> [ddnet] how to edit map's author and version in ddnet client? 17:43 <+bridge> [ddnet] how to edit map's author and version in ddnet client? 17:43 <+bridge> [ddnet] 17:43 <+bridge> [ddnet] > File -> Save -> Map details 18:41 <+bridge> [ddnet] Discord api says I'm being ratelimited, but in the headers it reports me having 8 more slots in the bucket I'm supposedly being ratelimited in 18:41 <+bridge> [ddnet] does it take more than one token? 18:42 <+bridge> [ddnet] token? no there is one bot token 18:42 <+bridge> [ddnet] more than one slot?* 18:42 <+bridge> [ddnet] Ah, nope, atleast it always took one slot all my other previous requests 18:44 <+bridge> [ddnet] my error handling became such a mess today 😦 18:46 <+bridge> [ddnet] @Learath2 how long do you think will it take for your bot to be deployable? The map debugging thing in map testing is kinda important imo, so it would be cool if maybe my change in the python discord bot could be accepted, even if the bot is just temporary 18:47 <+bridge> [ddnet] I can accept it, the bot isn't working though 18:47 <+bridge> [ddnet] The thing is literally broken, why do you think I'm spending like 7 hours a day rewriting it? 18:48 <+bridge> [ddnet] oh, I thought it was just that new maps aren't getting channels 18:48 <+bridge> [ddnet] If you want to take over dealing with @jao being gone I'd be more than happy to let you take over 18:48 <+bridge> [ddnet] I didn't mean to put on pressure, I'm sorry if I phrased that badly 18:49 <+bridge> [ddnet] the already existing testing channels work like normal though if i understood correctly? 18:50 <+bridge> [ddnet] aah, I forgot, you don't even have access to the old discord bot, right? 18:50 <+bridge> [ddnet] The python bot is more than likely fine and has a little bug somewhere, but I can't check it out, because it's running on a server I don't have access to. The owner of the thing is not here for more than 10 minutes to transfer it to a ddnet server and he doesn't care to elaborate on what's broken except for "It's a permissions issue creating channels" 18:50 <+bridge> [ddnet] The bot has admin perms, what permission issue... 18:51 <+bridge> [ddnet] that sucks, then good luck on the rewrite, hope you don't overwork yourself there :) 18:51 <+bridge> [ddnet] I think those are fine, yes 18:52 <+bridge> [ddnet] A tad too late for that, I'm already exhausted 18:53 <+bridge> [ddnet] oh man :/ 18:54 <+bridge> [ddnet] I'm sorry to hear that 18:55 <+bridge> [ddnet] Vacation coming up, a little bit of sea will fix me right up 😛 18:56 <+bridge> [ddnet] I don't think that I can be very helpful for the rewrite (?) 18:57 <+bridge> [ddnet] I doubt it, it's not really in a format that's conducive to collaborating on for now 18:59 <+bridge> [ddnet] but please know that I really appreciate all the work that you are investing in those beautiful projects. I'm not following the ddnet development too closely, but I do see a lot of your work and I love what you are doing, thank you :) 19:08 <+bridge> [ddnet] Thank you 🙂 19:41 <+bridge> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/867098784776978442/unknown.png 19:41 <+bridge> [ddnet] lmao 19:41 <+bridge> [ddnet] "die a painful death" 19:41 <+bridge> [ddnet] we dared remove the ping numbers 19:41 <+bridge> [ddnet] time to die 19:41 <+bridge> [ddnet] :monkaS: 19:43 <+bridge> [ddnet] Damn deen is too nice of a guy 19:46 <+bridge> [ddnet] i mean its a pretty annoying update. 19:46 <+bridge> [ddnet] also takes like 5 seconds for me to update the serverlist 19:46 <+bridge> [ddnet] this in no way justifies the language used above 19:47 <+bridge> [ddnet] but its understandable 19:47 <+bridge> [ddnet] no 19:47 <+bridge> [ddnet] wishing another human death over a game update? ^^ 19:47 <+bridge> [ddnet] i mean its understandable he got mad. what he said ofc is just BS and should be ignored 19:48 <+bridge> [ddnet] I should get master3 running again 19:48 <+bridge> [ddnet] then it should become less than 5 seconds, hopefully 19:49 <+bridge> [ddnet] I have a doubt tho idk if it only happens to me 19:49 <+bridge> [ddnet] When I'm in a server and refresh the browser the game behaves like connection problem. It only fixes after the servers are refreshed 19:49 <+bridge> [ddnet] But before the update it didn't happen at all 19:49 <+bridge> [ddnet] why is it his way now? like why doesnt it put in server after server in my list 19:49 <+bridge> [ddnet] it downloads all the servers from a https URL 19:49 <+bridge> [ddnet] https://master1.ddnet.tw/ddnet/15/servers.json 19:49 <+bridge> [ddnet] you can see it there 19:50 <+bridge> [ddnet] my serverlist takes less than a sec to appear 19:50 <+bridge> [ddnet] the actual download should take no time at all 19:50 <+bridge> [ddnet] ye its defenetly my internet 19:50 <+bridge> [ddnet] but the connection establishing takes some seconds for some people 19:50 <+bridge> [ddnet] but before i had at least something to look at before all servers loaded 😄 19:50 <+bridge> [ddnet] https://github.com/ddnet/ddnet/pull/3914 19:51 <+bridge> [ddnet] this update should make it a bit more bearable 19:51 <+bridge> [ddnet] it won't clear the server list when refreshing, so you can look at the old list in the meanwhile 19:51 <+bridge> [ddnet] cool 19:51 <+bridge> [ddnet] What is this? Is it common? 19:52 <+bridge> [ddnet] can websites be embeded as a whole in the client somehow? imagine if we could choose a map like we can on the webiste instead of somehow making the old voting system work 19:54 <+bridge> [ddnet] can you imagine how long it takes for USA xd 19:54 <+bridge> [ddnet] well actually it might also just be 5 seconds 19:55 <+bridge> [ddnet] i didnt count 19:59 <+bridge> [ddnet] @Learath2 the bot doesnt have admin perms else it couldnt be restricted from some channels 20:00 <+bridge> [ddnet] i dont know either what the issue is i can just repeat what the error message is 20:03 <+bridge> [ddnet] if you want to transfer the bot you can do it and dm me then i can help when i have time 20:05 <+bridge> [ddnet] you need to setup the git and postgres 20:05 <+bridge> [ddnet] if you have done that its not much more work 20:05 <+bridge> [ddnet] We also need to move the db 20:06 <+bridge> [ddnet] And I'm guessing you have some crons making it run, also need to set those up 20:06 <+bridge> [ddnet] the db is generated from files 20:06 <+bridge> [ddnet] the crons i can tell you yes 20:07 <+bridge> [ddnet] most what u need is in git 20:07 <+bridge> [ddnet] Okay, while you are here can we please do this, just don't disappear for like 30 minutes and I think we can set it up 20:08 <+bridge> [ddnet] okay try with the git and posgres first 20:11 <+bridge> [ddnet] @Learath2 someone already made a setup guide in the repo 20:11 <+bridge> [ddnet] you can just follow that 20:12 <+bridge> [ddnet] no its def faster now 20:12 <+bridge> [ddnet] at least for me 20:12 <+bridge> [ddnet] before it'd be like u have to wait 8 seconds for the last servers to register in ur client 20:13 <+bridge> [ddnet] still 20:13 <+bridge> [ddnet] now its just like 2 seconds for all of them to pop up 20:13 <+bridge> [ddnet] for you its probably distance. for me its my shitty internet 20:13 <+bridge> [ddnet] and u can do `leak_ip_address_to_all_servers` or smth to get the pings cant u 20:13 <+bridge> [ddnet] oh maybe 20:14 <+bridge> [ddnet] also yeah i thought about this 20:14 <+bridge> [ddnet] it would be cool to see people's player profiles 20:14 <+bridge> [ddnet] it would be cool to see people's player profiles ingame 20:15 <+bridge> [ddnet] idk about new players but when i saw the ddnet map voting list for the first time i was pretty confused 20:15 <+bridge> [ddnet] if we'd have a webkit lib, we could design the whole ui in html 20:15 <+bridge> [ddnet] would ofc be awesome xd 20:15 <+bridge> [ddnet] but makes the client 200mb or smth xD 20:17 <+bridge> [ddnet] has steam smth to automatically call the steam web browser and go into the steamoverlay? 20:23 <+bridge> [ddnet] can someone copy the map that's currently being played on Trashmap? its from the guys with the 00:00s time 20:23 <+bridge> [ddnet] https://trashmap.ddnet.tw/server_list.php 20:24 <+bridge> [ddnet] can someone with access copy the map that's currently being played on Trashmap? its from the guys with the 00:00s time 20:25 <+bridge> [ddnet] why don't you ask them 20:25 <+bridge> [ddnet] @jao how are you supposed to fill in the endpoints? 20:25 <+bridge> [ddnet] i am sure that's a map they use for exploits 20:25 <+bridge> [ddnet] we should stop talking here for now, the discord bot is a bit of an urgent matter lol 20:26 <+bridge> [ddnet] i am sure that's a map they use for exploits (i dont see a humanly-possible way to skip the start line on 0 to 100) 20:26 <+bridge> [ddnet] @Learath2 what endpoints 20:26 <+bridge> [ddnet] ```cpp 20:26 <+bridge> [ddnet] if (pPlayer->m_AccData.m_UserID && !pPlayer->m_AccData.m_Vip) 20:26 <+bridge> [ddnet] { 20:26 <+bridge> [ddnet] 20:26 <+bridge> [ddnet] if (pPlayer->m_AccData.m_UserID && haveWeapons == true) 20:26 <+bridge> [ddnet] { 20:26 <+bridge> [ddnet] char aRemaining[64]; 20:26 <+bridge> [ddnet] SendChatTarget(ClientID, "you already have all weapons"); 20:26 <+bridge> [ddnet] SendChatTarget(ClientID, aRemaining); 20:26 <+bridge> [ddnet] } 20:26 <+bridge> [ddnet] if (pPlayer->m_AccData.m_Weaponkits >= 1 && !haveWeapons) 20:26 <+bridge> [ddnet] { 20:26 <+bridge> [ddnet] pPlayer->m_AccData.m_Weaponkits--; 20:26 <+bridge> [ddnet] char aRemaining[64]; 20:26 <+bridge> [ddnet] str_format(aRemaining, sizeof(aRemaining), "Remaining kits: %d", pPlayer->m_AccData.m_Weaponkits); 20:26 <+bridge> [ddnet] SendChatTarget(ClientID, aRemaining); 20:26 <+bridge> [ddnet] pChar->GiveAllWeapons(); 20:26 <+bridge> [ddnet] haveWeapons = true; 20:27 <+bridge> [ddnet] } 20:27 <+bridge> [ddnet] else if (pPlayer->m_AccData.m_Weaponkits = 0 && !haveWeapons) 20:27 <+bridge> [ddnet] { 20:27 <+bridge> [ddnet] SendChatTarget(ClientID, "You dont have any weaponkit!"); 20:27 <+bridge> [ddnet] } 20:27 <+bridge> [ddnet] } 20:27 <+bridge> [ddnet] ``` 20:27 <+bridge> [ddnet] problem = when im entering the command for the first time that give the weapons (normal) but for the second time the haveweapons should be in `true` but that continue to give me the weapons! maybe a problem of syntax 😆 20:27 <+bridge> [ddnet] ```cpp 20:27 <+bridge> [ddnet] if (pPlayer->m_AccData.m_UserID && !pPlayer->m_AccData.m_Vip) 20:27 <+bridge> [ddnet] { 20:27 <+bridge> [ddnet] 20:27 <+bridge> [ddnet] if (pPlayer->m_AccData.m_UserID && haveWeapons == true) 20:27 <+bridge> [ddnet] { 20:27 <+bridge> [ddnet] SendChatTarget(ClientID, "you already have all weapons"); 20:27 <+bridge> [ddnet] } 20:27 <+bridge> [ddnet] if (pPlayer->m_AccData.m_Weaponkits >= 1 && !haveWeapons) 20:27 <+bridge> [ddnet] { 20:27 <+bridge> [ddnet] pPlayer->m_AccData.m_Weaponkits--; 20:27 <+bridge> [ddnet] char aRemaining[64]; 20:27 <+bridge> [ddnet] str_format(aRemaining, sizeof(aRemaining), "Remaining kits: %d", pPlayer->m_AccData.m_Weaponkits); 20:27 <+bridge> [ddnet] SendChatTarget(ClientID, aRemaining); 20:27 <+bridge> [ddnet] pChar->GiveAllWeapons(); 20:27 <+bridge> [ddnet] haveWeapons = true; 20:27 <+bridge> [ddnet] } 20:27 <+bridge> [ddnet] else if (pPlayer->m_AccData.m_Weaponkits = 0 && !haveWeapons) 20:27 <+bridge> [ddnet] { 20:28 <+bridge> [ddnet] SendChatTarget(ClientID, "You dont have any weaponkit!"); 20:28 <+bridge> [ddnet] } 20:28 <+bridge> [ddnet] } 20:28 <+bridge> [ddnet] ``` 20:28 <+bridge> [ddnet] problem = when im entering the command for the first time that give the weapons (normal) but for the second time the haveweapons should be in `true` but that continue to give me the weapons! maybe a problem of syntax 😆 20:28 <+bridge> [ddnet] in the config, how are you supposed to input the `[DDNET] UPLOAD` e.g. 20:28 <+bridge> [ddnet] full url? 20:28 <+bridge> [ddnet] y 20:28 <+bridge> [ddnet] i can give u that file 20:28 <+bridge> [ddnet] with all things 20:28 <+bridge> [ddnet] That'd be nice 20:33 <+bridge> [ddnet] oof :feelspepoman: 20:33 <+bridge> [ddnet] https://access.redhat.com/security/vulnerabilities/RHSB-2021-006 20:35 <+bridge> [ddnet] @Scrumplex nah its possible 20:36 <+bridge> [ddnet] i think 21:05 <+bridge> [ddnet] real question is why is this allowed? 21:06 <+bridge> [ddnet] @Learath2 https://stockfishchess.org/blog/2021/our-lawsuit-against-chessbase/ 21:06 <+bridge> [ddnet] we will see gpl in court 21:07 <+bridge> [ddnet] > Stockfish is free and open source. Chessbase used stockfish's derivatives as its product and sold it 21:07 <+bridge> [ddnet] > few customers know they obtained a modified version of Stockfish when they paid for Fat Fritz 2 or Houdini 6 - both Stockfish derivatives - and they thus have good reason to be upset. ChessBase repeatedly violated central obligations of the GPL, which ensures that the user of the software is informed of their rights. These rights are explicit in the license and include access to the corresponding sources, and the right to reproduce, modif 21:08 <+bridge> [ddnet] https://news.ycombinator.com/item?id=27896386 21:09 <+bridge> [ddnet] > 21:09 <+bridge> [ddnet] > apetresc 1 hour ago [–] 21:09 <+bridge> [ddnet] > 21:09 <+bridge> [ddnet] > If this goes to trial, I think this might be the cleanest and most straightforward test of the GPL in court we've had up to this point? 21:09 <+bridge> [ddnet] :poggers: 21:10 <+bridge> [ddnet] nice 21:10 <+bridge> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/867121282578120734/unknown.png 21:10 <+bridge> [ddnet] fck chessbase 21:11 <+bridge> [ddnet] gpl pog 21:21 <+bridge> [ddnet] It's one of the permission overwrites that's failing 21:22 <+bridge> [ddnet] https://tokio.rs/blog/2021-07-tokio-uring 21:22 <+bridge> [ddnet] :poggers: 21:23 <+bridge> [ddnet] the power of linux 21:23 <+bridge> [ddnet] laughs in windows users lacking this 21:23 <+bridge> [ddnet] > All tokio-uring operations are truly async, unlike APIs provided by tokio::fs, which run on a thread pool. Using synchronous filesystem operations from a thread pool adds significant overhead. With io-uring, we can perform both network and file system operations asynchronously from the same thread. But, io-uring is a lot more. 21:24 <+bridge> [ddnet] > Early benchmarks comparing io-uring against epoll are promising; a TCP echo client and server implemented in C show up to 60% improvement. 22:52 <+bridge> [ddnet] Didnt anyone write collision code for larger entities? 22:52 <+bridge> [ddnet] Would be very needed right now :D 22:52 <+bridge> [ddnet] Current collision code sucks for bigger entities 22:53 <+bridge> [ddnet] bigger entities? 22:53 <+bridge> [ddnet] you mean physsize? 22:59 <+bridge> [ddnet] yea 23:07 <+bridge> [ddnet] @Patiga mind if I take a look at your pr tomorrow? I think I'm done for the day 23:07 <+bridge> [ddnet] sure! 23:07 <+bridge> [ddnet] great that you got it running 23:07 <+bridge> [ddnet] thank you so much 23:08 <+bridge> [ddnet] i was watching the new test channels and was rooting for the map_render tool to get into action and wasn't disappointed :D 23:14 <+bridge> [ddnet] @Patiga if you have some time and know better python than me maybe you could look into how to get ^^ working 23:14 <+bridge> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/867152431636938832/convert_players_cache.py 23:14 <+bridge> [ddnet] @Patiga if you have some time and know better python than me maybe you could look into how to get V working 23:14 <+bridge> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/867152431636938832/convert_players_cache.py 23:14 <+bridge> [ddnet] I doubt my python is better than yours but I'll gladly take a look 23:15 <+bridge> [ddnet] It requires https://github.com/ddnet/ddnet-scripts/blob/master/servers/scripts/ddnet.py to be loaded, which is in python2 23:16 <+bridge> [ddnet] (it probably requires a very little subset of ddnet.py, but I couldn't isolate how much of it is needed) 23:22 <+bridge> [ddnet] shouldn't we update this to include NDL 23:22 <+bridge> [ddnet] shouldn't we update this to include NLD 23:22 <+bridge> [ddnet] by getting it to work you mean executing it and having it terminate without an error? ^^ 23:23 <+bridge> [ddnet] Well, I'd hope that also implies the json output isn't broken 😄 so yes 23:23 <+bridge> [ddnet] uh, probably, idk if the cache that is generated even knows what nld is, it could still be doing just GER 23:24 <+bridge> [ddnet] i have no idea of the cache xd 23:24 <+bridge> [ddnet] i guess just use best judgment 23:24 <+bridge> [ddnet] the cache is really not supposed to be shared between machines like this imo, especially between python versions 23:26 <+bridge> [ddnet] ah wait this is python 2? 23:27 <+bridge> [ddnet] ah no, just younger than python 3.8 apparently 23:27 <+bridge> [ddnet] https://stackoverflow.com/questions/58825230/importerror-cannot-import-name-escape-from-cgi 23:29 <+bridge> [ddnet] ah that makes more sense 23:31 <+bridge> [ddnet] `from html import escape` seems to work, next up it tries to import the module `mysql` which I seem to be missing 23:33 <+bridge> [ddnet] you should be able to strip out the mysql part 23:33 <+bridge> [ddnet] found the package `python-mysql-connector` 23:39 <+bridge> [ddnet] oh `mysql` was actually just a script in that repo, now it tries to import `MySQLdb`, I guess I'll comment out that part