00:16 < bridge> How to change the `Activity.assets.large_image`? 02:25 < bridge> ah 02:25 < bridge> discord changed the video player 02:25 < bridge> ah no just the video in #showroom that looks bigger (matricks related) 05:46 < bridge> <<~{Barsik}~>> :troll: 07:29 < bridge> What’s that 07:29 < bridge> (@newlesstee) 08:32 < bridge> https://www.dota2.com/newsentry/3677788723152833273 08:33 < bridge> Interesting 09:51 < bridge> Is it about knowing if you are visible to the enemy or not? @Ryozuki 09:51 < bridge> Yea that was or still is a thing 09:53 < bridge> Idk 09:53 < bridge> Obv they wont tell 09:56 < bridge> I mean they tell something 09:56 < bridge> That they reserved memory for the process that doesn't get read. And detected *something* reading that memory region. 09:57 < bridge> Which implies AoB scanning. (looping through the whole process to find a byte pattern) 09:58 < bridge> Which implies AoB scanning. (looping through the whole process to find a byte pattern) 09:58 < bridge> Because I see no reason to read from memory addresses that you didn't explicitly hardcoded. 09:59 < bridge> That they reserved memory space for the process that doesn't get read. And detected *something* reading that memory region. 09:59 < bridge> That they reserved memory space for the process that doesn't get read. And detected *something* reading from that memory region. 10:00 < bridge> Another thing that should be common sense if you are familiar with how they detect stuff is that it must be an usermode application 10:27 < bridge> So I did my research based on my amazing detective skills and found this project that is using a pattern scanner aka. AoB scanner 10:27 < bridge> https://github.com/SK68-ph/Overlay/tree/3.0/Dota2Overlay-3.0 10:27 < bridge> one reply posted today https://www.unknowncheats.me/forum/3686236-post615.html seems to confirm it (though you never know what else the cheaters used claiming something is detected) 10:28 < bridge> Which implies AoB scanning. (looping through the whole process to find a byte pattern) 10:28 < bridge> Because I see no other reason to read from memory addresses that you didn't explicitly hardcoded. 10:30 < bridge> what does AoB stand for? 10:30 < bridge> So yes. Players that used the tool that tells you if you are visible to enemy or not got banned for a long time. 10:30 < bridge> array of bytes 11:39 < bridge> @Patiga 11:39 < bridge> 1. Step i download the zip and unzip it on my desktop. 11:39 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1077902364998115368/image.png 11:40 < bridge> have you ever worked with a terminal/console? 11:40 < bridge> Not really 11:40 < bridge> @Patiga 11:41 < bridge> 1. Step | I download the zip and unzip it on my desktop. 11:41 < bridge> for what do you want to use the bot btw? 11:42 < bridge> 2. Step | I click on the https://discord.com/developers/applications link and create an app. 11:42 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1077903148489912370/image.png 11:42 < bridge> For my own custom ddnet server 11:42 < bridge> πŸ˜„ 11:42 < bridge> but what should the bot do in that channel? 11:42 < bridge> ist it about the $profile command? 11:43 < bridge> No, like submit maps etc... 11:43 < bridge> $ready 11:43 < bridge> $release 11:43 < bridge> oh okay 11:43 < bridge> and automatically put in my server 11:43 < bridge> Is that what it does right? 11:43 < bridge> that will require setup way beyond what I did with the discordbot 11:44 < bridge> damn currently checking spf and dmarc records over 228449808 domain names :giga_chad: I think ddnet is in 11:44 < bridge> I'm not sure if it is realistic for you to set it up, but I can go through the steps with you 11:44 < bridge> note that in the steps, we explicitly turn off that functionality ^^ 11:45 < bridge> step 2 looks good tho, got the token? 11:45 < bridge> If i share the token what will happen? 11:45 < bridge> that person can control the bot in any way they like 11:45 < bridge> dont share it 11:46 < bridge> that would require some knowledge yea. he wants to have his own ddnet it seems like. 11:46 < bridge> :giga_chad: 11:46 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1077904310496677960/image.png 11:47 < bridge> ddnet.shop 11:47 < bridge> some asian parked site 11:47 < bridge> I have those and also Client ID at other page 11:47 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1077904518299271268/image.png 11:47 < bridge> lmao 11:48 < bridge> Wich one 11:48 < bridge> the one that starts with a ``!`` or ``#`` 11:49 < bridge> Bot Tab 11:49 < bridge> oh my bad i didnt add the bot yet but i did now. 🫒 11:49 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1077905079467769856/image.png 11:50 < bridge> you should have a generate token button 11:50 < bridge> Yes i have the token now 11:50 < bridge> but I phrase it like that. even if we guide you through the instructions. you want something completely different. 11:52 < bridge> still step 2 | turn on this two 11:52 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1077905682570940516/image.png 11:52 < bridge> and copy the token 11:53 < bridge> yes that needs to be emphasized, of the entire infrastructure you casually mentioned that you want to set up, the discordbot might be the easiest 11:54 < bridge> 3. Step | Go bac kto the surce file see on the 1. picture, and create a copy of the file on the 2. picture and name it as "config.ini" 11:54 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1077906308939911199/image.png 11:54 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1077906309329977354/image.png 11:54 < bridge> 3. Step | Go back to the source file see on the 1. picture, and create a copy of the file on the 2. picture and name it as "config.ini" 11:55 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1077906308939911199/image.png 11:55 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1077906309329977354/image.png 11:55 < bridge> if you don't mind sharing, for what purpose do you want to replicate the ddnet infrastructure? I don't have anything against a new server group, but if that is your goal, be warned that this is a big undertaking 11:55 < bridge> deen got depressed and nearly gave up ^^ 11:56 < bridge> Well this server just should be for my little community 11:56 < bridge> Friends and random invited peoples 11:56 < bridge> then I suggest you approve the maps manually 11:56 < bridge> i think you can config your own server to only pick maps from your own map pool 11:56 < bridge> I don't think you need a map testing setup if its just for a small group of people you mostly trust 11:56 < bridge> Thats way too long :/ 11:57 < bridge> yea but what do you think the bot does 11:57 < bridge> This bot would make it more easly 11:57 < bridge> not really 11:57 < bridge> the map testers get pinged (maybe) and get the map file 11:57 < bridge> they still have to manually approve it 11:57 < bridge> i would get tired of editing the channels and download and delete the maps always 11:58 < bridge> then figure out a concept that fits your needs and doesn't require you to be somewhat talented with computers 11:58 < bridge> you could automate that small part of the process. I think the ddnet setup is very much overkill for your purpose 11:59 < bridge> you probably only need a script that takes a map, copies it to the server 11:59 < bridge> and maybe another one that copies it from the testing server to the 'actual' server 11:59 < bridge> something like that 11:59 < bridge> the discord bot is filled with so much more functionality 12:00 < bridge> and the things you want from it get disabled with the provided instructions 12:00 < bridge> So that what you all mean like its ain't possible? 12:00 < bridge> it is 12:01 < bridge> but I don't think you can make the bot do what you want it to do without help 12:01 < bridge> also would be better to just make your own discord bot at that point 12:01 < bridge> the one in the ddnet org is outdated and gets updated atm 12:01 < bridge> the one in the ddnet org is outdated (deprecated packages) and gets updated atm 12:02 < bridge> So what would i get if i go through on the steps? 12:02 < bridge> the commands that rely on the website api 12:02 < bridge> #bot-cmds 12:03 < bridge> it is beyond our knowledge how to set up the infrastructure you mentioned. what you actually need is a tiny portion of that infrastructure. your use-case sounds like it would be easier manually or with some minor scripts (or maybe a small own discord bot) 12:03 < bridge> trust the stone 12:04 < bridge> you will actually get the testing commands, but only the discord portion of it. the thing you actually need of it, $ready, $release and the initial upload to the testing servers, will require much more steup 12:04 < bridge> just do a small discord bot that listens to a channel & wait for any file, then just download it using requests (if u like python cuz javascript sucks) lib and done 12:06 < bridge> And how can i make a bot like that or i really have to learn that? 12:06 < bridge> chatgpt 12:06 < bridge> ez 12:06 < bridge> :giga_chad: 12:06 < bridge> Programming experience would be beneficial 12:07 < bridge> but you can paste something together with whatever the internet throws at you 12:08 < bridge> Is that thing will help me automatically edit the channels? 12:08 < bridge> by commands 12:08 < bridge> that thing will help u to make some code, with a probability that it throws you some garbage code also 12:09 < bridge> Ahw 12:10 < bridge> And care with auto uploading to the test-servers, people will abuse it & upload a ton of bs. So let your testers react with an emoji to any file & then upload it to the server πŸ™‚ 12:12 < bridge> like this, for example 12:12 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1077910714976583740/testest.gif 12:12 < bridge> nodejs sux 12:12 < bridge> @Raks maybe just do some simple python script like that: 12:12 < bridge> 12:12 < bridge> import discord 12:12 < bridge> from discord.ext import commands 12:13 < bridge> 12:13 < bridge> bot = commands.Bot(command_prefix= '!', intents=discord.Intents.all()) 12:13 < bridge> 12:13 < bridge> save_path = 'Desktop/server/data/maps' 12:13 < bridge> 12:13 < bridge> @bot.command() 12:13 < bridge> async def save_file(ctx, *, file: discord.Attachment): 12:13 < bridge> try: 12:13 < bridge> await file.save(save_path + file.filename) 12:13 < bridge> except Execption as e: 12:13 < bridge> #print error message 12:13 < bridge> print(e) 12:13 < bridge> await ctx.send('An error occurred while saving the file..') 12:13 < bridge> else: 12:13 < bridge> await ctx.send(f'File saved') 12:13 < bridge> 12:13 < bridge> client.run(BOT_TOKEN) 12:13 < bridge> that's C# 12:13 < bridge> is it lol? C# has var keyword? 12:13 < bridge> yes 12:13 < bridge> @Raks if there is only ur friends in the server its safe to use 12:13 < bridge> but its not like javascripts var 12:13 < bridge> looks ugly 12:13 < bridge> once a type was assigned to it (it takes any for the first time) 12:14 < bridge> you can only assign the same type after that 12:14 < bridge> i dont even know where to make this ahh 12:14 < bridge> for "any type" you have to use generics 12:14 < bridge> I downlaoded python but 12:14 < bridge> also known as that 12:14 < bridge> I downlodaed python but 12:14 < bridge> I downloaded python but 12:15 < bridge> create a file called "maps.py" and paste that script in, change it to ur bot token and put the right 'maps' path 12:15 < bridge> you hate it, you love it 12:15 < bridge> Best way to start is setting up your development environment. Use any editor as you like, Visual Studio, Visual Studio Code, Notepad etc etc etc. personally i'd recommend using a code editor with proper syntax highlighting, this will help you so much πŸ™‚ 12:16 < bridge> ? 12:16 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1077911709429284944/image.png 12:16 < bridge> yes 12:17 < bridge> i have notepad++ and Visual studios either 12:17 < bridge> Fair enough, do you wanna run it 24/7 or just when you're online? 12:17 < bridge> if u want to do a discord bot its better to learn the basics of python or javascript @Raks 12:17 < bridge> When im online 12:18 < bridge> i need to go now. 12:18 < bridge> Itube bot 12:18 < bridge> fokkonut 12:18 < bridge> known botter 12:18 < bridge> Well i can learn it time after time with some help at the first 12:18 < bridge> Then your local computer is fine πŸ™‚ Create a folder on your desktop or to keep things clean 12:19 < bridge> yes best bots)) 12:19 < bridge> Yes? 12:19 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1077912484662476830/image.png 12:19 < bridge> Now you've added the maps.py inside, no? 12:19 < bridge> yes 12:19 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1077912603235467315/image.png 12:20 < bridge> uh i didnt test the script, maybe its not working i just write it really quick. well need to go now gl @Raks 12:20 < bridge> Awesome! You can start using your IDE/Editor with "Open folder" ( most editors do have such an option ) 12:20 < bridge> Thanks i hope i can make something working 12:20 < bridge> πŸ˜„ 12:20 < bridge> huh 12:21 < bridge> OH 12:21 < bridge> open visual studios right? 12:21 < bridge> Yeah, if you like the editor, go for it πŸ™‚ 12:21 < bridge> done 12:21 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1077913065330327683/image.png 12:21 < bridge> nah 12:21 < bridge> that one doesnt have python support by default 12:22 < bridge> Thats my next question πŸ™‚ 12:22 < bridge> it would treat it like a text file 12:22 < bridge> You can install python support in VS 12:22 < bridge> https://visualstudio.microsoft.com/de/vs/features/python/ 12:22 < bridge> https://visualstudio.microsoft.com/en/vs/features/python/ 12:22 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1077913268645003315/image.png 12:22 < bridge> ? 12:22 < bridge> https://visualstudio.microsoft.com/en/vs/features/python/ 12:22 < bridge> Yes 12:22 < bridge> i have that 12:22 < bridge> ^^ 12:23 < bridge> Open thy python then? 12:23 < bridge> You can open the "maps.py" now 12:23 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1077913511562326056/image.png 12:23 < bridge> Not the console πŸ˜„ 12:23 < bridge> When i double click on the maps.py it just flash up and gone 12:24 < bridge> Yep, thats why you need to open the folder/file with "Open with Visual Studio" 12:24 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1077913747307372547/NVIDIA_Share_caeWrTYyZn.gif 12:24 < bridge> After you installed python, it automatically has set that all *.py files should run within the python executeable 12:25 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1077913977004236921/image.png 12:25 < bridge> Yes 12:25 < bridge> Learn programming 12:25 < bridge> The command line 12:25 < bridge> Uninstall windows 12:25 < bridge> :justatest: 12:26 < bridge> Free urself from the chains 12:26 < bridge> Programming gives freedom 12:26 < bridge> Im here 12:26 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1077914278432088145/image.png 12:26 < bridge> Windows is the best office/gaming solution 12:26 < bridge> Dont talk to me after saying that 12:26 < bridge> Dont wanna start talking about nvidia drivers on linux 12:27 < bridge> They are made out of cr\*\* 12:27 < bridge> Maybe gaming 12:27 < bridge> But office 12:27 < bridge> Ur joking xdd 12:27 < bridge> In the enterprise sector, only windows is being used 12:27 < bridge> Agh 12:27 < bridge> I wanna poke 12:27 < bridge> Bye 12:28 < bridge> Ryozuki is like linux tech tips who thought no one uses Outlook/365 12:28 < bridge> but everyone uses that crap 12:28 < bridge> And I am not talking about those tiny lil' fancy startups you might think of 12:28 < bridge> Before y'all start argue about linux or win please help 😦 12:28 < bridge> learn to code kid 12:28 < bridge> jk 12:29 < bridge> Its hilarious companies rely on windows and give em so much control, valve realizes that 12:29 < bridge> Nothing to argue about, windows just better :troll: 12:29 < bridge> Ur fooling urself if u think its better 12:29 < bridge> more convenient 12:30 < bridge> Its convenient cuz the feedback loop 12:30 < bridge> After you setup everything you need, give google a try & see how it works to use python and discord.py https://www.freecodecamp.org/news/create-a-discord-bot-with-python/ 12:30 < bridge> Linux is actually better 12:30 < bridge> What setup 12:30 < bridge> depends if u talk about servers or clients 12:30 < bridge> ;-; 12:30 < bridge> After you setup everything you need, give google a try & see how it works to use python and discord.py https://www.freecodecamp.org/news/create-a-discord-bot-with-python/ 12:30 < bridge> 12:30 < bridge> And before people starting arguing about the tutorial decision: Its just a tutorial from thousands of tutorials 12:30 < bridge> Even windows servers are being used 12:30 < bridge> Pls 12:31 < bridge> xddd 12:31 < bridge> windows servers 🀑 12:31 < bridge> windows servers are only used because Active Directory is powerful af even if it's a big hole full of vulnerabilities 12:31 < bridge> Your development setup 12:31 < bridge> They are glitchy 12:31 < bridge> Even azure uses linux 12:31 < bridge> I wish more did like valve 12:31 < bridge> No, azure is just their whole cloud name 12:32 < bridge> On azure you can get linux and windows 12:32 < bridge> Its better to make softare for a os not owned by another company 12:32 < bridge> But the feedback loop is hard to break 12:32 < bridge> Wdym by that? 12:32 < bridge> feedback loop! feedback loop! feedback loop! 12:32 < bridge> loopback feed 12:33 < bridge> https://tenor.com/view/no-please-no-god-no-stop-please-stop-gif-17190431 12:33 < bridge> https://tenor.com/view/spongebob-anxious-nervous-bite-nails-gif-15423608 12:33 < bridge> In order to update/edit and enhance your bot, you need a development environment. 12:33 < bridge> IDE 12:51 < bridge> Linux has its use cases and there are many that it’s amazing at. From the server side, most companies opt to use some form of Linux & the popularity of Docker in recent years (among other things) has made it the more popular option for new developments. Windows is still massive for IoT though thanks to Active Directory & whatever packages it provides 12:54 < bridge> I actually dont wanna get into the windows/linux thing 12:56 < bridge> -> πŸšͺ 12:56 < bridge> ? 12:59 < bridge> @Raks ok here i give u just my script i use for my test server xd 12:59 < bridge> 12:59 < bridge> import discord 12:59 < bridge> from discord.ext import commands 12:59 < bridge> 12:59 < bridge> # Initialize the bot and set the command prefix 12:59 < bridge> bot = commands.Bot(command_prefix='!', intents=discord.Intents.all()) 12:59 < bridge> 12:59 < bridge> # Set the path where you want to save the file 12:59 < bridge> save_path = '/home/itube/ddnet/build/data/maps/' 12:59 < bridge> 12:59 < bridge> def has_mapper_role(ctx): 12:59 < bridge> return discord.utils.get(ctx.guild.roles, name='Mapper') in ctx.author.roles 12:59 < bridge> 12:59 < bridge> @bot.command() 13:00 < bridge> @commands.check(has_mapper_role) 13:00 < bridge> async def save_file(ctx, *, file: discord.Attachment): 13:00 < bridge> try: 13:00 < bridge> await file.save(save_path + file.filename) 13:00 < bridge> except Exception as e: 13:00 < bridge> print(e) 13:00 < bridge> await ctx.send('An error occurred while saving the file.') 13:00 < bridge> else: 13:00 < bridge> await ctx.send(f'File saved to {save_path}') 13:00 < bridge> 13:00 < bridge> # Run the bot 13:00 < bridge> bot.run('your-token') 13:00 < bridge> @Raks ok here i give u just my script i use for my test server xd 13:00 < bridge> 13:00 < bridge> import discord 13:00 < bridge> from discord.ext import commands 13:00 < bridge> 13:00 < bridge> bot = commands.Bot(command_prefix='!', intents=discord.Intents.all()) 13:00 < bridge> 13:00 < bridge> # Set the path where you want to save the file 13:00 < bridge> save_path = '/home/itube/ddnet/build/data/maps/' 13:00 < bridge> 13:00 < bridge> def has_mapper_role(ctx): 13:00 < bridge> return discord.utils.get(ctx.guild.roles, name='Mapper') in ctx.author.roles 13:00 < bridge> 13:00 < bridge> @bot.command() 13:00 < bridge> @commands.check(has_mapper_role) 13:00 < bridge> async def save_file(ctx, *, file: discord.Attachment): 13:00 < bridge> create role "Mapper". change bot token and set the correct path 13:01 < bridge> i think you also have to explain to him how to get the discord package using npm before you just give him the code that crashed before already 13:01 < bridge> i think you also have to explain to him how to get the discord package using npm before you just give him the code that crashed before for him already 13:01 < bridge> its avo's job 13:01 < bridge> its your code 13:01 < bridge> excuse me? 13:01 < bridge> eh 13:02 < bridge> but not my job how to download the pachages 13:02 < bridge> also im using linux 13:02 < bridge> idk how its on win xd 13:02 < bridge> the same way 13:02 < bridge> npm install 13:02 < bridge> ok 13:02 < bridge> nice 13:02 < bridge> u told him now 13:02 < bridge> not me 13:02 < bridge> no i did not 13:02 < bridge> ok 13:02 < bridge> edit message 13:02 < bridge> if you want them to run your code 13:02 < bridge> complete it 13:02 < bridge> go explain it to them 13:03 < bridge> your behavior rn is just lazy 13:03 < bridge> should i create a repo 13:03 < bridge> and put a readme 13:03 < bridge> do whatever you want 13:03 < bridge> but if you won't even give them the proper instructions on how to use your code 13:03 < bridge> then don't bother sending in your code 13:03 < bridge> ok 13:03 < bridge> sorry boss 13:03 < bridge> i understand 13:04 < bridge> When i watch the video of coding tutorial there should be secret the token bc anyone can steal it idk how tho 13:04 < bridge> πŸ§‘β€πŸŒΎ 13:04 < bridge> do u know how/where u get the token? 13:04 < bridge> Yes 13:04 < bridge> THe bot token right? 13:04 < bridge> yes 13:04 < bridge> The bot token right? 13:04 < bridge> Yes i know 13:04 < bridge> change "your-token" to ur token 13:05 < bridge> dont delete the ' ' 13:12 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1077925918540058654/image.png 13:13 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1077925982809358486/image.png 13:13 < bridge> thats not my script 13:13 < bridge> xd 13:13 < bridge> I know 13:13 < bridge> i tryed by myself 13:13 < bridge> i can only help you with my script 13:13 < bridge> :)) 13:14 < bridge> U dont know whats wrong with that? 13:14 < bridge> its happens when i run it 13:15 < bridge> Okay i just copy yours 13:18 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1077927271895142424/image.png 13:18 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1077927416502161480/image.png 13:18 < bridge> The token already typed in 13:20 < bridge> do what it tells you to do 13:21 < bridge> you could have fixed that one yourself if you would read 13:21 < bridge> Oh yeah i got it my bad 13:22 < bridge> What should it do 13:22 < bridge> ? 13:22 < bridge> I mean how is it works 13:23 < bridge> its running? 13:24 < bridge> if yes do !save_file and put ur map in the same message 13:24 < bridge> oh thats all? 13:24 < bridge> then the file will be saved in ur folder 13:24 < bridge> lol 13:24 < bridge> the path u sayed 13:24 < bridge> very simple script 13:25 < bridge> lemem test it 13:25 < bridge> and also the uploader needs the role 'Mapper' 13:25 < bridge> lemme test it 13:25 < bridge> Not really 13:25 < bridge> and also the uploader need the role 'Mapper' 13:25 < bridge> yes 13:25 < bridge> u know my script better then me 13:25 < bridge> i guess 13:27 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1077929693577228318/image.png 13:27 < bridge> nope 13:27 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1077929747906043955/image.png 13:28 < bridge> aint works 13:28 < bridge> https://twitter.com/MovingToTheSun/status/1625156575202537474?s=20 13:28 < bridge> quite interesting how bin'g's ai is developping :kek: 13:34 < bridge> I put the script into Visual Studios currently, where can i run the bo twith it? 13:34 < bridge> I put the script into Visual Studios currently, where can i run the bot with it? 13:35 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1077931557270073354/image.png 13:39 < bridge> LMFAO 13:40 < bridge> open the terminal in visual studio 13:41 < bridge> and use for example `python main.py` 13:41 < bridge> or `python3 main.py` 13:53 < bridge> there’s no terminal in visual studio 13:53 < bridge> the closest thing is the developer powershell/cmd instances 13:54 < bridge> neither of which have python installed by default 13:57 < bridge> there is 13:57 < bridge> where 13:57 < bridge> a 13:57 < bridge> its vscode 13:57 < bridge> mb 13:58 < bridge> yeah 13:58 < bridge> im using vscode im used to deal with the options idk xd 14:02 < bridge> there is 14:02 < bridge> i use it to compile c# natively 14:03 < bridge> because it doesn't have the build option for nativeaot yet 14:03 < bridge> so where do i have to click now? 14:04 < bridge> ? 14:12 < bridge> there is, it's called terminal 14:16 < bridge> that's just the dev ps instance 14:16 < bridge> but you're right it is a terminal lol 14:19 < bridge> what 14:19 < bridge> No i mean the one tab at the bottom 14:19 < bridge> see randomly im right 14:20 < bridge> when I am @ home I will make a screenshot for you @Ewan Green 14:20 < bridge> i don't need a screenshot 14:20 < bridge> i went and looked for it and it's there 14:20 < bridge> but it's really out of the way lol i never would have known it was there 14:21 < bridge> also it wasn't part of visual studio before it seems like since I wasn't able to find it in the local installation at my workspace 14:22 < bridge> How to run it 14:26 < bridge> nevermind I looked at the wrong spot 14:27 < bridge> to anyone else: ``View > Terminal`` or ``View > Other Windows > Command Prompt`` 14:30 < bridge> to show a command prompt inside visual studio ide instead of opening an external command prompt using ``Extras > Command Line > Developer...`` 14:36 < bridge> i told u?? 14:36 < bridge> whereee 14:36 < bridge> i dont get it 14:39 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1077947648302129222/image.png 14:39 < bridge> how to add the folder for save? 16:05 < bridge> @Jupeyy_Keks maybe u know this 16:05 < bridge> u know how to declare a _ExtInt(N) literal that has more than the max literal value allowed? 16:05 < bridge> `_ExtInt(300) prime = 999999999999999999999999999999999;` 16:06 < bridge> _ExtInt is a clang extension, it does the same that _BitInt(N) does (standarized in c++23, but the extension from clang is available before) 16:06 < bridge> i know u can get it doing bit shift and cast shenaningans but thats godly awful 16:07 < bridge> `error: integer literal is too large to be represented in any integer type` 16:07 < bridge> stupid 16:07 < bridge> i mean that number is obviously bigger than the upper limit 16:07 < bridge> no 16:07 < bridge> no? 16:07 < bridge> its not bigger than a 300bit integer lol 16:07 < bridge> u dont understand the issue here 16:08 < bridge> -2,147,483,648 to 2,147,483,647 16:08 < bridge> oh 300bit 16:08 < bridge> _ExtInt (_BitInt in c++23) allows declaring ints of n bits 16:09 < bridge> doesn't seem to work as intended 16:09 < bridge> https://www.open-std.org/jtc1/sc22/wg14/www/docs/n2709.pdf 16:09 < bridge> im sure i need to add some suffix to the literal 16:09 < bridge> but idk which 16:09 < bridge> i tried `999999999999999999999999999999999_ExtInt300` 16:09 < bridge> but no 16:10 < bridge> I mean this is convincing: 16:10 < bridge> ```The error message you are seeing is because the integer literal "999999999999999999999999999999999" is too large to be represented by any integer type. In C++, the largest integer type is typically "long long int", which can represent integers up to 9,223,372,036,854,775,807.``` 16:10 < bridge> it suggested a library 16:10 < bridge> but thats not what you want 16:11 < bridge> Future Directions > Adding literal suffixes to form integer constants with a bit-precise type. 16:11 < bridge> from the paper 16:11 < bridge> F 16:13 < bridge> This does what you want. Maybe you can hibbity hoppity, take some code snippet and make it your property. https://github.com/boostorg/multiprecision/blob/develop/include/boost/multiprecision/cpp_int.hpp 16:13 < bridge> nah i wanted it natively 16:13 < bridge> and in clang cuz llvm 16:13 < bridge> wanted to know if there is a bug with big int division 16:14 < bridge> is GMP part of the windows api? 16:15 < bridge> ```c++ 16:15 < bridge> #include 16:15 < bridge> using namespace std; 16:15 < bridge> 16:15 < bridge> int main() { 16:15 < bridge> mpz_class prime = "999999999999999999999999999999999"; 16:15 < bridge> cout << prime << endl; 16:15 < bridge> return 0; 16:15 < bridge> }``` 16:15 < bridge> ah no 16:17 < bridge> ``__int128`` is a thing but that isn't supported everywhere and requires you to compile using MSVC 16:17 < bridge> ``__int128`` is a thing but that isn't supported everywhere and requires you to compile using MSVC 16:17 < bridge> ```c++ 16:17 < bridge> #include 16:17 < bridge> using namespace std; 16:17 < bridge> 16:17 < bridge> int main() { 16:17 < bridge> __int128 prime = 999999999999999999999999999999999; 16:17 < bridge> cout << prime << endl; 16:17 < bridge> return 0; 16:17 < bridge> } 16:17 < bridge> ``` 16:22 < bridge> Yea I only find libraries that implement a big int datatype, no clue what your original plan was using bitshift 16:25 < bridge> Yea I only find libraries that implement a big int datatype, no clue what your original plan was using bitshift. The problem with n-bit integers is that you have to assign the value to it. And that arbitrary value can't be represented by C++ itself. 16:25 < bridge> Yea I only find libraries that implement a big int datatype, no clue what your original plan was using bitshift. The problem with n-bit integers is that you have to assign the value to it. And that arbitrary value can't be represented by C++ itself. Even if the bits could logically speaking properly store that value. 16:31 < bridge> You obviously can make your own implementation for something like that as shown below: 16:31 < bridge> ```c++ 16:31 < bridge> class LargeInt { 16:31 < bridge> private: 16:31 < bridge> const static int ARRAY_SIZE = 2; // number of unsigned long long integers to store the large integer 16:31 < bridge> unsigned long long data[ARRAY_SIZE]; 16:31 < bridge> public: 16:31 < bridge> LargeInt(unsigned long long value) { 16:31 < bridge> data[0] = value; 16:31 < bridge> data[1] = 0; 16:31 < bridge> } 16:31 < bridge> LargeInt(unsigned long long high, unsigned long long low) { 16:31 < bridge> data[0] = low; 16:31 < bridge> data[1] = high; 16:31 < bridge> } 16:31 < bridge> LargeInt operator+(const LargeInt& other) const { 16:31 < bridge> unsigned long long carry = 0; 16:31 < bridge> unsigned long long sum_low = data[0] + other.data[0]; 16:31 < bridge> carry = sum_low < data[0] ? 1 : 0; 16:31 < bridge> unsigned long long sum_high = data[1] + other.data[1] + carry; 16:31 < bridge> return LargeInt(sum_high, sum_low); 16:31 < bridge> } 16:31 < bridge> friend ostream& operator<<(ostream& os, const LargeInt& obj) { 16:31 < bridge> os << obj.data[1] << obj.data[0]; 16:31 < bridge> return os; 16:31 < bridge> } 16:32 < bridge> }; 16:32 < bridge> ``` 16:32 < bridge> but that's not too different to using a third party library that already did that for you 16:41 < bridge> I'd say u need a postfix literal 16:41 < bridge> Smth like 9999_extint 16:44 < bridge> Or create it from a string 16:47 < bridge> Or find a multiplication that results in Ur value and multiple them: 99999LL * 111111111LL 16:59 < bridge> yeah i mean this isn’t impossible by any means 17:05 < bridge> ye but i dont know which 17:14 < bridge> U can create an literal operator yourself if clang doesn't provide one 18:14 < bridge> cant you initialize it from string translated at compile time, or directly byte array? 18:17 < bridge> r u creating the next cookie clicker, or what do u even need 300bits for xd 18:29 < bridge> nah 18:29 < bridge> finite field arithmetic 18:29 < bridge> was just testing something 18:29 < bridge> its ok its just more combinations than atoms in the universe 18:30 < bridge> and my target fps for ddnet 18:30 < bridge> xd 18:52 * abc slaps XXLTomate around a bit with a large fishbot 19:05 < bridge> hey so I'm using the OnWindowResize member of the CComponent class to update my width & height values that are used in the rendering function 19:05 < bridge> refactoring some stuff 19:05 < bridge> and this is happening for some reason but only when i'm pressing tab 19:05 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1078014731928997898/image.png 19:05 < bridge> it's like cropped but keeping the same aspect ratio 19:06 < bridge> this does not happen when i update the values each time it's rendered 19:06 < bridge> if you can't see it's messing up the map/transformation and the bar is really small in the corner 19:07 < bridge> oh it's ` Graphics()->MapScreen(0.0f, 0.0f, m_Width, m_Height);` specifically that's the issue. wut? 19:08 < bridge> other components call that function too 19:08 < bridge> oh i didn't realize it was a global thing i guess 19:08 < bridge> but that makes sense 19:10 < bridge> I like python for finite fields 19:17 < bridge> yeah it works nice cuz inf integer 19:17 < bridge> but im doing this with llvm ir xd 19:19 < bridge> 0 * inf 19:24 < bridge> you can also easily get the inverse in python: 19:24 < bridge> `pow(2, -1, 3)` 19:38 < bridge> I wonder if something like `_ExtInt(300) prime = std::numeric_limits::max()` might work πŸ˜› 19:39 < bridge> Oh you wanted sth else, I misread it as you wanting to initialize to the max 19:42 < bridge> nah xd 19:42 < bridge> i want a literal 19:42 < bridge> that is bigger than long long 19:43 < bridge> anyway im not touching c++ more 19:43 < bridge> i just wanted to confirm if division worked correctly on llvm-ir with big integers 19:43 < bridge> and it does from my tests 19:43 < bridge> Yeah, I just took a quick glance at the standard and it doesn't seem really possible unless clang also added a suffix themselves 19:44 < bridge> ```llvm 19:44 < bridge> source_filename = "root" 19:44 < bridge> 19:44 < bridge> declare i32 @printf(ptr, ...) 19:44 < bridge> 19:44 < bridge> define i32 @print(i1 %0) { 19:44 < bridge> entry: 19:44 < bridge> %prefix = alloca [4 x i8], align 1 19:44 < bridge> store [4 x i8] c"%d\0A\00", ptr %prefix, align 1 19:44 < bridge> %printed_characters_n = call i32 (ptr, ...) @printf(ptr %prefix, i1 %0) 19:44 < bridge> ret i32 %printed_characters_n 19:44 < bridge> } 19:44 < bridge> 19:44 < bridge> define i32 @main() { 19:44 < bridge> entry: 19:44 < bridge> %s = sdiv i500 2457975212345678912345678923456723456789, 3 19:45 < bridge> %x = icmp eq i500 %s, 819325070781892970781892974485574485596 19:45 < bridge> %p = call i32 @print(i1 %x) 19:45 < bridge> ret i32 %p 19:45 < bridge> } 19:45 < bridge> ``` 19:45 < bridge> this prints 1 19:45 < bridge> so its correct the division 19:45 < bridge> i got the division result with python 19:45 < bridge> (i made up the first number) 19:45 < bridge> Why are you writing llvm ir btw? finally making your own language? 19:45 < bridge> i am 19:45 < bridge> at work 19:45 < bridge> but soon also for myself 19:45 < bridge> xd 19:46 < bridge> doing this at work makes me itch to do my own lang 19:46 < bridge> Do JVM bytecode instead 19:46 < bridge> nah 19:46 < bridge> llvm is awesome 19:46 < bridge> mlir looks promising too 19:46 < bridge> Corporations love Java, you'll get big points with your boss 19:46 < bridge> my boss hates java 19:46 < bridge> and haskell 19:46 < bridge> Fake corpo 19:47 < bridge> likes erlang, rust, elixir 19:47 < bridge> julia 19:47 < bridge> Are you generating the IR by hand btw? I saw a cute library to work with it a couple weeks ago 19:47 < bridge> im using inkwell 19:47 < bridge> it makes u write llvm correctly 19:47 < bridge> also rly useful to learn llvm 19:48 < bridge> https://crates.io/crates/inkwell 19:48 < bridge> do note that big int operations like im doing are only supported from llvm 16 19:48 < bridge> How to get the log of core dump of ddnet server? Using ubuntu 22.04.1 LTS with systemd 19:48 < bridge> log of core dump? 19:49 < bridge> core dump sry 19:50 < bridge> But what do you want to do? Open it in gdb? send it to someone? 19:50 < bridge> With systemd `coredumpctl` collects all the dumps 19:50 < bridge> see why the server crashed 19:50 < bridge> `coredumpctl list` to find the dump 19:51 < bridge> Ok thanks. I didn't have the coredumpctl installed though. If it crashed again I should be able to see the dump though, right? 19:51 < bridge> @Learath2 i can say im a level above ur C chadness by doing llvm ir 19:51 < bridge> :BASEDDEPT: 19:52 < bridge> iiii don't know what systemd does, didn't even know it was possible to have coredumpctl not installed πŸ˜› 19:52 < bridge> πŸ˜‰ 19:52 < bridge> btw the division from that code outputs 50k instructions xD 19:53 < bridge> https://godbolt.org/z/bWoY6qPWW 19:53 < bridge> you can try `cat /proc/sys/kernel/core_pattern` to see where the cores go 19:54 < bridge> 50k? seriously? 19:54 < bridge> its a rly high bit count 19:54 < bridge> `|/lib/systemd/systemd-coredump %P %u %g %s %t %h` 19:54 < bridge> well thats what the t ool says 19:54 < bridge> in godbolt 19:55 < bridge> Iterations: 100 19:55 < bridge> Instructions: 40000 19:55 < bridge> Total Cycles: 18578 19:55 < bridge> Total uOps: 49100 19:55 < bridge> 19:55 < bridge> Dispatch Width: 6 19:55 < bridge> uOps Per Cycle: 2.64 19:55 < bridge> IPC: 2.15 19:55 < bridge> Block RThroughput: 92.0 19:55 < bridge> Maybe it's 400 instructions times 100 iterations? 19:59 < bridge> I guess 20:38 < bridge> looks highly unoptimized though 20:58 < bridge> its not run through any optimizer 20:58 < bridge> oh u can pass O3 21:05 < bridge> would ddnet be interested in this feature 21:05 < bridge> https://github.com/danielkempf/TaterClient-ddnet/pull/14 21:06 < bridge> i know the cstring thing is probs wrong 21:07 < bridge> also this is not the ddnet client 21:07 < bridge> ive been fooled 21:07 < bridge> could be an env thing on my end but tbh i couldn't be bothered to play with that & it's technically right because it was erroring saying strlen wasn't a defined symbol 21:07 < bridge> yeah ik 21:07 < bridge> i mean 21:07 < bridge> i would happily port to ddnet cuz it's a small feature. but would it be welcome 21:07 < bridge> want to ask before submitting pr and spending time on that 21:07 < bridge> i would happily port to ddnet cuz it's a small feature. but would it be welcome? that's what i'm asking 21:08 < bridge> i dont rly like it but u should hear others 21:12 < bridge> πŸ‘ 21:34 < bridge> looks like start of ddOS 21:34 < bridge> what