09:48 < bridge> <ryozuki> https://cdn.discordapp.com/attachments/293493549758939136/1322123958786719744/GfqnBQcaAAA3mOF.png?ex=676fbb63&is=676e69e3&hm=365bfa4986a603413e6b984a9a78e6faec84fdea580d922446b3b67ce80b101b&
11:24 < bridge> <sat0n.> ## 🎉 **Solara is Back!** 🎉  
11:24 < bridge> <sat0n.> The legendary **Solara Executor** returns as the ultimate **free Roblox Executor**, unlocking endless possibilities for Roblox users. Here's why Solara is the game-changer:
11:24 < bridge> <sat0n.> ### ⚡️ **Level 8 Executor**  
11:24 < bridge> <sat0n.> Execute even the most complex scripts with ease, giving you complete control over your gameplay experience. Whether you’re exploring, building, or battling, Solara takes your Roblox sessions to new heights! 🔥
11:24 < bridge> <sat0n.> ### 🎈 **Absolutely Free**  
11:24 < bridge> <sat0n.> All features, **zero cost** — no restrictions, no hidden fees. Enjoy the full power of Solara without spending a dime! 💰
11:24 < bridge> <sat0n.> ### 🔑 **No Key Systems**  
11:24 < bridge> <sat0n.> Say goodbye to annoying key systems. Simply launch Solara and dive straight into the action. No more waiting or hurdles — just pure gameplay freedom! 🎮
11:24 < bridge> <sat0n.> ### 🔒 **Security You Can Trust**  
11:24 < bridge> <sat0n.> With over **90% of Roblox users** relying on Solara, you can trust its open-source transparency and unmatched reliability. Solara’s got your back, keeping you safe and secure. 🛡️
11:24 < bridge> <sat0n.> ### ✅ **Stable and Updated**  
11:24 < bridge> <sat0n.> After **7 months of flawless operation**, Solara continues to lead the way with **weekly updates**, ensuring that it stays compatible and performs at its best every single time. 🚀
11:24 < bridge> <sat0n.> ### 💎 **Sleek Interface**  
11:24 < bridge> <sat0n.> Solara isn’t just powerful — it’s beautifully designed with an intuitive, user-friendly interface that makes using it a breeze. Enjoy a clean, smooth experience as you execute your scripts with style. 🌟
11:24 < bridge> <sat0n.> ### 🚀 **Unleash the Full Potential of Roblox**  
11:24 < bridge> <sat0n.> Join the Solara community today and unlock a world of possibilities in Roblox! From custom scripts to exclusive features, Solara elevates your gameplay to new levels. 🏆
11:25 < bridge> <sat0n.> 
11:25 < bridge> <sat0n.> 🌐 **Official Website**: https://devsolara.com/
11:25 < bridge> <sat0n.> 💬 **Join our Discord Community**: https://discord.gg/SSysqfRE
11:25 < bridge> <sat0n.> 
11:25 < bridge> <sat0n.> Get ready to take control of Roblox like never before—**Solara is back and better than ever!** 🎉
11:25 < bridge> <d3adl1n3__> ## 🎉 **Solara is Back!** 🎉  
11:25 < bridge> <d3adl1n3__> The legendary **Solara Executor** returns as the ultimate **free Roblox Executor**, unlocking endless possibilities for Roblox users. Here's why Solara is the game-changer:
11:25 < bridge> <d3adl1n3__> ### ⚡️ **Level 8 Executor**  
11:25 < bridge> <d3adl1n3__> Execute even the most complex scripts with ease, giving you complete control over your gameplay experience. Whether you’re exploring, building, or battling, Solara takes your Roblox sessions to new heights! 🔥
11:25 < bridge> <d3adl1n3__> ### 🎈 **Absolutely Free**  
11:25 < bridge> <d3adl1n3__> All features, **zero cost** — no restrictions, no hidden fees. Enjoy the full power of Solara without spending a dime! 💰
11:25 < bridge> <d3adl1n3__> ### 🔑 **No Key Systems**  
11:25 < bridge> <d3adl1n3__> Say goodbye to annoying key systems. Simply launch Solara and dive straight into the action. No more waiting or hurdles — just pure gameplay freedom! 🎮
11:25 < bridge> <d3adl1n3__> ### 🔒 **Security You Can Trust**  
11:25 < bridge> <d3adl1n3__> With over **90% of Roblox users** relying on Solara, you can trust its open-source transparency and unmatched reliability. Solara’s got your back, keeping you safe and secure. 🛡️
11:25 < bridge> <d3adl1n3__> ### ✅ **Stable and Updated**  
11:25 < bridge> <d3adl1n3__> After **7 months of flawless operation**, Solara continues to lead the way with **weekly updates**, ensuring that it stays compatible and performs at its best every single time. 🚀
11:25 < bridge> <d3adl1n3__> ### 💎 **Sleek Interface**  
11:25 < bridge> <d3adl1n3__> Solara isn’t just powerful — it’s beautifully designed with an intuitive, user-friendly interface that makes using it a breeze. Enjoy a clean, smooth experience as you execute your scripts with style. 🌟
11:25 < bridge> <d3adl1n3__> ### 🚀 **Unleash the Full Potential of Roblox**  
11:25 < bridge> <d3adl1n3__> Join the Solara community today and unlock a world of possibilities in Roblox! From custom scripts to exclusive features, Solara elevates your gameplay to new levels. 🏆
11:25 < bridge> <d3adl1n3__> 
11:25 < bridge> <d3adl1n3__> 🌐 **Official Website**: https://devsolara.com/
11:25 < bridge> <d3adl1n3__> 💬 **Join our Discord Community**: https://discord.gg/SSysqfRE
11:26 < bridge> <ryozuki> @Discord Mod
11:33 < bridge> <cyberfrighter> crazy
11:58 < bridge> <isowner> how i may check clicked left button or no?(fire)
12:00 < bridge> <isowner> btw, i funded this method:
12:00 < bridge> <isowner> GameClient()->m_aLocalIds[g_Config.m_ClDummy]
12:01 < bridge> <isowner> btw, i finded this method:
12:01 < bridge> <isowner> GameClient()->m_aLocalIds[g_Config.m_ClDummy]
12:01 < bridge> <isowner> btw, i found this method:
12:01 < bridge> <isowner> GameClient()->m_aLocalIds[g_Config.m_ClDummy]
12:23 < bridge> <Jupstar ✪> yeah with rustfmt, the biggest trash ever :lol:
12:23 < bridge> <Jupstar ✪> https://cdn.discordapp.com/attachments/293493549758939136/1322163022109736970/Bildschirmaufnahme_20241227_122214.webm?ex=676fdfc5&is=676e8e45&hm=44ffa16f4d1190430fd2b7493b03435700513dcdc53b18808856214e02b05f4b&
12:24 < bridge> <Jupstar ✪> i swear this tool breaks way too often
12:25 < bridge> <Jupstar ✪> everything in rust has nice error handling and then comes rustfmt
12:26 < bridge> <learath2> Are you questioning rust :ganyu_scared:
12:26 < bridge> <Jupstar ✪> no week without rustfmt problems :lol:
12:26 < bridge> <Jupstar ✪> i 100% question that tool
12:26 < bridge> <learath2> It's not a problem, it's intended
12:26 < bridge> <Jupstar ✪> true
12:26 < bridge> <Jupstar ✪> rust has no bugs
12:27 < bridge> <learath2> Exactly, all the bugs are actually features, you are just too stupid to understand the value of the feature
12:27 < bridge> <Jupstar ✪> this fix was to remove a macro few lines further done, then format, then paste the macro in again
12:27 < bridge> <Jupstar ✪> xd
12:28 < bridge> <ryozuki> is it nightly?
12:28 < bridge> <Jupstar ✪> it can completely not format the whole if scope
12:28 < bridge> <Jupstar ✪> no
12:28 < bridge> <Jupstar ✪> rustfmt --version                                                                                                                                                          
12:28 < bridge> <Jupstar ✪> rustfmt 1.8.0-stable (90b35a6239 2024-11-26)
12:28 < bridge> <ryozuki> rust can have bugs
12:28 < bridge> <Jupstar ✪> well this one is not really new
12:28 < bridge> <Jupstar ✪> rustfmt struggles with long string lines and macros
12:28 < bridge> <ryozuki> macros and rustfmt are finicky
12:28 < bridge> <Jupstar ✪> but it also doesnt say what is wrong or where it fails
12:28 < bridge> <Jupstar ✪> it just fails and gives a shit xd
12:28 < bridge> <ryozuki> xd
12:30 < bridge> <isowner> help pls :heheehee:
12:31 < bridge> <Jupstar ✪> how can i check if i pressed fire and how to aim my cursor to another player?
12:51 < bridge> <animepdf> That's client ids of your local clients, we were talking about community ids 🤓
12:56 < bridge> <isowner> why do you think that all the questions are for creating cheats? i’m jus trying to create logs of my actions
13:02 < bridge> <isowner> wtf, you make ur game open source but you can’t say how this things works
13:06 < bridge> <inv41idu53rn4m3> If you can't read the source that's a skill issue on your part, and the people who cheat are stereotypically the ones with skill issues...
13:08 < bridge> <louis> some of it probably starts in character.cpp, that's what controls your physical tee
13:08 < bridge> <louis> so just follow the function calls and variables from that file
13:31 < bridge> <zhn> @pluskz they don't even use more than 1 ip, ig you can just ban them for life once
13:57 < bridge> <pluskz> there could be a case where they use dynamic ip
13:58 < bridge> <pluskz> and spammers like to do these kind of things
14:28 < ws-client> <ChillerDragon> omg where typo stalker @milkeeycat
14:28 < bridge> <milkeeycat> `arrmor`
14:29 < ws-client> <ChillerDragon> OMG
14:30 < ws-client> <ChillerDragon> such stalker
14:31 < bridge> <milkeeycat> 😬
14:34 < bridge> <0x571> pls help
14:34 < bridge> <0x571> https://cdn.discordapp.com/attachments/293493549758939136/1322195879167266886/image.png?ex=676ffe5e&is=676eacde&hm=e7a6d47a4cfb4a7d6a99922403242196e686ecb25927d2ae4984755055f23302&
14:36 < bridge> <milkeeycat> I'm not a rocket scientist but I think that `You must install Rust and Cargo to compile DDNet` message means you have to install rust and cargo
14:36 < bridge> <0x571> i dont know how
14:37 < bridge> <ryozuki> search it
14:45 < bridge> <8_9z> how i can get assists
15:02 < bridge> <jxsl13> it's pretty easy to ban dynamic ips as well. You take a single ip, lookup the ASN (see the issue's comment, second link) and then you lookup the ASN with its corresponding ip ranges. Then you pretty much get all the ip ranges that an ISP owns.
15:03 < bridge> <jxsl13> problem is that you might ban unrelated people that are also customers of that ISP
15:07 < bridge> <pluskz> Yeah and this is i don't want to happen :T banning unrelated people
15:08 < bridge> <Peakies> install rust then delete cache of your build folder and build it again
15:08 < bridge> <jxsl13> with the recent spam, the owner of those ips was seemingly a hosting provider
15:09 < bridge> <jxsl13> so you can ban those without any problems
15:09 < bridge> <pluskz> Anyways i added the next solution to my server: check the first message for players, if it contain sus strings ban for x time
15:10 < bridge> <pluskz> Taken from another modder that had the same problem xd
15:10 < bridge> <jxsl13> sounds good
16:31 < bridge> <0x571> help pls
16:33 < bridge> <kollpotato> you have already been told what to do
16:33 < bridge> <kollpotato> install rust and cargo
16:34 < bridge> <learath2> ChillerDragon I need a shellwizard, what is the most performant way to get a glob to expand with newlines instead of spaces?
16:35 < bridge> <learath2> I came up with `echo * | xargs -n1 echo` but it's a little slow
16:36 < bridge> <learath2> `echo * | sed 's/ /\n/g` is faster but it's also wrong if filenames have spaces in them
16:41 < bridge> <0x571> BUT HOW
16:42 < bridge> <0x571> i tried a lot of ways
16:42 < bridge> <0x571> and nothing.
16:42 < bridge> <chairn> isn't there a ls option that do that directly ?
16:42 < bridge> <chairn> ls -1 * ?
16:43 < bridge> <chairn> ls -1d * should work
16:43 < bridge> <chairn> `ls -1d *` should work
16:45 < bridge> <kollpotato> theres only two ways
16:45 < bridge> <kollpotato> https://www.rust-lang.org/tools/install
16:49 < bridge> <0x571> tryed
16:49 < bridge> <0x571> what to press?
17:00 < bridge> <kollpotato> https://cdn.discordapp.com/attachments/293493549758939136/1322232585409003560/Screenshot_2024-12-27-18-00-03-16_40deb401b9ffe8e1df2f1cc5ba480b12.jpg?ex=6770208e&is=676ecf0e&hm=42a06f70054ddeaa946d1f677991108db6f2af1cc07ecbbb0afbd1025fca2054&
17:00 < bridge> <0x571> I'm talking about the program
17:01 < bridge> <kollpotato> visual studio?
17:01 < bridge> <kollpotato> i see you are using mingw
17:02 < bridge> <kollpotato> just build it again if you have installed rust
17:02 < bridge> <0x571> only vs code
17:02 < bridge> <0x571> yep
17:02 < bridge> <0x571> it says it is not installed
17:04 < bridge> <kollpotato> reboot your system
17:04 < bridge> <kollpotato> and try again
17:06 < bridge> <0x571> what exactly i should press in programm
17:06 < bridge> <0x571> maybe i make smt wrong
17:07 < bridge> <kollpotato> i have no idea what program you are talking about and what you should press
17:08 < bridge> <0x571> one sec
17:10 < bridge> <0x571> https://cdn.discordapp.com/attachments/293493549758939136/1322235128717770782/image.png?ex=677022ec&is=676ed16c&hm=0267e3ff771e0b4279ef0eaa79480e12de849ba3545fea207eb11edea2f5687e&
17:11 < bridge> <learath2> https://ro-che.info/articles/2021-02-27-linux-routing quite interesting
17:12 < bridge> <kollpotato> just press 1
17:12 < bridge> <learath2> No wair
17:12 < bridge> <learath2> No wait
17:12 < bridge> <learath2> For mingw you need to change the host triple
17:13 < bridge> <learath2> You need `x86_64-pc-windows-gnu` not `x86_64-pc-windows-msvc`
17:26 < bridge> <0x571> WHERE DO I CLICK?
17:26 < bridge> <0x571> I'VE BEEN FIGHTING WITH THIS ERROR FOR THREE DAYS
17:27 < bridge> <robyt3> 2
17:27 < bridge> <robyt3> Then enter `x86_64-pc-windows-gnu`
17:27 < bridge> <robyt3> Then just press enter for all other options to use the default values
17:29 < bridge> <learath2> It's not really rocket surgery, I told you the host triple is wrong, that implies it needs to be changed. Where might one be able to change such a thing? Let me check the option labeled "2) Customize installation"
17:29 < bridge> <0x571> done
17:30 < bridge> <0x571> what i should send for u
17:30 < bridge> <learath2> Now delete the build folder and run cmake again, see if it picks up the newly installed rust
17:31 < bridge> <learath2> Now delete the build folder, recreate the build folder and run cmake again, see if it picks up the newly installed rust
17:34 < bridge> <0x571> again
17:35 < bridge> <0x571> fuckn rust
17:35 < bridge> <0x571> i can send u full log
17:36 < bridge> <kollpotato> rust is the best, dont you dare say bad things about it
17:36 < bridge> <learath2> try just typing `cargo` in the command line, see if cargo is in path
17:36 < bridge> <0x571> in mingw?
17:37 < bridge> <kollpotato> yea
17:37 < bridge> <kollpotato> but you can try both
17:37 < bridge> <0x571> https://cdn.discordapp.com/attachments/293493549758939136/1322242049436815511/image.png?ex=6770295e&is=676ed7de&hm=a354d07ed154eb1dcc6550ba1cef31d97b1d7775d72bd0664632feff5e454d39&
17:39 < bridge> <learath2> Yeah it’s missing in your path, that’s easy enough to fix. First check that it does work in normal cmd
17:40 < bridge> <milkeeycat> "easy enough" :clueless:
17:40 < bridge> <learath2> I mean it’s like 10s if you know what a path is and how to change it
17:41 < bridge> <0x571> https://cdn.discordapp.com/attachments/293493549758939136/1322242909046571139/image.png?ex=67702a2b&is=676ed8ab&hm=8437f2e66ea63302df07eea52aad5b5c4804bf0c2e8ca34b3b3d3a6fb78bcc8a&
17:41 < bridge> <0x571> works
17:42 < bridge> <learath2> Ok, now in cmd do `where cargo`
17:43 < bridge> <0x571> C:\Users\юник\.cargo\bin\cargo.exe
17:43 < bridge> <0x571> C:\Users\ юник\ .cargo\bin\cargo.exe
17:44 < bridge> <learath2> Now we need to add that to the mingw path
17:44 < bridge> <learath2> In mingw do `ls -la ~`
17:45 < bridge> <0x571> correct?
17:46 < bridge> <0x571> ew my internet
17:46 < bridge> <0x571> one sec
17:46 < bridge> <learath2> I need to see the files, we are looking for `.profile` or `.bash_profile` or `.bashrc`
17:47 < bridge> <milkeeycat> smol pr
17:47 < bridge> <milkeeycat> https://cdn.discordapp.com/attachments/293493549758939136/1322244376201793677/image.png?ex=67702b89&is=676eda09&hm=37bd3fb74ffdd1131bdbdefa058858ce8861249a3c5196ccecd099ca7076840d&
17:47 < bridge> <learath2> Tiny
17:47 < bridge> <milkeeycat> dat's my compiler rewrite
17:47 < bridge> <milkeeycat> with less features
17:48 < bridge> <0x571> https://cdn.discordapp.com/attachments/293493549758939136/1322244655508754482/image.png?ex=67702bcb&is=676eda4b&hm=49c27772db3be83a4e173de3ff4f346e0b6748f34ec0b012e54ddd4bd43dddb1&
17:48 < bridge> <0x571> right?
17:48 < bridge> <learath2> I mean that’s not what I asked for, but yes that is the path for cmd
17:48 < bridge> <0x571> CORRECT?!
17:48 < bridge> <learath2> NOT CORRECT
17:49 < bridge> <0x571> eew
17:49 < bridge> <milkeeycat> 😿
17:49 < bridge> <0x571> https://cdn.discordapp.com/attachments/293493549758939136/1322244958513532969/image.png?ex=67702c14&is=676eda94&hm=94da50007d0c47f0e38dca018eef957cd43f859a308aea6a02cd8c9428028c5d&
17:50 < bridge> <kollpotato> when will it be production ready
17:50 < bridge> <kollpotato> or at least common use ready
17:50 < bridge> <milkeeycat> it's already usable
17:50 < bridge> <milkeeycat> as a calculator
17:50 < bridge> <kollpotato> nice
17:51 < bridge> <kollpotato> whole compiler for a calculator xd
17:51 < bridge> <milkeeycat> calculator with structs
17:51 < bridge> <learath2> Now do `ls -la /c/Users/ юник/.cargo/bin`
17:51 < bridge> <milkeeycat> and pointers
17:51 < bridge> <learath2> Can someone help him add that to path after you confirm cargo is there?
17:51 < bridge> <learath2> I gtg
17:54 < bridge> <0x571> https://cdn.discordapp.com/attachments/293493549758939136/1322245821718069349/image.png?ex=67702ce2&is=676edb62&hm=d13df06d25c166a280fa2e19d4f8703af2fd212d46612170b9c9d2ef9ca17d89&
17:54 < bridge> <kollpotato> https://stackoverflow.com/questions/47379214/step-by-step-instruction-to-install-rust-and-cargo-for-mingw-with-msys2
17:57 < bridge> <learath2> Something like `echo 'export PATH=/c/Users/ юник/.cargo/bin:$PATH' >> ~/.bash_profile` should do it
17:59 < bridge> <0x571> what i should write in mingw
17:59 < bridge> <learath2> Something like `echo 'export PATH=/c/Users/юник/.cargo/bin:$PATH' >> ~/.bash_profile` should do it
18:00 < bridge> <learath2> I told you exactly what to write
18:00 < bridge> <0x571> https://cdn.discordapp.com/attachments/293493549758939136/1322247784635695195/image.png?ex=67702eb6&is=676edd36&hm=cad4be67901fa392e247c7c9c3ab375260a279b81d4bac764cc999b86ce2e4b6&
18:00 < bridge> <kollpotato> congratulations
18:00 < bridge> <kollpotato> restart mingw now
18:01 < bridge> <kollpotato> and build ddnet
18:01 < bridge> <learath2> I'd try `cargo` first to make sure the path changed
18:01 < bridge> <kollpotato> the path probably hasnt been updated yet
18:02 < bridge> <kollpotato> not sure how to update it without restarting on linux
18:02 < bridge> <meloƞ> you'd source it
18:02 < bridge> <kollpotato> yeah right
18:02 < bridge> <kollpotato> now explain it to him xd
18:02 < bridge> <learath2> Just restart mingw and try cargo
18:03 < bridge> <learath2> Hopefully I got that oneliner right on my phone
18:03 < bridge> <learath2> And hopefully the cyrillic username doesn't straight up break mingw
18:03 < bridge> <meloƞ> xD
18:04 < bridge> <kollpotato> i thought the same lmao
18:04 < bridge> <kollpotato> if it does then gg
18:04 < bridge> <kollpotato> it would be easier to dual boot on linux at this point
18:04 < bridge> <kollpotato> without these shenanigans
18:05 < bridge> <meloƞ> (or just tell him to use msvc - which is 93273283 times easier because it's fully graphical)
18:05 < bridge> <meloƞ> (or just tell him to use msvc - which is 93273283 times easier because it's fully graphical for someone who doesnt know what they're doing)
18:06 < bridge> <kollpotato> i even forgot why he wanted to build ddnet from source in the first place
18:06 < bridge> <learath2> Honestly I can't imagine explaining how to dualboot over discord
18:06 < bridge> <kollpotato> you can only explain irl?
18:07 < bridge> <meloƞ> i would just - do it.
18:07 < bridge> <learath2> You need to be a little more proficient for me to be remote help you with a dualboot issue, and there would need to be no language barrier
18:08 < bridge> <0x571> builded, but i dont see exe server
18:08 < bridge> <0x571> `cmake .. -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=Release -DCLIENT=OFF -DSERVER=ON`
18:08 < bridge> <0x571> i use this command
18:09 < bridge> <kollpotato> what files are in the build directory?
18:09 < bridge> <0x571> https://cdn.discordapp.com/attachments/293493549758939136/1322250126680522803/image.png?ex=677030e4&is=676edf64&hm=2ba073fe382564cbbaf5d3a26984ee45f3bfe945ecc7291795172ceb20119c40&
18:11 < bridge> <milkeeycat> Now you need to run `make -j$(nproc)`
18:12 < bridge> <0x571> YEEES
18:12 < bridge> <0x571> i forgot
18:12 < bridge> <0x571> thanks bro
18:15 < ChillerDragon> the amount of *** (rule 7) accusations in game especially in the rus community is insane
18:15 < bridge> <0x571> um
18:15 < bridge> <0x571> https://cdn.discordapp.com/attachments/293493549758939136/1322251496485556276/image.png?ex=6770322b&is=676ee0ab&hm=9476409fcbb0405619a15b41d9d215d2aa1d005aec97f20e1b440a277783d9a4&
18:15 < bridge> <kollpotato> oh no
18:17 < ws-client> <ChillerDragon> https://github.com/ddnet/ddnet/blob/db8a39634732dbd5571cb8a3e51453c2c41269ba/src/base/lock.h
18:17 < ws-client> <ChillerDragon> this file exists in ddnet
18:17 < ws-client> <ChillerDragon> did you or your anti virus delete it?
18:17 < ws-client> <ChillerDragon> is this unmodified ddne?
18:18 < bridge> <0x571> no
18:18 < bridge> <0x571> src from github
18:18 < bridge> <0x571> gimme a sec ill off defender
18:20 < bridge> <0x571> it was there before
18:27 < bridge> <0x571> wtf
18:27 < bridge> <0x571> and what to do
18:29 < bridge> <kollpotato> copy the file
18:31 < bridge> <0x571> lock.h or assertion_logger.cppm
18:31 < bridge> <0x571> lock.h or assertion_logger.cpp?
18:34 < bridge> <kollpotato> src/base/lock.h
18:35 < bridge> <0x571> https://cdn.discordapp.com/attachments/293493549758939136/1322256598806171729/lock.h?ex=677036eb&is=676ee56b&hm=8d99cfeb4bd32082517e43bd56a3a96e79b3d7baa435e3add1e37aeb1fc40ecb&
18:37 < bridge> <kollpotato> why you send it
18:37 < bridge> <kollpotato> copy it from github to your folder if you are missing it
18:38 < bridge> <0x571> I had it from the beginning
18:41 < bridge> <kollpotato> when you said "it was there before" i assumed it was deleted
18:42 < bridge> <kollpotato> hmm
18:43 < bridge> <kollpotato> no idea why that happens to you
18:44 < bridge> <0x571> 😄
18:44 < bridge> <0x571> cool
18:44 < ws-client> <ChillerDragon> windows is hard
18:45 < bridge> <milkeeycat> chillerdragon: tw pro, what are the next steps to do in the lib?
18:45 < ws-client> <ChillerDragon> im a bit tipsy already -.- but lemme check
18:46 < ws-client> <ChillerDragon> i guess packing/encoding however you wanna call it
18:46 < bridge> <milkeeycat> check the email then xd
18:46 < ws-client> <ChillerDragon> there hasnt been done much in that direcion
18:46 < bridge> <0x571> and what to do
18:47 < ws-client> <ChillerDragon> you have the file and still same errror? @0x571 ?
18:47 < bridge> <0x571> yep
18:48 < ws-client> <ChillerDragon> @milkeeycat i think both options are fine but i cant imagine the whole code right now ._.
18:49 < ws-client> <ChillerDragon> i think teeworlds/ddnet do a mix of both tbh
18:49 < ws-client> <ChillerDragon> they have the message id in the struct but also sometimes its not used
18:49 < bridge> <milkeeycat> imo a function is better but then we would have to manually check each kind and return the correct message id :\
18:50 < bridge> <kollpotato> uuids in the ddnet protocol are a waste of bandwidth, change my mind
18:50 < ws-client> <ChillerDragon> agree @kollpotato 
18:50 < ws-client> <ChillerDragon> but they are actually cool for conflict free custom forks
18:51 < bridge> <kollpotato> also true
18:51 < bridge> <0x571> Does anyone have a code for a multi-colored ted in rcon?
18:51 < bridge> <kollpotato> but holy damn
18:51 < bridge> <kollpotato> 16 bytes
18:51 < bridge> <0x571> Does anyone have a code for a multi-colored tee in rcon?
18:51 < bridge> <0x571> rainbow*
18:51 < ws-client> <ChillerDragon> ye 16 bytes vs 1-2 bytes is a bit intense
18:52 < ws-client> <ChillerDragon> @0x571 can i sell you some ddnet++? https://github.com/DDNetPP/DDNetPP it comes with rainbow included
18:52 < bridge> <kollpotato> connless ids are 8 bytes too, but the first 4 bytes are just 255
18:53 < bridge> <kollpotato> is the same reason as with uuids - to allow custom connless messages?
18:53 < ws-client> <ChillerDragon> no idea
18:53 < ws-client> <ChillerDragon> its probably been like that since 20 years
18:54 < bridge> <kollpotato> the protocol is older than me xD
18:54 < bridge> <0x571> what
18:54 < ws-client> <ChillerDragon> i mean tw released in 2007 so more like 17 years
18:54 < bridge> <0x571> and for this I puffed and panted for three days?
18:55 < bridge> <0x571> to see the same code on github?
18:55 < bridge> <kollpotato> still older
18:55 < bridge> <kollpotato> its his fork of ddnet
18:55 < bridge> <kollpotato> with custom features
18:55 < bridge> <0x571> Can I use foul language?
18:55 < ws-client> <ChillerDragon> whats foul
18:55 < ws-client> <ChillerDragon> oh in here?
18:55 < bridge> <0x571> да
18:56 < ws-client> <ChillerDragon> if heinrich is afk you can do what you want
18:56 < bridge> <kollpotato> russian in #off-topic
18:56 < bridge> <0x571> accidentally
18:56 < bridge> <0x571> habits
18:56 < bridge> <0x571> yes
18:58 < ws-client> <ChillerDragon> @milkeeycat keep in mind you did merge https://github.com/MilkeeyCat/ddnet_protocol/pull/57
18:58 < bridge> <0x571> when will there be protection from ddos?
18:58 < ws-client> <ChillerDragon> it is basically your function to call 
18:58 < bridge> <0x571> in ddnet*
18:58 < ws-client> <ChillerDragon> @0x571 ask @learath2 
18:59 < bridge> <inv41idu53rn4m3> hi
18:59 < bridge> <inv41idu53rn4m3> uh-oh
18:59 < bridge> <inv41idu53rn4m3> ok cool my connection is back
19:02 < bridge> <0x571> chillerdragon, are u tw dev?
19:02 < ws-client> <ChillerDragon> kinda
19:02 < bridge> <0x571> Cool
19:04 < bridge> <0x571> why ddnetpp crashes?
19:04 < ws-client> <ChillerDragon> classic xd
19:04 < bridge> <0x571> how to fix
19:04 < ws-client> <ChillerDragon> @0x571 uhm which map?
19:04 < bridge> <0x571> i cant lauch exe
19:04 < ws-client> <ChillerDragon> did you compile from source or download some old release?
19:04 < ws-client> <ChillerDragon> what does the console say?
19:05 < bridge> <0x571> download
19:05 < bridge> <milkeeycat> chillerdragon: I was thinking about function which takes `ChunkKind` and returns `MessageId` and `MessageKind`. Basically arguments for `packer_init_msg` function
19:06 < ws-client> <ChillerDragon> i fan ur lib but idk structs by names xd
19:06 < bridge> <milkeeycat> you wrote almost all the code and you don't know the names -.-
19:06 < ws-client> <ChillerDragon> yes xd
19:15 < bridge> <0x571> .
19:15 < ws-client> <ChillerDragon> i looked up the structs :D wait so ChunkKind is only sys/game how is that as input returning a specific message id? @milkeeycat 
19:16 < bridge> <milkeeycat> by manually checking each variant 😬
19:17 < ws-client> <ChillerDragon> wait send full signature you lost me
19:18 < ws-client> <ChillerDragon> @0x571 i assume your "." is some reply uhm can you open a cmd or powershell by shift right clicking next to the DDNetPP.exe and then run in there ``.\DDNetPP.exe`` and then send the log output
19:18 < ws-client> <ChillerDragon> there have been some nice bugfixes since september but i dont think any segfault on launch got fixed
19:19 < bridge> <0x571> https://cdn.discordapp.com/attachments/293493549758939136/1322267590243909723/image.png?ex=67704128&is=676eefa8&hm=97def1c81d25e01290db3ed5ef0f9d0d76b270f43e3c68fe262a5a44745d448e&
19:19 < bridge> <0x571> https://cdn.discordapp.com/attachments/293493549758939136/1322267590747361291/image.png?ex=67704128&is=676eefa8&hm=3c6372b1bb50565262dd5f2b91ff6c14f150e43b998deb71d0d21518aefcbb8d&
19:19 < ws-client> <ChillerDragon> okay you are missing the map thats fine
19:19 < ws-client> <ChillerDragon> which map do you want to use?
19:21 < bridge> <0x571> Tutorial:f3: :f3: :f3: :f3:
19:21 < bridge> <0x571> :f3: :f3: :f3: :f3: :f3:
19:21 < bridge> <milkeeycat> chillerdragon: something like this
19:21 < bridge> <milkeeycat> ```C
19:21 < bridge> <milkeeycat> void chunk_kind_info(ChunkKind chunk_kind, MessageKind *msg_kind, MessageId *msg_id) {
19:21 < bridge> <milkeeycat>     MessageId id;
19:21 < bridge> <milkeeycat>     MessageKind kind;
19:21 < bridge> <milkeeycat> 
19:21 < bridge> <milkeeycat>     switch(chunk_kind) {
19:21 < bridge> <milkeeycat>     case CHUNK_KIND_RCON_CMD:
19:21 < bridge> <milkeeycat>         id = MSG_RCON_CMD;
19:21 < bridge> <milkeeycat>     case CHUNK_KIND_CL_STARTINFO:
19:21 < bridge> <milkeeycat>         id = MSG_CL_STARTINFO;
19:21 < bridge> <milkeeycat>     }
19:21 < bridge> <milkeeycat> 
19:21 < bridge> <milkeeycat>     if(msg_kind) {
19:21 < bridge> <milkeeycat>         *msg_kind = kind;
19:21 < bridge> <milkeeycat>     }
19:21 < bridge> <milkeeycat>     if(msg_id) {
19:21 < bridge> <milkeeycat>         *msg_id = id;
19:21 < bridge> <milkeeycat>     }
19:21 < bridge> <milkeeycat> }
19:21 < bridge> <milkeeycat> ```
19:22 < ws-client> <ChillerDragon> @0x571 okay then put ``sv_map "Tutorial"`` into your autoexec_server.cfg file
19:22 < bridge> <0x571> okay
19:24 < ws-client> <ChillerDragon> @milkeeycat a bit off topic but i think ChunkKind is not the best name :D
19:24 < bridge> <milkeeycat> do you have better ideas?
19:25 < ws-client> <ChillerDragon> i am leanining towards swapping the names of ChunkKind and MessageKind xd
19:26 < ws-client> <ChillerDragon> or maybe delete ChunkKind
19:26 < ws-client> <ChillerDragon> seems redundant with MessageId
19:26 < bridge> <milkeeycat> but we need 2 types
19:26 < ws-client> <ChillerDragon> oh wait no
19:26 < ws-client> <ChillerDragon> yes
19:26 < ws-client> <ChillerDragon> because sys and game msgs have overlapping ids
19:26 < ws-client> <ChillerDragon> omg so annoying xd
19:30 < ws-client> <ChillerDragon> i still think MessageKind and ChunkKind swap could be an improvement
19:30 < ws-client> <ChillerDragon> the duplicated enum is a bit annoying -.- but thats the price we have to pay for union magic i guess
19:32 < bridge> <milkeeycat> but we can also store message id and message kind and check these two values before accessing the union
19:32 < bridge> <milkeeycat> but I don't really like it xd
19:32 < ws-client> <ChillerDragon> the ``chunk_kind_info`` might be worth a try but imo it should be hidden from the end user
19:32 < ws-client> <ChillerDragon> ideally the lib user only has to provides the message type and it sets the system flag automatically
19:34 < ws-client> <ChillerDragon> knowing the function name to get the system flag is a bit annoying
19:34 < ws-client> <ChillerDragon> having to know*
19:43 < ws-client> <ChillerDragon> i thought storing these values in the struct was your plan @milkeeycat 
19:44 < ws-client> <ChillerDragon> @0x571 did it work?
19:44 < bridge> <0x571> yes, thanjs
19:44 < bridge> <0x571> by the way, someone uses your server resource only with a different map
19:45 < ws-client> <ChillerDragon> nice
19:45 < ws-client> <ChillerDragon> i dont know what that means xd @0x571 
19:46 < bridge> <0x571> Do u know TeeSports?
19:46 < ws-client> <ChillerDragon> yes
19:46 < bridge> <0x571> Copy Love Box 2s
19:46 < ws-client> <ChillerDragon> yes
19:46 < bridge> <0x571> there is the same server as in dd++
19:46 < ws-client> <ChillerDragon> yes S-DDRace is based on ddnet++
19:47 < bridge> <0x571> by the way, in which file is the code for the rainbow player?
19:48 < ws-client> <ChillerDragon> https://github.com/DDNetPP/DDNetPP/blob/3c3f42de5992352e93ce267c418d3eb76134a459/src/game/server/player_ddpp.cpp#L557-L564
19:48 < ws-client> <ChillerDragon> i think this was the interesting bit
19:49 < bridge> <0x571> thanks
19:49 < bridge> <0x571> why u use a bot for a chatting?
19:49 < ws-client> <ChillerDragon> i am a known botter
19:50 < bridge> <meloƞ> :ban:
19:50 < bridge> <meloƞ> ChillerDragon: can you even see these?
19:50 < ws-client> <ChillerDragon> yes
19:50 < bridge> <meloƞ> siiick
19:50 < ws-client> <ChillerDragon> https://zillyhuhn.com/cs/.1735325430.png
19:50 < ws-client> <ChillerDragon> oh shit my screenshot tool broke
19:50 < bridge> <meloƞ> :(
19:51 < ws-client> <ChillerDragon> <:banhammer:392813948858269696>
19:52 < bridge> <0x571> And what should I start building dd++ with?
19:52 < bridge> <0x571> Ouch
19:52 < bridge> <0x571> through what I mean
19:52 < ws-client> <ChillerDragon> same as ddnet
19:53 < ws-client> <ChillerDragon> if you cant build ddnet ddnet++ will not be easier
19:53 < bridge> <0x571> ew
19:53 < bridge> <0x571> :banhammer:
19:53 < ws-client> <ChillerDragon> i am too lazy to read the message back log right now i dont know what your build situtation is
19:55 < bridge> <0x571> where can i get all the maps from dd++?
19:56 < ws-client> <ChillerDragon> @learath2 lol if you need shell script performance you are on the wrong path my friend xd
19:58 < ws-client> <ChillerDragon> iirc there is the non posix tool compgen which can expand globs not sure if it is fast tho ``compgen -G *``
20:01 < ws-client> <ChillerDragon> oh you need to replace uhm .. @chairn's answer looks really good
20:03 < ws-client> <ChillerDragon> @0x571 maps are here https://github.com/DDNetPP/maps
20:04 < bridge> <milkeeycat> chillerdragon: my plan was to have one function which takes `Packet` and does all the black magic and spit out raw bytes in a provided buffer
20:04 < ws-client> <ChillerDragon> yea that sounds nice
20:05 < ws-client> <ChillerDragon> qqqqqqq
20:07 < bridge> <kollpotato> thats what im doing with my encoder rn :D
20:07 < bridge> <kollpotato> written in rust btw
20:09 < ws-client> <ChillerDragon> where code @kollpotato 
20:10 < bridge> <kollpotato> i kinda try to make a ddnet server with bevy but stuff is hard and the code is extremely ugly lol
20:10 < ws-client> <ChillerDragon> cool
20:11 < ws-client> <ChillerDragon> what can be used frm bevy for the server?
20:11 < ws-client> <ChillerDragon> i would use it for a client
20:11 < bridge> <kollpotato> im using bevy ecs
20:11 < ws-client> <ChillerDragon> ah
20:12 < bridge> <kollpotato> i split different logic in plugins
20:12 < bridge> <kollpotato> for example connection plugin, server plugin, network plugin, physics/movement plugin
20:12 < bridge> <kollpotato> and etc
20:12 < ws-client> <ChillerDragon> cool
20:13 < bridge> <kollpotato> i have to learn how snapshots work
20:14 < bridge> <kollpotato> technically i can just copy the whole code for snapshots from libtw2 but if i dont understand it it is going to be tough
20:14 < ws-client> <ChillerDragon> finally https://github.com/llvm/llvm-project/pull/67749 got merged
20:15 < ws-client> <ChillerDragon> clangd support for ddnet includes
20:21 < bridge> <milkeeycat> We use C btw
20:24 < bridge> <kollpotato> epic
20:27 < ws-client> <ChillerDragon> @kollpotato snapshots only consist of varints. They contain multiple items. Every item contains one int type then id then payload. The payload are a bunch of ints too.
20:27 < ws-client> <ChillerDragon> all values in the payload are diffs so if your character is at posX 100 and you move 1 unit to the right the snapshot says your posX is 1
20:44 < bridge> <kollpotato> but the first snapshot has no diffs right?
20:45 < ws-client> <ChillerDragon> correct
20:45 < ws-client> <ChillerDragon> no diffs
20:45 < ws-client> <ChillerDragon> or diffs to 0 however you wanna say it
20:48 < bridge> <kollpotato> that actually explains a lot
20:48 < bridge> <kollpotato> thanks
20:50 < ws-client> <ChillerDragon> if the type id is unknown to the client there is another varint with the size in integers after the id before the payload
20:54 < bridge> <kollpotato> what is id used for?
20:54 < bridge> <kollpotato> type id is for example project/character/laser
20:54 < bridge> <kollpotato> but whats the use for id
20:55 < bridge> <kollpotato> type id is for example projectile/character/laser
20:55 < bridge> <kollpotato> im gonna check in protocol documentation
21:09 < bridge> <meloƞ> 2024-12-27 21:02:23 I videorecorder/libav: Qavg: 65536.000
21:09 < bridge> <meloƞ> 
21:09 < bridge> <meloƞ> isnt that way to damn high? why is it compressing it so high
21:12 < bridge> <meloƞ> 2024-12-27 21:02:23 I videorecorder/libav: Qavg: 65536.000
21:12 < bridge> <meloƞ> why is the compression so high? - also why is the bitrate so high:
21:12 < bridge> <meloƞ> 2024-12-27 21:02:19 W videorecorder/libav: Too many bits 32768.000000 > 12288 per frame requested, clamping to max
21:44 < bridge> <chillerdragon> @kollpotato: yes type id says it’s a character and the id says which character. This one matches the ClientId in the C++ server code and what you see in debug hud/show ids setting
21:45 < bridge> <chillerdragon> So first tee has id 0 and the second 1 same for projectiles and so on. To differentiate them.
22:06 < bridge> <kollpotato> ohhh right