05:46 <+bridge> [ddnet] #1 05:46 <+bridge> [ddnet] https://github.com/ddnet/ddnet/issues/1 05:46 <+bridge> [ddnet] @uwu 05:54 <+bridge> [ddnet] hmm you can communicate a lot of things with these numbers 05:54 <+bridge> [ddnet] https://github.com/ddnet/ddnet/pull/1312 09:44 <+bridge> [ddnet] we kinda did 09:44 <+bridge> [ddnet] but its growing out of control 09:55 <+bridge> [ddnet] Omagawd can someone explain ddnet UI code to me? Is there some beginner docs on it? Can we switch to html and CSS \:troll\: 09:55 <+bridge> [ddnet] 09:55 <+bridge> [ddnet] i always mess up things real good 09:55 <+bridge> [ddnet] image.png 09:55 <+bridge> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/873474475973292092/image.png 09:59 <+bridge> [ddnet] дьфщ 09:59 <+bridge> [ddnet] lmao 09:59 <+bridge> [ddnet] 🇷🇺 09:59 <+bridge> [ddnet] https://media.discordapp.net/attachments/524847485487939585/865261452577996800/image0.gif 10:22 <+bridge> [ddnet] im down to choose a time to go through them together, or just prioritize things 12:35 <+bridge> [ddnet] actually if someone will read my close requests xd 12:54 <+bridge> [ddnet] 13:16 <+bridge> [ddnet] there is already hook blockers 16:48 <+bridge> [ddnet] wow @Learath2 you are the greatest developer ever! 16:49 <+bridge> [ddnet] Q: How does oauth based sso stop the end site from "mitm"ing the authentication site? E.g. malicioussite.com lets you authenticate with google, how do you know the new site it opens is google? 17:07 <+bridge> [ddnet] @Learath2 btw most sites like google, you are alreayd logged in 17:07 <+bridge> [ddnet] so its only a matter of allowing 17:07 <+bridge> [ddnet] if i have to enter credentials 17:07 <+bridge> [ddnet] u should check the url 17:07 <+bridge> [ddnet] idk how else to prevent this 17:08 <+bridge> [ddnet] this is why when u login with steam on 3rd party sites, its recommended u login on steam first 17:08 <+bridge> [ddnet] i see this recommended always 17:08 <+bridge> [ddnet] Hm, sounds rather janky. Such an undetectable attack too 17:09 <+bridge> [ddnet] once google chrome warned me about redirecting to not oauth2 thingie of some service 17:09 <+bridge> [ddnet] oath2 requires ssl too 17:09 <+bridge> [ddnet] Eh, I never liked the idea of SSO anyway 17:10 <+bridge> [ddnet] Oauth also requires all tokens be associated to ips and only be valid for very short durations. How many people do you think enforce this? :P 17:10 <+bridge> [ddnet] :p 17:11 <+bridge> [ddnet] well if u login against some service dont u always get a short lived token? 17:11 <+bridge> [ddnet] I guess in this case the best way to do oauth2 inside a game is to open a native browser 17:11 <+bridge> [ddnet] tbh i never tried oauth itself 17:11 <+bridge> [ddnet] i only do jwt for myself 17:11 <+bridge> [ddnet] I got a rather long lived token from stackexchange, e.g. 17:12 <+bridge> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/873584346722885673/authorization-code.png 17:12 <+bridge> [ddnet] from google 17:13 <+bridge> [ddnet] That arrow from the user is controlled by your app is where I fail to see any protection against 17:14 <+bridge> [ddnet] I guess as you said your best bet would be to only allow already logged in accounts 17:14 <+bridge> [ddnet] @Learath2 are you still on vacation? 17:14 <+bridge> [ddnet] Omw back, did something break again? :WoJak: 17:14 <+bridge> [ddnet] ofc 17:14 <+bridge> [ddnet] whats that emote 17:15 <+bridge> [ddnet] ah me seeing c++ code :monkalaugh: 17:15 <+bridge> [ddnet] ok joke joke 17:15 <+bridge> [ddnet] https://media.discordapp.net/attachments/524847485487939585/865261452577996800/image0.gif 17:15 <+bridge> [ddnet] can move maps with commands, and old maps still there.. should be already in the archive 17:15 <+bridge> [ddnet] @Learath2 haver u ever made something only using c++20 modules? 17:15 <+bridge> [ddnet] cant move maps with commands, and old maps still there.. should be already in the archive 17:15 <+bridge> [ddnet] Perfect. Nothing better to ruin my day after a vacation, messing around with the stupid discord bot 17:16 <+bridge> [ddnet] maybe i can help with the bot 17:16 <+bridge> [ddnet] I was all relaxed too, got some sun, got to enjoy the sea 17:16 <+bridge> [ddnet] altho im not familiar with the codebase 17:16 <+bridge> [ddnet] Then BAM, python 17:16 <+bridge> [ddnet] submit working 17:16 <+bridge> [ddnet] but the commands and archive yes 17:17 <+bridge> [ddnet] submit and create new channels working 17:17 <+bridge> [ddnet] but the commands and archive 😄 17:17 <+bridge> [ddnet] I will be back in 2.5h, then I can take a look at logs 17:17 <+bridge> [ddnet] ok 17:17 <+bridge> [ddnet] maps should be after 1 week in the archive 17:17 <+bridge> [ddnet] https://discord.com/channels/252358080522747904/321058698023796736/873225651623198740 17:18 <+bridge> [ddnet] commands from patiga still working ($optimize etc) 17:19 <+bridge> [ddnet] I only got to toy around with C++20 for now. Maybe if a project comes up I might give it a go 17:34 <+bridge> [ddnet] does anyone know what value the in-game timer has? 18:53 <+bridge> [ddnet] does anyone know what address the in-game timer has? 19:08 <+bridge> [ddnet] Address? Like an offset? What are you even making? 19:24 <+bridge> [ddnet] yeah i mean an offset 19:46 <+bridge> [ddnet] Doubt anyone'd have any idea, you'll need to figure it out yourself. Since you have access to the source it should be trivial, just print it out on the console 19:57 <+bridge> [ddnet] @Patiga do you have a minute? 🙂 19:57 <+bridge> [ddnet] yea :) 19:57 <+bridge> [ddnet] can you help me test again? I need you to remove your testing role and react green check on a map or two 19:58 <+bridge> [ddnet] it's quite annoying to test with the admin role 19:58 <+bridge> [ddnet] sure, sec 19:58 <+bridge> [ddnet] oh god, it's broken again 19:59 <+bridge> [ddnet] I can only successfully check the most recent map (orange_2) 20:01 <+bridge> [ddnet] here I go again need to inject mitmproxy in there to figure out what damn permission is causing the issue 20:02 <+bridge> [ddnet] :/ 20:04 <+bridge> [ddnet] @Patiga can you try adding a reaction again on one that didn't work 20:05 <+bridge> [ddnet] they still don't work 20:05 <+bridge> [ddnet] it's supposed to be adding a singular overwrite, and I can add it manually 20:05 <+bridge> [ddnet] If I view the server as that role 20:06 <+bridge> [ddnet] yeah okay, can't avoid injecting the proxy 20:06 <+bridge> [ddnet] shame 20:06 <+bridge> [ddnet] :c 20:14 <+bridge> [ddnet] @Patiga can you give it another go please? 20:15 <+bridge> [ddnet] still the same 20:15 <+bridge> [ddnet] I don't mind the testing at all :) 20:16 <+bridge> [ddnet] so silly, it's making the request I think it should be making yet something is causing missing permissions 20:16 <+bridge> [ddnet] @Patiga which map did you try? 20:16 <+bridge> [ddnet] I am trying the most recent one and the three above it 20:17 <+bridge> [ddnet] Can you try just carebear? 20:19 <+bridge> [ddnet] eh, same behavior sorta? 20:19 <+bridge> [ddnet] it popped up once, but only after I tried it, was that your doing? 20:20 <+bridge> [ddnet] (also disappeared again) 20:20 <+bridge> [ddnet] that was me trying with the bots permissions to grant the same override 20:25 <+bridge> [ddnet] hm, I think this is a discord bug 20:25 <+bridge> [ddnet] ouch 20:26 <+bridge> [ddnet] did you also see the log btw? those errors looked like the most generic thing ever 20:26 <+bridge> [ddnet] from https://discord.com/developers/docs/topics/opcodes-and-status-codes: 20:26 <+bridge> [ddnet] > 5xx (SERVER ERROR) The server had an error processing your request (these are rare).0 General error (such as a malformed request body, amongst other things) 20:26 <+bridge> [ddnet] meh formatted badly 20:27 <+bridge> [ddnet] imagine a line break before the 0 20:27 <+bridge> [ddnet] the 500s I didn't check yet 20:27 <+bridge> [ddnet] where did you get a 500? 20:28 <+bridge> [ddnet] `discord.errors.DiscordServerError: 500 Internal Server Error (error code: 0): 500: Internal Server Error` 20:28 <+bridge> [ddnet] after some exceptions on commands 20:28 <+bridge> [ddnet] in the bot.log 20:29 <+bridge> [ddnet] Okay gave the bot broader permissions, can you try the checkmarks again? 20:30 <+bridge> [ddnet] apparently if the bot doesn't have "View channels" on the broader category it can't grant permissions on the subchannels even if it has "View channel" on them 20:31 <+bridge> [ddnet] works perfectly now, nice! 👍 20:31 <+bridge> [ddnet] 1 bug down 50 to go 😄 20:31 <+bridge> [ddnet] Okay, next up the 5xxs 20:32 <+bridge> [ddnet] what a mess 20:33 <+bridge> [ddnet] So it was the waiting command that caused a 500 20:35 <+bridge> [ddnet] I think a $reset also caused it at least once 20:35 <+bridge> [ddnet] waiting seems to be also fixed by the permission thing 20:35 <+bridge> [ddnet] Is there any that needs a reset where I can try that one? 20:36 <+bridge> [ddnet] you can play with #🎉caterpillar2 20:36 <+bridge> [ddnet] (but first decline it) 20:37 <+bridge> [ddnet] nice 20:37 <+bridge> [ddnet] yep, that's also fixed, I guess discord had a backend change, these companies and their undocumented changes... 20:37 <+bridge> [ddnet] okay, I guess that leaves the archiving thing 20:38 <+bridge> [ddnet] i guess those `Websocket closed with 1006, attempting a reconnect.` are also fixed then? ^^ 20:38 <+bridge> [ddnet] Only god knows that one 😛 20:38 <+bridge> [ddnet] It's actually rather complicated to resume a bot, so if there is a bug in that I really don't think I have the energy to dig into discord.py 20:39 <+bridge> [ddnet] So we could maybe watch the log for the bot getting stuck and just restarting it 20:39 <+bridge> [ddnet] sounds fair 👌 20:40 <+bridge> [ddnet] bruh, is there any good way to install ubuntu from ssd on this same ssd without pain in ass 20:42 <+bridge> [ddnet] it's quite annoying to do 20:43 <+bridge> [ddnet] actually it's so annoying to do that I'd suggest you go dig for a usb 😄 20:44 <+bridge> [ddnet] it's literally 130 km ahead 20:45 <+bridge> [ddnet] anyway, the key is the `toram` parameter if you want to try it, you need to unpack the iso properly into a partition, edit some magic config things I no longer remember and boot to that partition using the toram flag 20:45 <+bridge> [ddnet] which will load the entire image into the ram so you can then overwrite the ssd safely 20:48 <+bridge> [ddnet] oh good 20:49 <+bridge> [ddnet] need to lurk a bit more 20:49 <+bridge> [ddnet] thanks 👍 20:49 <+bridge> [ddnet] i did another partition with unpacked iso and booted it 20:49 <+bridge> [ddnet] and now it's formatting new partitions after boot one 20:50 <+bridge> [ddnet] aaand 20:50 <+bridge> [ddnet] it stuck 20:50 <+bridge> [ddnet] uh oh is it good to hard reload my machine to reformat everything 20:50 <+bridge> [ddnet] Without the toram flag it will break 20:50 <+bridge> [ddnet] so if you booted without `toram` you just bricked your computer 😛 20:51 <+bridge> [ddnet] no way 20:51 <+bridge> [ddnet] (well not bricked per se, but no way to fix it without a usb) 20:53 <+bridge> [ddnet] toram loads the entire image into ram when booting, so it's fine to overwrite the ssd 20:53 <+bridge> [ddnet] without it when you overwrite the partition table badthings(tm) happen :/ 20:54 <+bridge> [ddnet] thanks again xd 20:54 <+bridge> [ddnet] (or maybe you got very lucky and it only sort of broke) 😛 20:57 <+bridge> [ddnet] Can you gimme an example? Seems the bot checks for 60 days not 1 week 20:58 <+bridge> [ddnet] It's for waiting 20:58 <+bridge> [ddnet] Archive = 1 week 20:59 <+bridge> [ddnet] Ah sorry I mean 1 week no aktivity = archive 21:00 <+bridge> [ddnet] Ah sorry I mean 1 week no activity = archive 21:00 <+bridge> [ddnet] Ah sorry I mean 1 week no activity = archive @Learath2 21:01 <+bridge> [ddnet] Ok, do you have an example of a map that should be archived? @Cøke 21:02 <+bridge> [ddnet] Don't send a message in it so it doesn't get active again 21:20 <+bridge> [ddnet] thanks @Learath2! 21:20 <+bridge> [ddnet] it's: 21:20 <+bridge> [ddnet] faster 21:21 <+bridge> [ddnet] easier 21:21 <+bridge> [ddnet] no need at another drive 21:21 <+bridge> [ddnet] new warrior of home servers is ready to use 21:35 <+bridge> [ddnet] @Learath2 #🆙🏁run_jellyfish_fields 21:35 <+bridge> [ddnet] And much more 21:36 <+bridge> [ddnet] Thank jesus, figured it out 21:36 <+bridge> [ddnet] more missing folders entirely breaking the bot without a single error in sight... 21:36 <+bridge> [ddnet] it will take a bit to catch up to the backlog though so give it a minute 21:43 <+bridge> [ddnet] 👍 21:47 <+bridge> [ddnet] Looks like it caught up 23:03 <+bridge> [ddnet] somewhy this (in `CCharacter::HandleTiles`) does nothing 23:03 <+bridge> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/873672680568668250/unknown.png 23:07 <+bridge> [ddnet] look up references to m_TileIndex 23:12 <+bridge> [ddnet] ```cpp 23:12 <+bridge> [ddnet] int MapIndex = Index; 23:12 <+bridge> [ddnet] m_TileIndex = GameServer()->Collision()->GetTileIndex(MapIndex);``` 23:44 <+bridge> [ddnet] bcs no one sends tile_air to this function 23:44 <+bridge> [ddnet] Now take a look at GetTileIndex 23:44 <+bridge> [ddnet] only -1, >0 23:49 <+bridge> [ddnet] hm, actually I don't remember filtering `TILE_AIR` 23:51 <+bridge> [ddnet] look up TileExists 23:51 <+bridge> [ddnet] it checks every range of tiles 23:51 <+bridge> [ddnet] unless 0 23:58 <+bridge> [ddnet] Ah, we double check the index, I see 23:58 <+bridge> [ddnet] @uwu come here our little prince 23:58 <+bridge> [ddnet] have you pushed your quad tree onto them yet 23:59 <+bridge> [ddnet] i messed up whole codebase and started to doing 2xp again 23:59 <+bridge> [ddnet] lol