01:53 < bridge> <__bauxite__> Hello thanks for the reply, so being quite new to Linux I'm still learning a lot on how to do stuff. My vps provider gave me some info, something about a UDP Flood, most of the ports were closed from the provider firewall so they are targetting the game port I believe. Game is UDP based, the TCP port is just for RCON. I'm not sure how to analyse the attack, I suppose I just run `tcpdump -w attack.pcap`? The few IPs they sent me traced back to 01:53 < bridge> <__bauxite__> 01:53 < bridge> <__bauxite__> Lately we can barely play the game on the few publicly visible servers we have, as they get attacked immediately, for a small game like ours that essentially kills the game. 01:53 < bridge> <__bauxite__> 01:53 < bridge> <__bauxite__> I'm looking to setup a server specifically designed to analyse the attack, and then hopefully we can see if we can actually mitigate it by buying more powerful machines and so on. Although I'm unsure right now how to go about doing all this, but I'm making progress I guess as some helpful people point me in the right direction. 08:52 < bridge> FFR 08:56 < bridge> well to be fair. ddnet tried a lot of things and it is still massively ddosed. 08:56 < bridge> 08:56 < bridge> our GER10 have a custom ddos filter that works with whitelisting beforehand using http, and still if it's ddosed enough it's unplayable. 08:56 < bridge> 08:56 < bridge> Guess the best you can do if you have a small community is have 1 server that acts as proxy, public visible for new users -> this server will get ddosed. then one server that acts as proxy, but is not in the server list, where players can connect that you trust. <- and either this server is also the real gameplay server, or you make a third server that is the actual game play server. 08:56 < bridge> 08:56 < bridge> or simply don't open it to the public. 08:56 < bridge> 08:56 < bridge> also since it's a source engine game, maybe steam offers some protection? 09:25 < bridge> Hi Guys. I took a look in the files on github, and i'm a little curious. I wanted to see if i could somehow add a "foe" list like the friend list we have. So i search into the file and find the "friend.cpp". But since i didn't learn C AND i'm not really experienced .. I don't think i will able to add what i want. But for curiosity, in wich file the game load the score tab ? I was searching for, telling me i would found something where you can 09:33 < bridge> scoreboard.cpp i guess 09:34 < bridge> Okay. I feel stupid.. Should just have tried to search it from the search box. Thanks 10:23 < bridge> Ok I might google it if you say it’s easy 11:00 < bridge> hi+ 11:12 < bridge> good friday 11:13 < bridge> nah its bad 11:14 < bridge> `tcpdump -w attack.pcap udp and dst port ` 11:14 < bridge> so you filter only on ur gameport 11:14 < bridge> during the attack 13:06 < bridge> I just slept half an hour at workj 13:07 < bridge> wait 13:07 < bridge> 40-45 min actually i think :o 13:12 < bridge> I'm also extremely tired today xd 13:21 < bridge> xd 13:21 < bridge> im not tired 13:22 < bridge> drink more water 13:22 < bridge> and maybe go to || gym || and then code in || rust || 13:24 < bridge> dude 13:25 < bridge> these spoilers made me really angry 13:25 < bridge> especially the second one 13:25 < bridge> !!! xD 13:25 < bridge> woke up with numb arms 13:25 < bridge> because of he way i was laying 13:25 < bridge> anyways, time for a cigarette 13:28 < bridge> xD 13:31 < bridge> my ddnet crashed but no dump happened and when i try to open it again nothing happens 13:32 < bridge> Nvm they just do this wut 13:32 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1195344550617677894/image.png?ex=65b3a65d&is=65a1315d&hm=fe3a9bc3ca4b9f39a3a74aa0943fc60618b21d1b8e352a313596862e7de1b080& 13:33 < bridge> "laying" aka sitting 13:34 < bridge> I woke up perfectly so that my workmate did not notice anything haha 13:34 < bridge> he was having lunch break which I don't do today cuz I leave early 13:42 < bridge> ok uhm roblox seems to make ddnet stop working if its in fullscreen 14:04 < bridge> Cool 14:04 < bridge> I'm really happy that other apps influence ddnet so much 14:05 < bridge> If ddnet.isopen do shit 14:05 < bridge> ive noticed 14:54 < bridge> I am about to go crazy. Why won't TSA say through which path it thinks I'm holding the lock and calling this function 15:06 < bridge> <__bauxite__> Valve has their SDR network that was probably created as a result of these DDOS attacks on their games and pro tournaments, unsure if we can utilize it somehow, I think I saw something in Deen's post about Valve offering to help. 15:07 < bridge> Truly the stupidest piece of compiler aid ever offered, you need to annotate everything, it doesn't try proving anything 15:07 < bridge> <__bauxite__> Valve has their SDR network that was probably created as a result of these DDOS attacks on their games and pro tournaments, unsure if we can utilize it somehow, I think I saw something in Deen's post about Valve offering to help. 15:08 < bridge> <0nathan47> hi i want to play last ddnet version on my phone 15:08 < bridge> <0nathan47> if somebody can help me to compile it 15:08 < bridge> <0nathan47> idk how to do 15:08 < bridge> <0nathan47> (ik its hard asf to play on phone) 15:10 < bridge> @learath2 was about to say the keyword but i dont want u to hate me 15:10 < bridge> :owo: 15:10 < bridge> <0nathan47> hmm 15:10 < bridge> 😬 15:10 < bridge> today is friday 15:10 < bridge> go ahead 15:10 < bridge> 😬 15:10 < bridge> 😏 15:10 < bridge> 😏 15:11 < bridge> # rust 15:11 < bridge> Does Rust's fearless concurrency even include any static thread safety analysis? Or does the type system guarantee it in a way I'm not thinking of right now? 15:11 < bridge> safe rust prevents data races but not race conditions 15:11 < bridge> <0nathan47> hey 15:11 < bridge> (hope i got it right and not the other way around) 15:11 < bridge> <0nathan47> you skipped me 15:11 < bridge> yeah without experience no chance, sry 15:11 < bridge> without compiling experience 15:11 < bridge> <0nathan47> who i can ask ? 15:12 < bridge> but the unique mutability of rust references holds big part in that 15:12 < bridge> chatgpt, google 15:12 < bridge> i dunno 15:12 < bridge> TSA does something different, it makes sure you are holding a capability before accessing anything guarded by that capabilty 15:12 < bridge> <0nathan47> oooh i forgot chatgpt exist ty 15:12 < bridge> what is a capability here? 15:12 < bridge> <0nathan47> @fokkonaut maybe i can help me :brownbear: 15:13 < bridge> https://github.com/ddnet/ddnet/tree/master/scripts/android 15:13 < bridge> 15:13 < bridge> these are the build scripts, but without knowledge and local modifications it wont work 15:13 < bridge> because they are not up to date 15:13 < bridge> <0nathan47> ty 15:14 < bridge> <0nathan47> @fokkonaut maybe u can help me :brownbear: 15:16 < bridge> Hello. I wanted to ask a question. I dont have much money and Ive seen people run doom on pregnancy tests, so where can i download a ddnet version for pregnancy test. 15:17 < bridge> isn't that simply any lock? 15:17 < bridge> or does it do anything useful further than this xd 15:17 < bridge> ? 15:17 < bridge> 15:17 < bridge> how drunk are u? 15:19 < bridge> 😬 15:19 < bridge> <0nathan47> xDDDD i thought my english is bad but its not my english its really what i expected xDDD 15:20 < bridge> TSA makes sure of it statically 15:21 < bridge> yeah but how does rust not do that xd 15:21 < bridge> without mutability u cant do lot in rust 15:21 < bridge> and for mutability in threaded context u need a lock 15:21 < bridge> or atomic 15:21 < bridge> I guess it kinda does by having mutexes contain what they guard 15:22 < bridge> ah yeah 15:22 < bridge> But it's not simply a function of any lock in any programming language. Locks are runtime 15:22 < bridge> i already forgot that isnt the case in cpp xD 15:25 < bridge> im not drunk at all https://www.youtube.com/watch?v=V1gcoyo5Ssk 15:29 < bridge> ok then go 15:30 < bridge> go where? 15:31 < bridge> let's go 15:31 < bridge> compile ddnet 15:31 < bridge> on toaster 15:31 < bridge> nono, im asking U how to do it 15:34 < bridge> @jupeyy_keks when use io_uring 15:34 < bridge> and require latest kernel 15:35 < bridge> is it stable and no security problem anymore? xd 15:35 < bridge> i think yes xd 15:35 < bridge> https://unixism.net/loti/index.html 15:35 < bridge> Welcome to Lord of the io_uring¶ 15:35 < bridge> Welcome to Lord of the io_uring 15:35 < bridge> 👏 15:36 < bridge> https://unixism.net/loti/tutorial/cat_liburing.html 15:44 < bridge> @heinrich5991 the logging stuff seems to have some data race according to tsan. You might want to investigate, the two I found in my own code were real races 15:45 < bridge> ! 15:45 < bridge> https://tenor.com/view/crab-rave-dancing-dancing-crab-gif-16543314 15:45 < bridge> xd 15:45 < bridge> https://tenor.com/view/wheeze-laugh-gif-14359545 15:46 < bridge> https://en.wikipedia.org/wiki/Jakarta_Server_Pages 15:46 < bridge> @learath2 someone at work mentioned they used to work with this lol 15:49 < bridge> Ah it's `localtime` used in `str_timestamp_ex` can't do that, it's not threadsafe 15:49 < bridge> is there some localtime_s? 15:49 < bridge> xd 15:50 < bridge> There is but it's not guaranteed to exist 15:50 < bridge> (since C11) 15:50 < bridge> https://en.cppreference.com/w/c/chrono/localtime 15:51 < bridge> It's optional since C11 because it's part of Annex K 15:51 < bridge> ☝️ 🤓 15:52 < bridge> Are we C++20 yet? If so we can use the new timezone stuff 15:54 < bridge> no 15:59 < bridge> no cuz macos 15:59 < bridge> i think 15:59 < bridge> we should drop macos <14 support 16:01 < bridge> not because of macos, but we should still drop it 16:01 < bridge> 😏 16:04 < bridge> No one really implemented Annex K functions anyway 16:07 < bridge> I guess POSIX has localtime_r much earlier than C23 16:09 < bridge> @learath2 so u simply cant get localtime in a mt context? 16:10 < bridge> Not from multiple threads 16:10 < bridge> 💀 16:28 < bridge> @learath2 where are we ever reading the localtime in a thread? 16:28 < bridge> 16:28 < bridge> on server? 16:31 < bridge> @ryozuki My company decided to switch to rust now 😄 16:31 < bridge> Any logging from a thread different from main 16:32 < bridge> EPYC 16:32 < bridge> ah so logging i c 16:32 < bridge> https://tenor.com/view/ferris-rust-rustlang-crab-cute-gif-26396486 16:32 < bridge> Just wanted to tell you as rustaholic 16:32 < bridge> 😬 16:33 < bridge> @avolicious rust slowly wins over the market 16:33 < bridge> :owo: 16:34 < bridge> Yeah, we are using it now for a DACH / EU project 16:35 < bridge> whats dach 16:35 < bridge> Germany, Austria, Switzerland 16:43 < bridge> ah 16:43 < bridge> these names are funny 16:43 < bridge> they call use PIGS 16:43 < bridge> PIGS is a derogatory acronym that has been used to designate the economies of the Southern European countries of Portugal, Italy, Greece, and Spain. During the European debt crisis of 2009–14 the variant PIIGS, or GIPSI, was coined to include Ireland. 16:51 < bridge> https://beej.us/guide/bgipc/html/ 16:51 < bridge> @learath2 @heinrich5991 good link about ipc stuff 16:52 < bridge> > SIGABRT Process abort signal. 16:52 < bridge> > SIGALRM Alarm clock. 16:52 < bridge> > SIGFPE Erroneous arithmetic operation. 16:52 < bridge> > SIGHUP Hangup. 16:52 < bridge> > SIGILL Illegal instruction. 16:52 < bridge> > SIGINT Terminal interrupt signal. 16:52 < bridge> > SIGKILL Kill (cannot be caught or ignored). 16:52 < bridge> > SIGPIPE Write on a pipe with no one to read it. 16:52 < bridge> > SIGQUIT Terminal quit signal. 16:52 < bridge> > SIGSEGV Invalid memory reference. 16:52 < bridge> > SIGTERM Termination signal. 16:52 < bridge> > SIGUSR1 User-defined signal 1. 16:52 < bridge> > SIGUSR2 User-defined signal 2. 16:52 < bridge> > SIGCHLD Child process terminated or stopped. 16:52 < bridge> > SIGCONT Continue executing, if stopped. 16:52 < bridge> > SIGSTOP Stop executing (cannot be caught or ignored). 16:52 < bridge> > SIGTSTP Terminal stop signal. 16:53 < bridge> > SIGTTIN Background process attempting read. 16:53 < bridge> > SIGTTOU Background process attempting write. 16:53 < bridge> > SIGBUS Bus error. 16:53 < bridge> > SIGPOLL Pollable event. 16:53 < bridge> > SIGPROF Profiling timer expired. 16:53 < bridge> > SIGSYS Bad system call. 16:53 < bridge> > SIGTRAP Trace/breakpoint trap. 16:53 < bridge> > SIGURG High bandwidth data is available at a socket. 16:53 < bridge> > SIGVTALRM Virtual timer expired. 16:53 < bridge> > SIGXCPU CPU time limit exceeded. 16:53 < bridge> > SIGXFSZ File size limit exceeded. 16:53 < bridge> epic list 17:03 < bridge> https://users.cs.utah.edu/~regehr/papers/cgo24.pdf 17:03 < bridge> High-Throughput, Formal-Methods-Assisted 17:03 < bridge> Fuzzing for LLVM 19:00 < bridge> where can I commit some improved community icons? can't find them in the repo, I guess because the client downloads them 19:05 < bridge> i think @robyt3 knows 19:07 < bridge> You can open an issue on github or a other-ticket on Discord for that 19:07 < bridge> You can open an issue on github or an other-ticket on Discord for that 19:08 < bridge> You can open an issue on github or an Admin-Mail-ticket on Discord for that 19:11 < bridge> I guess I'll put the files in an issue and someone will update them wherever they are in the universe 20:49 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1195454461825527899/media2FGDg_4G2WwAANRg5.png?ex=65b40cba&is=65a197ba&hm=e93b8d1ccbf77e4a07e468d6c4e722e89cdae88a4ca6c47bdd3d301b71a76fed& 23:11 < bridge> is there any rate limiting on https://master1.ddnet.org/ddnet/15/servers.json or a suggested frequency for fetching data? 23:28 < bridge> rust needs this 23:49 < bridge> new macro? xd