Guild icon
DDraceNetwork
Development / developer
Development discussion. Logged to https://ddnet.tw/irclogs/ Connected with DDNet's IRC channel, Matrix room and GitHub repositories — IRC: #ddnet on Quakenet | Matrix: #ddnet-developer:matrix.org GitHub: https://github.com/ddnet
Between 2023-07-13 00:00:00Z and 2023-07-14 00:00:00Z
Avatar
@heinrich5991 apparently it is a real thing, took someone in #C to tell me but 6.9, the syntax for a translation-unit is: translation-unit: external-declaration translation-unit external-declaration
Avatar
Avatar
Learath2
@heinrich5991 apparently it is a real thing, took someone in #C to tell me but 6.9, the syntax for a translation-unit is: translation-unit: external-declaration translation-unit external-declaration
ah. annoying
Avatar
ChillerDragon BOT 2023-07-13 07:50:55Z
@heinrich5991 poggers new docs
Avatar
ChillerDragon: I described the ddnet token protocol and also updated the wireshark-dissector to finally have support for it
Avatar
ChillerDragon BOT 2023-07-13 07:56:07Z
yes im currently reading through it i really appreciate it
Avatar
nice docs
Avatar
thanks
Avatar
ChillerDragon BOT 2023-07-13 08:07:33Z
08:07
whats new?
Avatar
have you recompiled it?
Avatar
ChillerDragon BOT 2023-07-13 08:09:51Z
@heinrich5991 i deleted my plugins folder and recompiled master i was expecting to see a TKEN note here
Avatar
it should show the token and the token magic
Avatar
ChillerDragon BOT 2023-07-13 08:09:59Z
did you test it?
Avatar
yes
Avatar
ChillerDragon BOT 2023-07-13 08:10:04Z
woah
08:10
how does it not show for me
Avatar
send me the pcap pls
08:10
have you fetched and merged master?
Avatar
ChillerDragon BOT 2023-07-13 08:10:54Z
i compiled master
08:10
and fetched yes
Avatar
and merged?
Avatar
ChillerDragon BOT 2023-07-13 08:11:11Z
ou shit
08:11
im outdated :D
08:11
forgot to pull -.-
08:11
omg sori
08:12
08:12
pog
Avatar
\o/
Avatar
ChillerDragon BOT 2023-07-13 08:13:04Z
ok so when docs on the uuid extension thingies?
Avatar
these are quite easy :p
Avatar
ChillerDragon BOT 2023-07-13 08:13:21Z
-.-
Avatar
message ID 0, put the UUID as bytes after it
08:13
done
Avatar
ChillerDragon BOT 2023-07-13 08:13:33Z
ok nice
Avatar
here's your doc :p
Avatar
ChillerDragon BOT 2023-07-13 08:13:46Z
thank
Avatar
(note you still need to set system/game flag in the message ID. you can also observe it in the dissector btw)
Avatar
ChillerDragon BOT 2023-07-13 08:20:57Z
ok yea no idea when i get to that anyways i will first look into my snap crc being wrong again :c
Avatar
ChillerDragon: what are you doing again?
Avatar
ChillerDragon BOT 2023-07-13 09:30:13Z
no proof
09:30
@heinrich5991 ddnet 0.7 support breaks on crc as soon as the server starts splitting up the snap into multiple messages
09:30
client support*
Avatar
your PR?
Avatar
ChillerDragon BOT 2023-07-13 09:31:36Z
yes
Avatar
have you verified that you receive the same bytes in total?
09:32
e.g. check length and sha256sum of the complete bytes
Avatar
ChillerDragon BOT 2023-07-13 09:32:42Z
im still on a side quest to get a proper local testing setup
09:33
flooding my localhost with tees
09:33
but sounds like a good debug start :)
Avatar
bdcc46d Knuski stepped down - murpii
SOBS 1
Avatar
ChillerDragon BOT 2023-07-13 10:10:52Z
is uuid considered a alternative to system and game?
10:11
oh no u just said
10:11
a uuid can be system or game i see
Avatar
what do you need it for? ^^
10:12
I wonder in what kind of project this is needed
Avatar
ChillerDragon BOT 2023-07-13 10:13:24Z
bot
10:13
wops wrong chat
10:13
xd
10:13
Im now tinkering with my python network parser
10:14
I want it to not crash for now when it receives a uuid
Avatar
why does it crash on unknown packets?
Avatar
ChillerDragon BOT 2023-07-13 10:14:28Z
because i made it do so
10:14
to ensure i can parse all properly
10:15
haven't decided what i want to do when it gets more mature
10:15
if i force users to call try catch or return some error object or silently ignore
Avatar
you can have that as a parameter
Avatar
ChillerDragon BOT 2023-07-13 10:15:57Z
how to handle errors?
Avatar
in tests, you might want to have the error
10:16
if it talks to other impls over the network, you likely want to ignore messages that you can't parse
10:17
Errors should never pass silently.
10:17
Unless explicitly silenced.
Avatar
receiving an unknown message is not an error in the tw protocol
10:17
you're supposed to ignore the message
10:17
it's like an unknown http header
Avatar
ChillerDragon BOT 2023-07-13 10:18:50Z
i see
10:20
quoted you on that :p
10:20
What to do with malformed data? Is the lib user supposed to wrap stuff in try catch? Should we return error objects? Continue trying to parse if a...
10:23
A regular client for sure should ignore it. I was just wondering because I want to offer a flexible low level network lib not a client.
10:24
i could see low level http parsers used by high level http clients also handling unknown headers but idk
Avatar
but they're never going to error on an unknown one
10:25
almost all http servers also ignore unknown query parameters
Avatar
ChillerDragon BOT 2023-07-13 10:26:26Z
Yea okay
10:27
Im just thinking I might want to use that lib to also investigate unknown traffic like an dissector and would want to see the errors
Avatar
yea, makes sense
Avatar
ChillerDragon BOT 2023-07-13 10:27:37Z
for example the !p command of the irc bot when i dump some packet dump in here to see if its ddos or something
10:27
i dont want to paste in 512 bytes and then get back its a valid 0.7 packet with two messages
Avatar
makes sense
10:28
so two different modes?
Avatar
ChillerDragon BOT 2023-07-13 10:28:45Z
or force users to use try catch to avoid complexity on my side
10:29
but yea a option that by default does not crash would be nicer
10:29
only power users want to crash anyways
Avatar
hi folks. Could you please help us identify the person who spams across ddnet inviting people to join an infclass server? We do not condone this kind of stuff and would like to ban them on our side too.
Avatar
ChillerDragon BOT 2023-07-13 11:35:02Z
didnt see any
11:35
breton: what servers do you host?
11:35
or why do you care
Avatar
ChillerDragon: i care about infclass and moderate the server @ 195.123.214.91
Avatar
ChillerDragon BOT 2023-07-13 11:41:36Z
so they do ads for your competition on official ddnet and your server?
Avatar
they do spam for the server that i moderate
Avatar
ChillerDragon BOT 2023-07-13 11:43:46Z
which makes you look shady
11:43
i see
11:44
just take the free ad :D
Avatar
i would rather not
Avatar
i noticed i didnt have valgrind installed on my gentoo
11:50
i installed it and turned on glibc debug symbols
Avatar
ChillerDragon BOT 2023-07-13 11:56:54Z
ou i just realized the crc is shared accross all snap parts
11:59
11:59
and once again the dissector carried my ass
Avatar
ChillerDragon BOT 2023-07-13 12:25:05Z
e wot
Avatar
it's too hot
12:26
35c right now
12:27
i'm soaked in sweat
Avatar
ChillerDragon BOT 2023-07-13 12:31:01Z
ye same here
12:31
but pog progress
12:31
Avatar
aren't german houses very good at staying confortable
Avatar
ChillerDragon BOT 2023-07-13 12:32:46Z
doesnt feel like munich was prepared for the heat
12:32
we dont do ACs here
Avatar
salmonzik BOT 2023-07-13 12:33:06Z
what are you guys doing? (<@749222324980416602_=43hiller=44ragon>)
12:35
guangzhou doesn't have heating. it's very cold for me to live here in the winter even tho my hometown have much colder winter.
Avatar
ChillerDragon BOT 2023-07-13 12:35:39Z
@salmonzik ddnet 0.7 client
12:36
who needs heating when u got a blanket
12:36
me
Avatar
funny thing
12:37
llvm crashes with segfault giving it valid mlir ir
12:37
c++ things you know
Avatar
salmonzik BOT 2023-07-13 12:39:18Z
Interesting, are planned making any drastic changes to gameplay or additions in just terms of code? (<@749222324980416602_=43hiller=44ragon>)
@salmonzik ddnet 0.7 client
Avatar
ChillerDragon BOT 2023-07-13 12:40:35Z
me? no
12:40
i just wanna allow the ddnet client to join also 0.7 servers
Avatar
@Jupstar ✪ did u prepare tomorrow friday rust talk
12:45
@Learath2 please become a c++ llvm engineer and fix their segfaults
Avatar
Segfaults are a part of the joy of using C++. I wouldn't dream of depriving you of them
12:47
c++ #0 mlir::detail::StorageUserBase<mlir::LLVM::LLVMVoidType, mlir::Type, mlir::TypeStorage, mlir::detail::TypeUniquer>::classof<mlir::Type> (val=...) at /home/edgar/data/llvm-project-16.0.6.src/mlir/include/mlir/IR/StorageUniquerSupport.h:112 #1 0x0000555555deecda in llvm::CastInfo<mlir::LLVM::LLVMVoidType, mlir::Type const, void>::isPossible (ty=...) at /home/edgar/data/llvm-project-16.0.6.src/mlir/include/mlir/IR/Types.h:350 #2 llvm::DefaultDoCastIfPossible<mlir::LLVM::LLVMVoidType, mlir::Type const, llvm::CastInfo<mlir::LLVM::LLVMVoidType, mlir::Type const, void> >::doCastIfPossible (f=...) at /home/edgar/data/llvm-project-16.0.6.src/llvm/include/llvm/Support/Casting.h:312 #3 llvm::dyn_cast<mlir::LLVM::LLVMVoidType, mlir::Type> (Val=...) at /home/edgar/data/llvm-project-16.0.6.src/llvm/include/llvm/Support/Casting.h:652 #4 mlir::Type::dyn_cast<mlir::LLVM::LLVMVoidType> (this=<optimized out>) at /home/edgar/data/llvm-project-16.0.6.src/mlir/include/mlir/IR/Types.h:271 #5 llvm::detail::TypeSwitchBase<llvm::TypeSwitch<mlir::Type, llvm::Type*>, mlir::Type>::castValue<mlir::LLVM::LLVMVoidType, mlir::Type const&> (value=...) at /home/edgar/data/llvm-project-16.0.6.src/llvm/include/llvm/ADT/TypeSwitch.h:77 #6 llvm::TypeSwitch<mlir::Type, llvm::Type*>::Case<mlir::LLVM::LLVMVoidType, mlir::LLVM::detail::TypeToLLVMIRTranslatorImpl::translateType(mlir::Type)::{lambda(mlir::LLVM::LLVMVoidType)#1}>(mlir::LLVM::detail::TypeToLLVMIRTranslatorImpl::translateType(mlir::Type)::{lambda(mlir::LLVM::LLVMVoidType)#1}&&) (this=<optimized out>, caseFn=...) at /home/edgar/data/llvm-project-16.0.6.src/llvm/include/llvm/ADT/TypeSwitch.h:121 #7 llvm::detail::TypeSwitchBase<llvm::TypeSwitch<mlir::Type, llvm::Type*>, mlir::Type>::Case<mlir::LLVM::detail::TypeToLLVMIRTranslatorImpl::translateType(mlir::Type)::{lambda(mlir::LLVM::LLVMVoidType)#1}>(mlir::LLVM::detail::TypeToLLVMIRTranslatorImpl::translateType(mlir::Type)::{lambda(mlir::LLVM::LLVMVoidType)#1}&&) (this=<optimized out>, caseFn=...) at /home/edgar/data/llvm-project-16.0.6.src/llvm/include/llvm/ADT/TypeSwitch.h:60 #8 mlir::LLVM::detail::TypeToLLVMIRTranslatorImpl::translateType (this=0x555556399d40, type=...) at /home/edgar/data/llvm-project-16.0.6.src/mlir/lib/Target/LLVMIR/TypeToLLVM.cpp:39 #9 0x0000555555e219ac in convertOperationImpl (opInst=..., builder=..., moduleTranslation=...) at tools/mlir/include/mlir/Dialect/LLVMIR/LLVMConversions.inc:144 #10 0x0000555555cbc1c7 in mlir::LLVM::ModuleTranslation::convertOperation (this=this@entry=0x7fffffffcf90, op=..., builder=...) at /home/edgar/data/llvm-project-16.0.6.src/mlir/lib/Target/LLVMIR/ModuleTranslation.cpp:567 #11 0x0000555555cbc817 in mlir::LLVM::ModuleTranslation::convertBlock (this=this@entry=0x7fffffffcf90, bb=..., ignoreArguments=<optimized out>, builder=...) at /home/edgar/data/llvm-project-16.0.6.src/mlir/lib/Target/LLVMIR/ModuleTranslation.cpp:613 #12 0x0000555555cbdc89 in mlir::LLVM::ModuleTranslation::convertOneFunction (this=this@entry=0x7fffffffcf90, func=...) at /home/edgar/data/llvm-project-16.0.6.src/mlir/lib/Target/LLVMIR/ModuleTranslation.cpp:858
12:47
yes ima enjoy this
Avatar
Looks excellent
Avatar
c++ ish
Avatar
You should go back to C, much prettier backtraces 😄
Avatar
the thing is im just using their tool
12:48
mlir-translate
12:48
with a given .mlir file
12:48
im not coding at all
12:48
XD
12:49
its a null pointer deref
Avatar
ChillerDragon BOT 2023-07-13 12:49:31Z
anyone else getting SDL leak sanitizer alerts?
12:49
SDL_realloc_REAL
Avatar
(gdb) i r rdi rdi 0x0 0
12:50
(gdb) disassemble 0x0000555555deecda, +16 Dump of assembler code from 0x555555deecda to 0x555555deecea: 0x0000555555deecda <_ZN4mlir4LLVM6detail26TypeToLLVMIRTranslatorImpl13translateTypeENS_4TypeE+202>: test %al,%al 0x0000555555deecdc <_ZN4mlir4LLVM6detail26TypeToLLVMIRTranslatorImpl13translateTypeENS_4TypeE+204>: je 0x555555deecf0 <_ZN4mlir4LLVM6detail26TypeToLLVMIRTranslatorImpl13translateTypeENS_4TypeE+224> 0x0000555555deecde <_ZN4mlir4LLVM6detail26TypeToLLVMIRTranslatorImpl13translateTypeENS_4TypeE+206>: test %rbx,%rbx 0x0000555555deece1 <_ZN4mlir4LLVM6detail26TypeToLLVMIRTranslatorImpl13translateTypeENS_4TypeE+209>: je 0x555555deecf0 <_ZN4mlir4LLVM6detail26TypeToLLVMIRTranslatorImpl13translateTypeENS_4TypeE+224> 0x0000555555deece3 <_ZN4mlir4LLVM6detail26TypeToLLVMIRTranslatorImpl13translateTypeENS_4TypeE+211>: mov (%r14),%rdi 0x0000555555deece6 <_ZN4mlir4LLVM6detail26TypeToLLVMIRTranslatorImpl13translateTypeENS_4TypeE+214>: call 0x55555623fa00 <_ZN4llvm4Type9getVoidTyERNS_11LLVMContextE> End of assembler dump.
12:50
😬
Avatar
ChillerDragon BOT 2023-07-13 12:51:08Z
hax
Avatar
Avatar
Ryozuki
@Jupstar ✪ did u prepare tomorrow friday rust talk
I'll think about a topic later xd
Avatar

Checklist

  • [X] Tested the change ingame
  • [ ] Provided screenshots if it is a visual change
  • [ ] Tested in combination with possibly related configuration options
  • [ ] Written a unit test (especially base/) or added coverage to integration test
  • [ ] Considered possible null pointers and out of bounds array indexing
  • [ ] Changed no physics that affect existing maps
  • [ ] Tested the change with [ASan+UBSan or valgrind's memcheck](https://github.com/ddnet/ddnet/#using-addresss...
Avatar
Avatar
TsFreddie
aren't german houses very good at staying confortable
If it only gets hot for a day and cools down at night they are great since lots of heavy bricks, and they take a while to get warm. But once you have tropical nights it becomes impossible to cool them down again. The houses are built for "there is only 1 week over 30°C per year, so we can survive it being unbearable for a bit". But this 1 week turned into 3 weeks already.
Avatar
ChillerDragon BOT 2023-07-13 13:24:56Z
ye my flat was still 30 degree at 2 in the night the last few days unless it starts to rain
Avatar
Now that deen is dad, he has to take climate change double as serious 😎
Avatar
ChillerDragon BOT 2023-07-13 13:25:54Z
haha
Avatar
is he dad already
13:32
i dont live in a house but apartment
13:32
and barcelona has stupidly high humidity
13:32
u just sweat shitloads
13:33
during morning which is when humidy reaches its high it can go to 95$
13:33
95%
Avatar
Avatar
deen
in 2 months I will
Well the day after tomorrow its 2 months since the msg @Ryozuki So it happens very very soon
13:42
Ok in 5 days lol
Avatar
8fad911 Fix enter not working in server browser when no server selected - Robyt3 71ed093 Fix enter not working in editor save dialog when no map selected - Robyt3 8d9843d Merge #6840 - bors[bot]
Avatar
Hi devs, what do you think about "shadow" mute/spam? I mean the mute/ban without a notification to the target. I see you want to be clear for the players but let's be fair — we're not capable to deal with all spammers. They use "unfair" techniques and we have to spend a lot of energy fighting with them. For example, I suggest to add text-based shadow mute. This way we can add an advertising message to an auto-mute list and calm down the spammers. It is much easier for them to detect 'clear' bans and 'mutes' and rotate IPs / join another servers. On the other hand, it is hard for us to manually mute all the bots. Instead on the ddnet level it can be "for server in all_servers: econ block_message "EVERYONE GO TO THIS SERVER FAST! LET'S MAKE THE MEAT!!!" 600 "new spam" putting all whoever say this in a 10 minutes shadow mute, so other players won't see any message from those who are muted but the muted players 'll receive proper chat respond from the server. It 'll take time for the spammers to beat it (though I see how to overcome it).
13:51
Another "unfair" feature is name-based shadow autoban. Use-case: there was a racist person (maybe you've seen/remember him — elban). I banned him, he reconnected from a different IP. And then it repeated like 10 times, until one of us gave up. He connected with the same username, and noone else used that name, so this could be automated. "Shadow" part here is the idea to make the spammer spend more time on realizing what is going on. We can just ignore/drop his network packets without a reply. (edited)
Avatar
@Ryozuki do you know if there is something like str_utf8_forward in Rust?
Avatar
shadow banning
13:52
what does str_utf8_forward
Avatar
Skips n utf8 codepoints
13:52
I guess I could (ab)use an iterator
Avatar
@Learath2 isnt the chars iterator that
13:53
i dont remember but i think they are graphemes
13:53
or smth
13:53
Returns an iterator over the chars of a string slice.
>
As a string slice consists of valid UTF-8, we can iterate through a string slice by char. This method returns such an iterator.
>
It’s important to remember that char represents a Unicode Scalar Value, and might not match your idea of what a ‘character’ is. Iteration over grapheme clusters may be what you actually want. This functionality is not provided by Rust’s standard library, check crates.io instead.
Avatar
Doubt they are graphemes, graphemes are extremely hard to decode, require a massive table
13:53
Yeah regular codepoints is what I want anyway
Avatar
then its that ye
13:54
u can make the iterator peekable()
Avatar
I need to keep track of my byte position through the string aswell
13:54
So I guess a peekable char_indices
13:54
Was just wondering if there was a more non-iterator way to do it 😄
Avatar
Avatar
Learath2
Was just wondering if there was a more non-iterator way to do it 😄
i mean good thing about iterator is u dont have to allocate a vec
Avatar
Problem with iterator is when I read a character there is no going back without making it peekable, but with a peekable iterator I can't use all the cool functions like .skip_while()
13:56
Anyway, I'll just do one loop and not use the cool functions I guess
Avatar
@Learath2 check if itertools has what u want
13:57
Extra iterator adaptors, functions and macros.
Avatar
Ah, I'd forgotten it was a thing in rust aswell
13:58
it has some take whiles
Avatar
Exactly what I'm looking for
13:59
Thanks Rustman
14:00
btw a neat thing i discovered recentely
Avatar
I wonder if there is any overhead fo peekable, it should be free for iterating arrays if specialized enough
Avatar
if u have a iterator over options
14:00
u can filter all nones with .flatten()
14:00
its pretty neat
Avatar
Ah yep, I've used this before
Avatar
impl<K, V, S> MyHashmap<K, V, S> where K: Eq + Hash, S: BuildHasher, { fn resize(&mut self) { let new_storage: Vec<Option<(K, V)>> = (0..self.storage.len() * 2).map(|_| None).collect(); // Replace the storage with the new one, so we can use self.x methods to rehash. let old_storage = std::mem::replace(&mut self.storage, new_storage); self.len = 0; for (k, v) in old_storage.into_iter().flatten() { self.insert(k, v); } } }
14:01
i used it on my blog post
14:01
and i discovered this thanks to...
14:01
clippy!
14:02
gigachad
Avatar
Avatar
Ryozuki
i used it on my blog post
Did it get Fame?
14:02
What was the Reddit link again
Avatar
it reached frontpage for some time
14:02
it has some comments
14:02
but im lazy rn to address them
14:02
one is rly nice
14:02
the one mentioning the cycles
14:03
14:03
these are the stats
14:03
from reddit
Avatar
@Ryozuki any idea what the best way would be to consume all?
Avatar
google search
Avatar
I don't need what I take technically
Avatar
Avatar
Learath2
@Ryozuki any idea what the best way would be to consume all?
consume?
14:05
skip?
14:05
technically collect consumes all xd
Avatar
Avatar
Ryozuki
impl<K, V, S> MyHashmap<K, V, S> where K: Eq + Hash, S: BuildHasher, { fn resize(&mut self) { let new_storage: Vec<Option<(K, V)>> = (0..self.storage.len() * 2).map(|_| None).collect(); // Replace the storage with the new one, so we can use self.x methods to rehash. let old_storage = std::mem::replace(&mut self.storage, new_storage); self.len = 0; for (k, v) in old_storage.into_iter().flatten() { self.insert(k, v); } } }
what does this do
Avatar
Avatar
Ryozuki
skip?
Yes, but there is no peeking_skip so I need to discard what I get from peeking_take_while
Avatar
Avatar
Voxel
what does this do
resizes the hashmap
14:07
using mem replace for minimum copies
Avatar
Avatar
Learath2
Yes, but there is no peeking_skip so I need to discard what I get from peeking_take_while
i dont get it much
14:08
maybe example
Avatar
Avatar
Voxel
weird
whats weird
Avatar
Avatar
Ryozuki
maybe example
fn foo(s: &str) { let mut it = s.char_indices().peekable(); it.peeking_take_while(|(u, c)| { c.is_whitespace() }) }
14:10
I now need to consume all of the new iterator peeking_take_while returned
14:11
dont u simply want to filter?
14:11
tell me what u want to do with the chars
Avatar
No, I technically just need peeking_skip I need to skip all whitespace without consuming the first non-whitespace character
Avatar
filter doesnt consume non filtered iirc
14:12
it.filter(|x| x.is_whitespace() ) with this u have a iterator over non whitespace chars
Avatar
hi
Avatar
ChillerDragon BOT 2023-07-13 14:14:02Z
coberfita
Avatar
can we have a public archive for reports since its private rn (unless its already public and i havent found it)
Avatar
Avatar
Ryozuki
it.filter(|x| x.is_whitespace() ) with this u have a iterator over non whitespace chars
I had this idea aswell but I can't just iterate over non whitespace, I need to know where the whitespaces are. I'm rewriting my lexer
Avatar
why u writing a lexer
14:14
use logos
Avatar
ChillerDragon BOT 2023-07-13 14:14:23Z
why you writing a hashmap
Avatar
This I why I asked an XY question instead of telling you exactly what I'm doing 😄
14:14
hmm
14:15
maybe some fold where the acc is a storage of whitespace indexes or smth
14:15
but logos will be faster than anything u write by hand
14:15
atleast thats what they claim
Avatar
ChillerDragon BOT 2023-07-13 14:15:30Z
ethos
14:15
pathos
14:15
logos
14:15
cute logo too
Avatar
Avatar
Ryozuki
but logos will be faster than anything u write by hand
I'm just trying to get more comfy with rust, using a lexer generator won't help
Avatar
Avatar
Learath2
I'm just trying to get more comfy with rust, using a lexer generator won't help
just make 2 iterators?
14:16
one for whitespaces one for none
14:16
or simply do a for loop
Avatar
ChillerDragon BOT 2023-07-13 14:16:40Z
ryo send like on gh issue pls
14:16
i need attention from this guy
14:17
he creator of logos
Avatar
Avatar
Ryozuki
whats weird
idk im just dumb
Avatar
@Learath2 ur gonna need to save the whitespace indexes so
14:17
make a hashset and save the indexes there
14:17
well
14:17
a vec
14:17
the indexes will be unique anyway xd im dum
Avatar
Avatar
Voxel
idk im just dumb
no u just need to learn rust
14:19
An iterator adaptor that allows the user to peek at multiple .next() values without advancing the base iterator.
Avatar
I don't need to peek further than one
14:20
On a scale of 0-10, how ugly is just doing .for_each(|_| {}) on the PeekingTakeWhile?
Avatar
i usually use for loops inteast
14:21
instead
Avatar
So just a for loop with an empty body?
14:21
thats ugly
14:22
im still confused
14:22
idk if im an idiot
Avatar
Or I guess I could do this the ancient way, just not have it peekable and have one big state machine handle everything
Avatar
you want to save all whitespace ranges?
Avatar
Avatar
Ryozuki
idk if im an idiot
Noo, it's probably my ancient coding style that doesn't match with your mental image of what I'm doing
14:22
I want to skip the whitespace, nothing more
Avatar
but then why no filter?
Avatar
Avatar
Ryozuki
but then why no filter?
I want to skip the whitespace until the first non-whitespace, then I need to do other stuff that require me to no longer ignore the whitespace
Avatar
@Voxel did u make the new banners in welcome channel
Avatar
If I have a filtered iterator I can't unfilter it after I hit the first non-whitespace
Avatar
Avatar
Learath2
I want to skip the whitespace until the first non-whitespace, then I need to do other stuff that require me to no longer ignore the whitespace
ahh
14:24
this ?
14:24
Creates an iterator that skips elements based on a predicate.
>
skip_while() takes a closure as an argument. It will call this closure on each element of the iterator, and ignore elements until it returns false.
>
After false is returned, skip_while()’s job is over, and the rest of the elements are yielded.
14:25
looks like what uwant
Avatar
Avatar
cyberFighter
@Voxel did u make the new banners in welcome channel
@Pipou drew the backgrounds, I did the font.
14:26
@Learath2
14:26
@murpi ur announcement is a bit meh
14:26
14:26
"no access" received a make over
14:26
xd
Avatar
Yes, just fixed that
Avatar
Oh, skip_while returns an iterator aswell, I didn't think of that
Avatar
Avatar
murpi
@Pipou drew the backgrounds, I did the font.
ok it looks good
Avatar
@murpi u dont link the wiki anywhere PES3_Cry
Avatar
Avatar
cyberFighter
can we have a public archive for reports since its private rn (unless its already public and i havent found it)
@murpi btw
Avatar
Avatar
Ryozuki
@murpi u dont link the wiki anywhere PES3_Cry
👀
14:29
It's linked in multiple places
Avatar
@murpi i also host this
14:29
oh u link it
14:29
im blind
14:29
(the wiki)
Avatar
Avatar
cyberFighter
@Voxel did u make the new banners in welcome channel
not yet
Avatar
@murpi do only admins see complains or all mods?
Avatar
Avatar
Ryozuki
@murpi do only admins see complains or all mods?
Just admins
Avatar
mods would abuse
Avatar
ok nice
Avatar
add content creator role 😎
Avatar
u could also add this on the for developers section: https://edgarluque.com/categories/ddracenetwork/
My personal website.
14:31
totally not self inserted
14:32
but imho its good for incoming devs
14:32
blobwhistle
Avatar
also wiki curator color would be cool
Avatar
Avatar
Ryozuki
but imho its good for incoming devs
i agree actually
14:32
add more posts though
14:32
i added one last time
14:32
about UI
14:32
what could be next
Avatar
it'd override the Dev color though
14:33
dev is important
14:33
for me
14:33
its sad discord doesnt detach color priority from role priority
Avatar
Avatar
Ryozuki
what could be next
did u ever finish adidng map tiles?
Avatar
@Ryozuki Maybe pin all the useful resources here?
Avatar
iirc last time it wasnt complete
Avatar
Avatar
louis
did u ever finish adidng map tiles?
i never made a post about that iirc
14:34
i know how to do it cuz i did telegun so its a good idea
Avatar
there was a link about it somewhere on ur site
14:34
or a mention
14:34
but no post
Avatar
@murpi pin this
14:34
or should it be without the #
Avatar
@cyberFighter im gonna do the concepts and stuff in clip studio paint and then probably hand it to someone like ravie or pipou so they can make it look game accurate
Avatar
wtf is studio paint
14:37
clip studio paint
Avatar
the art program i use (edited)
murpi pinned a message to this channel. 2023-07-13 14:39:44Z
Avatar
is the skin channel discord integration finished?
Avatar
ChillerDragon BOT 2023-07-13 15:06:35Z
Did anyone ever use the client console command callvote ? Seems kinda cool but super unused.
Avatar
yes i used it a day ago
Avatar
i used it a second ago
Avatar
btw chiller ur switch spectate command is good
15:08
when add it to official ddnet
Avatar
Avatar
ChillerDragon
Did anyone ever use the client console command callvote ? Seems kinda cool but super unused.
I used it a few times a while ago. It is not really convenient for immediate use but works fine with binds or scripts (econ).
Avatar
ChillerDragon BOT 2023-07-13 15:13:03Z
wowo i have been missing out
15:13
i could also see that being super helpful on city servers where vote options are menus to bind something
15:14
@thatonehotcougar yea i also use it from time to time i forgot why i never prd it to ddnet maybe because i was too lazy to clean up the code to get it merged
Avatar
ok and
Avatar
@Ryozuki assert_eq!(lexer.get_token(), Ok("hello")); fn Lexer::get_token() -> Result<String, Error> Is the correct thing to do here just doing .to_string() on the "hello"? I thought Strings could be compared with &str np
15:23
do the opposite
15:23
as_str() on the token
15:24
map it ofc
Avatar
Avatar
Ryozuki
as_str() on the token
It's in a result though, I'd need to map
Avatar
whats wrong with map
15:24
map on a result is not lazy, u get another result
15:24
maybe .as_ref works but probs not here
15:25
lexer.get_token().as_ref()
Avatar
@murpi why don't I see the first channel in #announcements
Avatar
Avatar
Ryozuki
whats wrong with map
Actually can you even map this? Can't get that ref out of the mapping closure, no?
Avatar
Avatar
Jupstar ✪
@murpi why don't I see the first channel in #announcements
because of bugs and debugging on production servers is hell and takes forever
Avatar
How is info stored inside demo files? And where can I find how kill messages are stored inside them?
Avatar
should be visible now
Avatar
Avatar
Learath2
Actually can you even map this? Can't get that ref out of the mapping closure, no?
try it
15:29
u can most probs
Avatar
Avatar
Ryozuki
u can most probs
error[E0515]: cannot return reference to function parameter `s` --> src/lexer.rs:105:48 | 105 | assert_eq!(lexer.get_token().map(|s| { s.as_str() }), Ok("a'b'bb")); | ^^^^^^^^^^ returns a reference to data owned by the current function
Avatar
true true
15:31
just save the get_token in a var
Avatar
Avatar
Voxel
How is info stored inside demo files? And where can I find how kill messages are stored inside them?
Demos contain the snapshots and messages that the client has received from the server
Avatar
That doubles the size of my test function to avoid allocating a couple strings 😄
Avatar
but it doesnt allocate
15:32
xd
15:32
its ur call
15:32
to_string is shorter but allocs
Avatar
Avatar
Robyt3
Demos contain the snapshots and messages that the client has received from the server
I see. I found a strange bug where teamkills don't bring over the tees
15:33
I'm trying to fix it but I'm not sure where it could be located.
Avatar
Maybe it's related to #3795 or #4545
Avatar
Fails with this message on any client version when playing, so the problem is probably the recording: [2021-04-29 00:31:51][client]: dropped weird message 'invalid' (0), failed on '(typ...
Not sure if this is related/dupelicate to #3795 Some players are rendered incorrectly, as if they don't belong in the same team. Most noticeable by skipping huge parts of the timeline in the de...
Avatar
Maybe the demo doesn't contain all the information because recording started too late (edited)
Avatar
Oh dang. Well I'm going to publish my fix for #6838 right now, because I think this is too complex for the time I have LOL
Avatar
If a tee dies in an unlocked team mid run, they will not show up in the kill feed. asdas.mp4
Avatar
Avatar
Ryozuki
but it doesnt allocate
My obsession with using less memory is usually restricted to runtime, but it does sort of annoy me
Avatar
Fixes #6838

Checklist

  • [x] Tested the change ingame
  • [ ] Provided screenshots if it is a visual change
  • [ ] Tested in combination with possibly related configuration options
  • [ ] Written a unit test (especially base/) or added coverage to integration test
  • [ ] Considered possible null pointers and out of bounds array indexing
  • [x] Changed no physics that affect existing maps
  • [ ] Tested the change with [ASan+UBSan or valgrind's memcheck](https://github.com/ddnet/ddnet/#u...
Avatar
Avatar
Voxel
I see. I found a strange bug where teamkills don't bring over the tees
I'll post this issue on github for futureproof purposes
Avatar
Avatar
Ryozuki
maybe .as_ref works but probs not here
.as_ref() doesn't but .as_deref() does, someone on the rust dc gave me the tip 😄
Avatar
as true
15:41
oh*
15:41
i forgot about it
Avatar
I can not believe this, I wrote a lexer in one try without any issues that can parse a ridiculous string like "hello w\"o\"rl'd' a'\"a\"a'a a\"'b'b\"b \"a a\" 'b b'"
Avatar
@Learath2 ping me if u have trouble with setup 😬
Avatar
Avatar
Jupstar ✪
@Learath2 ping me if u have trouble with setup 😬
tell me where find the key for the skin thing
Avatar
Avatar
Learath2
tell me where find the key for the skin thing
the key for the skindatabase crew role?
15:51
or the password?
Avatar
Avatar
Jupstar ✪
or the password?
the username and pw for the http auth thing
15:52
I guess it's somewhere in nginx configs now that I think about it
Avatar
@Ravie pm learath the user and pw pls
Avatar
I didn't think it was just basic_auth
Avatar
for skin database
Avatar
Avatar
Learath2
I didn't think it was just basic_auth
not?
Avatar
Avatar
Learath2
I can not believe this, I wrote a lexer in one try without any issues that can parse a ridiculous string like "hello w\"o\"rl'd' a'\"a\"a'a a\"'b'b\"b \"a a\" 'b b'"
rust power
Avatar
well that sucks xd
Avatar
this lexer also has no segfaults
15:52
no out of bounds
Avatar
Avatar
Ryozuki
rust power
I don't think you'd like what I created, it's very oldschool
Avatar
its ok
15:53
if it doesnt have unsafe
15:53
ur lexer is memory safe tm
15:53
lexers are prone to segfaults iirc
15:53
in cpp xd
Avatar
Sometimes it renders the tees in Team KillMsgs, but sometimes it doesn't. It might have to do with if it's your team that kills or another team. This is purely in demos. !image Robyt3 says it might be related to #3795 or #4545, following with:
Maybe the demo doesn't contain all the information because recording started too late
Avatar
Avatar
Learath2
I don't think you'd like what I created, it's very oldschool
where can i check
15:53
and what does clippy say
15:53
troll
15:54
i know heinrich disagrees, but clippy often makes ur code idiomatic
Avatar
Avatar
Ryozuki
where can i check
A browser interface to the Rust compiler to experiment with the language
Avatar
Avatar
Ryozuki
i know heinrich disagrees, but clippy often makes ur code idiomatic
does it rewrite code even at the cost of perf?
Avatar
I didn't do fmt or clippy on it yet, let's see if it hates anything
Avatar
Avatar
Jupstar ✪
does it rewrite code even at the cost of perf?
clippy doesnt rewrite code as is
15:55
and clippy has lints for perfomance
15:55
it makes ur code faster usually
Avatar
chillerdragon: how can i demoativate you? XD
Avatar
by pointing out perf errors
Avatar
Avatar
Ryozuki
clippy doesnt rewrite code as is
but why should heinrich disagree xd
Avatar
A collection of lints to catch common mistakes and improve your Rust code.
Avatar
i soon want to use all clippy warnings too
Avatar
huh, clippy doesn't complain
15:55
Maybe I'm holding it wrong
15:56
how do you run clippy?
Avatar
@Learath2 try this cargo clippy -- -D warnings
15:56
if u want to be daring
15:56
do
15:56
cargo clippy -- -D warnings -D clippy::nursery``
15:56
more daring
15:56
cargo clippy -- -D warnings -D clippy::nursery -D clippy::pedantic
Avatar
Avatar
murpi
because of bugs and debugging on production servers is hell and takes forever
i see, but welcome now looks fancy af, good job
Avatar
cargo clippy -- -D warnings -D clippy::nursery -D clippy::pedantic -D clippy::all (edited)
Avatar
Avatar
Jupstar ✪
i see, but welcome now looks fancy af, good job
Thanks 🙂
15:57
i found this on my code just now
Avatar
ryo stop spam, ravie has to read important messages
15:59
i waited over a month for this day
15:59
lol
Avatar
#⁠developer - Get a glimpse into the exciting realm of game development!
And:
  • philosophy
  • free software
  • economics
  • global crisis
  • climate change
  • nuclear energy and fision fusion
  • rust
  • random tech convos
Avatar
Avatar
Ryozuki
cargo clippy -- -D warnings -D clippy::nursery -D clippy::pedantic -D clippy::all (edited)
Just 2 things, I called ok_or once instead of ok_or_else and I didn't derive Eq when I already derived PartialEq
Avatar
Avatar
Learath2
Just 2 things, I called ok_or once instead of ok_or_else and I didn't derive Eq when I already derived PartialEq
nice
15:59
fix fix
15:59
read the eq thing
16:00
but most probs u need eq
16:00
or makes sense*
Avatar
Read the Eq thing, it doesn't really matter for now, but no reason not to derive that aswell
Avatar
Trait for equality comparisons which are equivalence relations.
Avatar
if it doesn't end up used it'll go away in dead-code elimination
Avatar
Avatar
Learath2
Read the Eq thing, it doesn't really matter for now, but no reason not to derive that aswell
good api checklist guidelines tell library authors to derive eagerly these traits
16:00
This is a set of recommendations on how to design and present APIs for the Rust programming language.
16:01
Avatar
@Learath2 have you looked for .htaccess inside www/skins/edit
Avatar
Avatar
Ryozuki
where can i check
Do you like the way I wrote it? Would you do it differently?
Avatar
Avatar
Jupstar ✪
@Learath2 have you looked for .htaccess inside www/skins/edit
let me look
Avatar
Avatar
Learath2
Just 2 things, I called ok_or once instead of ok_or_else and I didn't derive Eq when I already derived PartialEq
i guess u dont have pub methods? otherwise it would tell u to add lots of docs XD
16:01
oh
16:02
i didnt check ur code yet
Avatar
Yeah, I'll make it pub and it'll annoy me about that
Avatar
was making weird shenanigans at work
16:02
allocating a hashmap in rust and using it in mlir
Avatar
get_token is self documenting, no? It gets a token 😄
Avatar
#[no_mangle] pub unsafe extern "C" fn blabla__alloc_dict() -> *mut std::ffi::c_void { let map: Box<HashMap<[u8; 32], NonNull<()>>> = Box::default(); Box::into_raw(map) as _ }
16:02
justatest
Avatar
Avatar
Ryozuki
#[no_mangle] pub unsafe extern "C" fn blabla__alloc_dict() -> *mut std::ffi::c_void { let map: Box<HashMap<[u8; 32], NonNull<()>>> = Box::default(); Box::into_raw(map) as _ }
it has unsafe in it, you are officially exiled from rust
Avatar
Avatar
Jupstar ✪
@Learath2 have you looked for .htaccess inside www/skins/edit
no such luck, let me check the nginx conf
Avatar
LETS GO
Avatar
found it
Avatar
EPIC
Avatar
Oh it seems everyone has their own key
Avatar
uff, but as long its basic auth
Avatar
Hm, I guess the bot can get a key and we can use the #📬submit-skins channel as a sort of audit log
Avatar
@Learath2 btw if only ppl with skin db crew role can write in #📬submit-skins , u also have ot give that role to the bot
16:05
(write stuff other than skins)
16:06
if u need a name for the bot: ✪✪Net
16:06
😬
Avatar
It'll be YAYADDB
Avatar
even better xD
Avatar
Or SkinDB maybe
Avatar
SkinDB makes more sense
Avatar
CSGOSkinTrade
Avatar
@Learath2 why allocate a string tho? why not keep track of a range
16:09
start end idx
Avatar
Avatar
Ryozuki
@Learath2 why allocate a string tho? why not keep track of a range
That was my initial idea, but I hadn't thought about quotes, I need to be discarding them
Avatar
oh i see
Avatar
`` Core was generated by ./DDRace64-Server_sql -f servers/block2.cfg'. Program terminated with signal SIGABRT, Aborted. #0 pthread_kill_implementation (threadid=, signo=signo@entry=6, no_tid=no_tid@entry=0) at ./nptl/pthread_kill.c:44 44 ./nptl/pthread_kill.c: No such file or directory. [Current thread is 1 (Thread 0x7f5e12c0ba00 (LWP 1469313))] (gdb) bt #0 pthread_kill_implementation (threadid=, signo=signo@entry=6, no_tid=no_tid@entry=0) at ./nptl/pthread_kill.c:44 #1 0x000...
Avatar
btw if u want ur code to be panicless, use .get instead of slicing
Avatar
Avatar
Ryozuki
btw if u want ur code to be panicless, use .get instead of slicing
Aha, that's a good idea
Avatar
@Learath2 btw does the upload bot already check if a 256x128 skin is present? like can u upload 512x256 only, or does it throw an error?
Avatar
Avatar
Jupstar ✪
@Learath2 btw does the upload bot already check if a 256x128 skin is present? like can u upload 512x256 only, or does it throw an error?
The current bot? Don't we disable that part of it when we deploy yours?
Avatar
Avatar
Learath2
The current bot? Don't we disable that part of it when we deploy yours?
no
16:11
mine is fancy af ez upload only
Avatar
@Learath2 btw in ur test u dotn need to escape
16:11
let mut lexer = Lexer::new(r#"a "b" sadsa "#);
Avatar
Avatar
Jupstar ✪
@Learath2 btw does the upload bot already check if a 256x128 skin is present? like can u upload 512x256 only, or does it throw an error?
It does: def check_image_resolution(message: discord.Message): for attachment in message.attachments: if (attachment.height != 128 or attachment.width != 256) and (attachment.height != 256 or attachment.width != 512): return (False, 'One of the attached skins does not have the correct image resolution. Resolution must be 256x128, and if possible provide a 512x256 along with the 256x128') return (True, None)
Avatar
Avatar
Jupstar ✪
mine is fancy af ez upload only
Wait, it doesn't check anything?
Avatar
Avatar
Learath2
Wait, it doesn't check anything?
i added a few checks
16:12
but murpi told me it also checks
Avatar
Avatar
murpi
It does: def check_image_resolution(message: discord.Message): for attachment in message.attachments: if (attachment.height != 128 or attachment.width != 256) and (attachment.height != 256 or attachment.width != 512): return (False, 'One of the attached skins does not have the correct image resolution. Resolution must be 256x128, and if possible provide a 512x256 along with the 256x128') return (True, None)
to me that doesnt look like it prevents 512x256 only tho does it?
Avatar
Two bots need to coordinate to ensure proper operation, that's ddnet engineering 😄
Avatar
bcs the database refuses to upload this
Avatar
Avatar
Learath2
Two bots need to coordinate to ensure proper operation, that's ddnet engineering 😄
well i think i check all stuff except this
16:13
and i only noticed that the database script refuses it by luck
16:13
bcs actually the database can handle hd skins only
16:13
but we disallowed this purposely
Avatar
if you make it SkinDB can you make the icon this? (It's the same tee design from #📍info
Avatar
true i agree with you voxel
Avatar
@Jupstar ✪ can you link me the source again btw?
Avatar
holy shit its the mega tee @Voxel (i meant to ping keb what a brainfart) (edited)
🔥 1
Avatar
@Learath2 also in worst case the skin will simply not be uploaded, nothing more
Avatar
Avatar
Learath2
@Jupstar ✪ can you link me the source again btw?
A bot that helps and automates skin uploading to the databse - GitHub - ddnet/discord-skin-upload-bot: A bot that helps and automates skin uploading to the databse
Avatar
Avatar
Jupstar ✪
to me that doesnt look like it prevents 512x256 only tho does it?
It prevents all images not equal to 256x128 or 512x256
Avatar
Avatar
murpi
It prevents all images not equal to 256x128 or 512x256
yeah but the db would also need no hd always
16:18
not hd only skins
Avatar
a8e5e98 Check if 256x128 skin file is present - Jupeyy
Avatar
Avatar
GitHub
Click to see attachment 🖼️
^ @Learath2 git pull xd
Avatar
is having accepted pull requests the only criteria for dev role 👀
Avatar
lous like lynn inc
16:27
which did 1 commit to get the role and done
16:27
imho u should atleast be semi active xd
Avatar
Avatar
GitHub
Click to see attachment 🖼️
maybe if theres only 512x256 the bot can just downscale it
Avatar
Avatar
Ryozuki
which did 1 commit to get the role and done
role collector
16:28
like me
Avatar
I think it should work the same way as the Discord Dev badge
16:28
where if you don't make a valid PR in a month the dev role gets removed
Avatar
what even was her pr
Avatar
(i still get to keep mine because i did a bug fix ha ha!)
Avatar
Avatar
Voxel
where if you don't make a valid PR in a month the dev role gets removed
no
16:28
yeah why doesnt louis have dev role wtf
Avatar
Avatar
louis
maybe if theres only 512x256 the bot can just downscale it
xd, i doubt @Ravie likes automatic downscale, so i better wont touch it now
Avatar
my prs were pretty ez
Avatar
same-ish
Avatar
Avatar
Jupstar ✪
xd, i doubt @Ravie likes automatic downscale, so i better wont touch it now
as long as u use correct downscaler idt it matters
16:29
and if a skin guy rly cares for good quality they can uplaod 2 vers
Avatar
@Jupstar ✪ im gonna make a pr to ur crate
Avatar
Avatar
Voxel
same-ish
not
Avatar
Avatar
louis
not
wdym
Avatar
Avatar
Ryozuki
@Jupstar ✪ im gonna make a pr to ur crate
now comes the rust gang xD
Avatar
Avatar
Jupstar ✪
xd, i doubt @Ravie likes automatic downscale, so i better wont touch it now
I do, just use a good interpolation
Avatar
Avatar
Ravie
I do, just use a good interpolation
but anyway, for now its ok to not do it right?
16:30
i prefer to finally have the bot running
16:30
it shouldnt be hard to add later anyways
16:31
is it a separate bot?
Avatar
uploading one file is always better than 2
Avatar
one of us could probably add it later anyways
Avatar
Avatar
louis
is it a separate bot?
what do u mean?
16:31
the skin upload bot is an own bot
Avatar
also better to have a consistent way to downscale them than however someone decides to do it
16:32
someone might pick a terrible interpolation or somehow introduce artifacts
Avatar
first of all i'd like to have feedback if u even like the bot xD
16:32
except me nobody ever used it xD
Avatar
duude i LOVE the idea of not having to download like 30 skins to manually upload them
16:32
this is going to be worth it
Avatar
where is the bot?
Avatar
then lets cheer @Learath2 show him love in his quest to start the bot after his exams
Avatar
Avatar
Ravie
where is the bot?
learath is setting it up rn
Avatar
ah thought I was supposed to give feedback on something already
16:34
#6843
Avatar
Core was generated by `./DDRace64-Server_sql -f servers/block2.cfg'. Program terminated with signal SIGABRT, Aborted. #0 __pthread_kill_implementation (threadid=<optimized out>, signo=sig...
Avatar
Avatar
Jupstar ✪
now comes the rust gang xD
ye
Avatar
"noby to the rescue" is something I never expected deen to say LOL (edited)
Avatar
um massive roadblock
16:34
ddnet.tw ran out of disk space 😄
⚠️ 1
Avatar
delete some maps
Avatar
Avatar
Voxel
"noby to the rescue" is something I never expected deen to say LOL (edited)
why do u even read these issues xD
Avatar
ive got some suggestions
16:35
troll
Avatar
are u subscribed to whole repo?
Avatar
Avatar
Jupstar ✪
why do u even read these issues xD
because im bored and reading issues is kinda fun
Avatar
Avatar
Learath2
ddnet.tw ran out of disk space 😄
NO WAY XD rip
Avatar
Avatar
Jupstar ✪
are u subscribed to whole repo?
no i just kinda read new ones
Avatar
@Jupstar ✪ weird mutex usage
Avatar
"yeah let's upload all bad skins, we have plenty of space"
Avatar
Avatar
Ryozuki
@Jupstar ✪ weird mutex usage
where
Avatar
let mut skins_to_upload = item.skins_to_upload.clone(); let upload_lock = data.get_mut::<SkinUploads>().unwrap().upload_lock.clone(); drop(data); let _g = upload_lock.lock().await;
16:37
a lock around nothing
16:37
its not rly idiomatic
16:37
Arc<Mutex<()>>
16:40
i complained about heinrich
Avatar
Avatar
Ryozuki
a lock around nothing
well its only that only one person uploads skins at a time
16:40
so it holds no data
Avatar
but i think ur code might be uglier
Avatar
its no lock around nothing
Avatar
u also make insanely big methods
16:40
xdd
Avatar
it locks the whole process
Avatar
Avatar
Jupstar ✪
well its only that only one person uploads skins at a time
ah ok
Avatar
Avatar
Ryozuki
u also make insanely big methods
yeah i dont usually do that
16:40
i wrote that bot to have it, not to win a coding contest xD
Avatar
@Learath2 did u try rm -rf /*
16:42
should free some space
16:42
as seen on chillers VM
Avatar
what data even fills the storage?
Avatar
ops wait
16:44
now
16:44
oh wait
16:44
u had vscode files
16:45
xd
Avatar
got wtf is that
Avatar
its to read the number easier
Avatar
i dunno xD
Avatar
i can revert that xd
16:45
i guess this number aint meaninful to read anyway
Avatar
its a discord id for emojis
Avatar
Avatar
Jupstar ✪
@Learath2 did u try rm -rf /*
@Jupstar ✪ can it use a .env file?
Avatar
Avatar
Learath2
@Jupstar ✪ can it use a .env file?
the bot?
Avatar
i dunno, i guess not
16:46
well actually
16:47
i dunno xD
16:47
i simply never tested
Avatar
can you sneak a dotenv::dotenv() somewhere?
Avatar
so does the file need to be actively read?
Avatar
No, just read it once at the start
Avatar
yeah ok
Avatar
ok i fixed the pr
16:48
god
Avatar
Avatar
Learath2
No, just read it once at the start
16:48
this?
Avatar
3 years not updated. thats what i call stable lib
Avatar
it's a trivial thing, doubt it needs updating much
Avatar
@Learath2 @Jupstar ✪ no
16:49
use dotenvy
16:49
A well-maintained fork of the dotenv crate. This crate is the suggested alternative for dotenv in security advisory RUSTSEC-2021-0141.
Avatar
Sure, use that one
Avatar
lmao
16:50
ok wait
16:53
@Ryozuki if matches!(&skin.database, SkinToUploadDB::Normal) { would u use that macro?
Avatar
I don't remember how to invite bots 😄
Avatar
it doesnt even look better to me xD
Avatar
Avatar
Learath2
I don't remember how to invite bots 😄
discord developers
16:53
then it generates a link on oauth
Avatar
Avatar
Jupstar ✪
@Ryozuki if matches!(&skin.database, SkinToUploadDB::Normal) { would u use that macro?
ye
Avatar
Avatar
Ryozuki
ye
i mean its more verbose
Avatar
Ah, does it need any scopes?
Avatar
so why xd
Avatar
Avatar
Learath2
Ah, does it need any scopes?
permissions: send messages edit messages (for reactions only)
Avatar
Avatar
Jupstar ✪
i mean its more verbose
idk about that
Avatar
Avatar
Learath2
Ah, does it need any scopes?
ah scopes
16:55
only bot
Avatar
Hm how do I compute permissions?
Avatar
Avatar
Ryozuki
idk about that
well honestly some of these fixes are really good, some are rather meh xD
16:56
lmao now u can invite my bot
Avatar
Avatar
Jupstar ✪
well honestly some of these fixes are really good, some are rather meh xD
tell me which u dont want and ill fix it
Avatar
Avatar
Ryozuki
tell me which u dont want and ill fix it
why u so tryhard rn xD
16:57
can i merge this for v2 or smth xD
Avatar
how am i tryhard lol XD
16:57
im just asking cuz i want this merged and forget
16:57
and its ur project
16:57
im not gonna push to much to do things my way
16:57
my way is: obey clippy
Avatar
tbh i dont even care, but i dunno if i have clippy set up
Avatar
my pr doesnt pass clippy pedantic
Avatar
i just dont want the warnings to spam me, if github auto parses them or smth xD
Avatar
@Jupstar ✪ how does it find the #📬submit-skins channel?
Avatar
due to ur locks, it suggest to put some early drops somewhere
16:58
but its more than a simple fix
Avatar
Avatar
Learath2
@Jupstar ✪ how does it find the #📬submit-skins channel?
it does not require that, bcs it doesnt create publicly visible messages
Avatar
@Jupstar ✪ u can set in 1 click a rust action with clippy
Avatar
Avatar
Ryozuki
due to ur locks, it suggest to put some early drops somewhere
as long it doesnt change behavior i dont care 😄
Avatar
@Jupstar ✪ can you give it a go? @SkinDB is here
Avatar
Avatar
Learath2
@Jupstar ✪ can you give it a go? @SkinDB is here
nice, i am not in skin database crew
16:59
maybe @Ravie wants to test?
Avatar
You are for now
Avatar
oh ok
17:00
@Ravie what skin can i upload?
Avatar
Pink jupstar looks wrong
Avatar
xd
Avatar
Avatar
Jupstar ✪
as long it doesnt change behavior i dont care 😄
thats the thing, idk enough of the code to change it with certainty
17:01
cuz i didnt look at it that much xd
17:01
so i didnt do it
17:01
@Learath2 soon we are truly lgbtr
Avatar
Avatar
Jupstar ✪
@Ravie what skin can i upload?
@Ravie ping me when u decided
Avatar
rainbow dev chat
17:04
so
17:04
@Jupstar ✪ wat u gonna do
17:05
i need a special role
17:05
the rust spreader
17:05
39392b3 some clippy fixes - edg-l 8accb4b Merge pull request #1 from edg-l/ryo-fixes - Jupeyy
17:05
closer to perfection
Avatar
debatable xD i simply dont care enough
17:06
thats good
Avatar
e.g. this
17:06
i dont care which style
17:06
to me its the same xD
Avatar
i think the let involves a drop of the inner error
17:07
while the is_err doesnt
17:07
cuz u dont fetch it
17:07
but im not sure
Avatar
as if the compiler doesnt see through this xD
Avatar
Avatar
Jupstar ✪
@Ravie what skin can i upload?
@Skin Database Crew
Avatar
im sur echecking a boolean is cheaper
17:07
than pattern matching
Avatar
else i just upload one with many upvotes 😬
Avatar
@Ryozuki accessing one past the end of a string is illegal in rust right?
Avatar
there is nothing there
17:08
wdym
Avatar
r u doign unsafe
Avatar
In C/C++ you are allowed to hold a pointer to one past the end of an array, it's explicitly not ub as long as you don't dereference it
Avatar
a string doesnt have end as is, just the length of allocated memory
Avatar
I guess I could check at the very start if the index is > len
Avatar
a string is a slice which is a ptr, usize, usize
17:09
ptr, length capacity
Avatar
Avatar
Learath2
In C/C++ you are allowed to hold a pointer to one past the end of an array, it's explicitly not ub as long as you don't dereference it
hmm u need to check the ptr docs then
17:10
this has nothing to do with strings
Avatar
@Ryozuki do /upload and tell me if u have no permissions
17:11
Safety
>
If any of the following conditions are violated, the result is Undefined Behavior:
>
Both the starting and resulting pointer must be either in bounds or one byte past the end of the same allocated object.
>
The computed offset, in bytes, cannot overflow an isize.
>
The offset being in bounds cannot rely on “wrapping around” the address space. That is, the infinite-precision sum, in bytes must fit in a usize.
17:11
@Learath2 u can be one byte past
Avatar
There is no null termination though, right?
17:12
the ptr thing is about pointers
Avatar
Avatar
Jupstar ✪
@Ryozuki do /upload and tell me if u have no permissions
upload where what
17:13
how
Avatar
I guess I'll do the responsible adult developer thing and check the length
Avatar
Avatar
Jupstar ✪
@Skin Database Crew
im too impatient, so i'll do it now with one of coke, since it will ping the author its better to test with ppl i know xdd
Avatar
Avatar
Ryozuki
upload where what
discord command
17:13
./upload
Avatar
@Learath2 u can do wrapping_offset
17:13
but u shouldnt
17:13
the author doesnt recommend using it
17:13
its the safe counterpart to offset
Avatar
Avatar
Learath2
I guess I'll do the responsible adult developer thing and check the length
why u want to be one past tho?
Avatar
@Learath2 worked, thanks
17:14
HYPE
Avatar
Avatar
Ryozuki
Click to see attachment 🖼️
epic
Avatar
Avatar
Ryozuki
why u want to be one past tho?
I'm just thinking about where to park the last offset in the lexer, I need to have a last history entry
Avatar
@Skin Database Crew after /upload the bot should be self explaining, else ping me and askf (use the command in #📬submit-skins only) (edited)
Avatar
Avatar
Learath2
I'm just thinking about where to park the last offset in the lexer, I need to have a last history entry
but are u using unsafe now?
Avatar
In C/C++ I'd have the last offset point to the null character
Avatar
@Learath2 u can remove my role
17:15
i want purple back
17:15
XD
Avatar
Avatar
Ryozuki
but are u using unsafe now?
No no, I'm just considering my options, I don't think I'll go with that
Avatar
Avatar
Jupstar ✪
@Learath2 u can remove my role
I almost accidentally kicked you
Avatar
XD
17:16
😬 😬
Avatar
rly nice bot, thank you!!
Avatar
did you see the icon suggestion
Avatar
Avatar
Voxel
did you see the icon suggestion
ping murpi with the msg
17:19
learath has done enough for today
17:19
deserved retirement
Avatar
@murpi can you make the icon of the SkinDB bot this
Avatar
「For Developers」
17:21
@murpi nice! using japanese
17:21
they are obsessed with these symbols for titles
17:21
gigachad
Avatar
Avatar
Learath2
No no, I'm just considering my options, I don't think I'll go with that
Ah, I can put it at len(self.str) that'll get me an empty slice np
Avatar
「Rust Development さび 」
Avatar
I forgor you can have s[i..i]
Avatar
and i..
17:22
XDDDDDDDD
Avatar
Avatar
Ryozuki
and i..
yes, I just forgor the start and end can be same
Avatar
@murpi would be cool to extend #✉-create-a-ticket or maybe another channel to report bugs in standarized way?
Avatar
Avatar
Voxel
XDDDDDDDD
what happened?
Avatar
Avatar
Voxel
@murpi can you make the icon of the SkinDB bot this
hm, I did change it but it didn't really update
Avatar
iot does
17:23
restart
Avatar
i see it too
17:24
without restart
Avatar
I guess linux discord is just garbage
Avatar
i use web
17:24
on linux
Avatar
me2
17:26
also on linux just to name it again
Avatar
Selecting multiple quadpoints is currently a lot of work because the hitbox is small and you have to select them one at a time. This PR allows using the box-selection on all quadpoints to make it easier. To make this possible (and consistent with other controls) a few other changes had to be made. In particular:
  • Shift + click now selects another quad basepoint. Before it allowed moving them, which is now ctrl + click.
  • Rotation is now bound to R.
  • Copying quads now works through ct...
Avatar
@Ryozuki I have a question, can I get rust to crash on an error? It exits very cleanly and I don't get to catch it in gdb 😄
Avatar
It doesn't even panic tho 😄
17:43
The error goes all the way to main, fn main() -> anyhow::Result<()>, and that just exits normally
Avatar
lmao
Avatar
With exit code 1 ok, but still 😄
Avatar
if u add errors but not errors handling xD
Avatar
I guess this is why everyone is using packages like eyre and color_eyre, to get backtraces at all
Avatar
Avatar
Learath2
@Ryozuki I have a question, can I get rust to crash on an error? It exits very cleanly and I don't get to catch it in gdb 😄
unwrap?
17:55
panic!
Avatar
Avatar
Learath2
The error goes all the way to main, fn main() -> anyhow::Result<()>, and that just exits normally
ah
17:55
thats the problem with anyhow
17:55
i think eyre
17:55
has backtraces
17:56
color_eyre
Avatar
how much do you earn?
18:17
apply for your own job
18:18
if less than what you promote
Avatar
majefamous BOT 2023-07-13 18:19:04Z
pm me (<@749222324980416602_jxsl13>)
if less than what you promote
18:19
Lets work together
Avatar
I'm rich, I don't work
Avatar
Hi rich, I'm Dave
Avatar
Hey Dave, Rich here
Avatar
Hey Rich, Poor here
Avatar
majefamous BOT 2023-07-13 18:20:36Z
even if, its a less stress job, all you do is relax and work using your phone (<@749222324980416602_jxsl13>)
I&#x27;m rich, I don&#x27;t work
Avatar
phones are slow af
Avatar
Hey Poor, spend less money on lootboxes
Avatar
without my NASA rtx 4090 PC i wont touch anything
Avatar
Avatar
Jupstar ✪
phones are slow af
downgrade to discord 2020
Avatar
There is no less than not working at all.
Avatar
i just buy better pc
18:22
😬
Avatar
Avatar
jxsl13
There is no less than not working at all.
works for me
Avatar
no less stress*
Avatar
majefamous BOT 2023-07-13 18:25:50Z
check inbox (@Jupstar ✪)
without my NASA rtx 4090 PC i wont touch anything
Avatar
thanks, you pm'd a fake account that was created by the discord bridge
18:26
lmao
Avatar
@Jupstar ✪ what are the arguments for uploading a skin?
Avatar
Avatar
Ravie
@Jupstar ✪ what are the arguments for uploading a skin?
./upload
18:28
the msg that will be created should tell you everything.. the msg also gets updated
18:28
as soon as u react to a skin
Avatar
majefamous BOT 2023-07-13 18:29:30Z
The management of this company is simply the best and they have shown to be reliable
Avatar
@Zwelf can u ban this lost soul? ^
Avatar
ah I see, so we use /upload at the start and then use reactions?
Avatar
yep, then check if everything is correct
Avatar
I thought it's something like /upload [skin] [database]
Avatar
its meant to make it ez 😉
Avatar
yeah nice
18:31
is it ✅ ☑️ to upload or something else?
Avatar
🆗 button
18:31
to upload all selected skins
18:31
u basically batch the upload first
18:31
to check for errors etc.
Avatar
yeah but I mean, which reaction to add for normal or community db?
Avatar
doesnt the msg say?
18:31
i think blue for community
Avatar
I don't see any info, I might be being blind
Avatar
after /upload
18:32
there is a msg
Avatar
hm, how was the chatgpt game called where you try to get it to reveal some secret phrase
Avatar
are u on some old discord? 😄
Avatar
idk it updates when it wants to, so like everytime it launches
Avatar
@Ravie
Avatar
I just see this
Avatar
dont u see this?
Avatar
Avatar
Ravie
I just see this
ah u have to execute the upload
18:33
command
Avatar
re:scam does not exist anymore, sadly.
Avatar
the whole thing is fancier than I thought xD
Avatar
i wasted 5h of my sunday for this 😬
Avatar
ah but for now we have to manually correct licenses I guess
18:38
I asked murpi to make the other bot require correct formatting without a dash after CC but older messages still have it wrong
Avatar
mh yeah
18:40
well all skins have it wrong lmao
18:40
maybe its easier to rewrite the skins.json
Avatar
I recently went over the whole database and fixed this on existing skins
Avatar
for the new bot u'd need to edit the discord messages
18:41
i dunno if u have edit permissions for msgs
Avatar
it's not really a problem to fix on a few skins
18:42
but the sooner we force the correct format the less work it will be
18:44
@Learath2 @Jupstar ✪ rust update time
Avatar
rust update poggers2
Avatar
@Ravie btw the bot times out after 2min afk
18:47
just that u are aware
18:47
the msg it posts always tells u the current state
Avatar
yeah I saw
18:48
seems a little short tho
Avatar
@Ravie I haven't deployed the license thing yet. Did you talk to heinrich?
Avatar
yeah he's not sure if we should allow more restrictive licenses, but we should at least fix the format on current ones
Avatar
Avatar
Ravie
seems a little short tho
mh yeah, probably bit short also notice discord has a char limit of 2000. so the bot gets less verbose if u add too many skins at once.. its not a bug xd
18:50
(this does not affect the after upload msg)
Avatar
Avatar
Ravie
yeah he's not sure if we should allow more restrictive licenses, but we should at least fix the format on current ones
I'll fix the old ones then and wait until you and heinrich come to an agreement
Avatar
Avatar
Ravie
yeah he's not sure if we should allow more restrictive licenses, but we should at least fix the format on current ones
open only
18:51
ddnet
18:51
ddnet
Avatar
it just might take a moment to take a look at the preview of each skin and make a decision, could take longer than 2 mins if there are a lot of skins
Avatar
well its 2mins of being inactive
18:52
but yeah i can increase that
Avatar
ah nevermind then
Avatar
@Jupstar ✪ Const-initialized thread locals
Avatar
thought we have 2 mins to complete the upload
Avatar
Avatar
Ryozuki
@Jupstar ✪ Const-initialized thread locals
i dont like global variables
18:52
u cant convince me
Avatar
Avatar
Ravie
thought we have 2 mins to complete the upload
xD speedrun
Avatar
These APIs are now stable in const contexts:
(edited)
18:54
<*const T>::read <*const T>::read_unaligned <*mut T>::read <*mut T>::read_unaligned ptr::read ptr::read_unaligned <[T]>::split_at
18:54
this is pog
18:54
const ptrs
Avatar
all const additions are nice
Avatar
ChillerDragon BOT 2023-07-13 19:33:26Z
17:55:16 bridge_ | <Jupstar ✪> chillerdragon: how can i demoativate you? XD
19:33
@Jupstar ✪
19:33
irc reply moment
19:33
i assume you mean me going strong on 0.7 today?
Avatar
xDDDDDDD
Avatar
ChillerDragon BOT 2023-07-13 19:33:55Z
think u have to give up.
19:34
you did a good job sending me to side quests
19:34
but nothing will hold stand
19:34
if you keep pushing forward
19:35
you can not stop me to work on my very persistent intrinisc motivation to unite this cute owo game
19:35
into one shared protocol
Avatar
soon i have the best client anyway
19:37
then idc and go full ego
Avatar
@Jupstar ✪ make sure it passes clippy
Avatar
ChillerDragon BOT 2023-07-13 19:37:17Z
as long as it is 0.7 compatible all good
Avatar
Avatar
Ryozuki
@Jupstar ✪ make sure it passes clippy
currently it doesnt even pass unused xD
Avatar
what do u think how long it took to convert vk backend and then fix all the fucking warnings xD
Avatar
bcs the clippy --fix broke somewhere
Avatar
ChillerDragon BOT 2023-07-13 19:39:00Z
i really can not tell if you work on some flopping toy project
19:39
or if you will disrupt the industry jopsti
Avatar
industry ofc
Avatar
ChillerDragon BOT 2023-07-13 19:39:52Z
as much as it would suck to break protocol. if its blazingly fast it would be very pog
Avatar
its not only that
19:40
but also blazingly moddable
Avatar
ChillerDragon BOT 2023-07-13 19:40:12Z
poggable
19:41
i wonder if deen, heinrich, robi, lerato and so on are flexible enough to replace the codebase
Avatar
my plan is to coup oy
19:41
and take the name "teeworlds" back
Avatar
ChillerDragon BOT 2023-07-13 19:41:31Z
you going for vanilla?
Avatar
bcs its the best name
Avatar
ChillerDragon BOT 2023-07-13 19:41:37Z
woah
Avatar
vanilla is my first goal yes
Avatar
ChillerDragon BOT 2023-07-13 19:41:45Z
thats epic
Avatar
based on that i want to implement FNG
Avatar
ChillerDragon BOT 2023-07-13 19:41:53Z
so its pvp first game?
Avatar
without modifying the vanilla code base
19:41
with client side prediction
19:42
without modifying the client code base
19:42
blazingly moddable
Avatar
ChillerDragon BOT 2023-07-13 19:42:15Z
thats not a thing
Avatar
i am not kidding 😄
Avatar
ChillerDragon BOT 2023-07-13 19:42:37Z
im hyped
19:42
and emotionally confused
19:43
but tbh you know what needs a rust rewrite more than teeworlds?
19:43
minecraft!
19:43
u can read my monolog from here
Avatar
ChillerDragon BOT 2023-07-13 19:43:45Z
all the open source rust minecraft rewrites are uselessly wip
19:43
sends a discord link
Avatar
"The main purpose i want this merged is, that we can merge server code with client code again." if u want to scan ur irc logs
19:45
now thats a chat link
Avatar
Suggested by 0x314 on Discord:
After the recent update when I open the game, it automatically selects and scrolls to the last server I played. And usually, it's empty or has a low player amount, so the scroll position is in the middle or even at the end, so I have to scroll up every time to see the most populated server (as it used to be before this update)
Is it possible to disable this new thing? I find it really annoying to scroll up every time I launch the game 😐
Avatar
Avatar
heinrich5991
@Learath2 are empty compilation units forbidden by the C standard?
iirc, there was a quine winner with a filesize of 0 byte (https://www.ioccc.org/years-spoiler.html#1994, winner smr)
Avatar
Avatar
Learath2
but it should show where includes start
you can also try gcc -xc -E -v -
Avatar
Avatar
TsFreddie
35c right now
inside or outside? Inside would be unbearable, outside is fine 🙂
Avatar
Avatar
Ryozuki
#⁠developer - Get a glimpse into the exciting realm of game development!
And:
  • philosophy
  • free software
  • economics
  • global crisis
  • climate change
  • nuclear energy and fision fusion
  • rust
  • random tech convos
get a glimpse into the exciting realm of rust
nekospin 1
Avatar
this reminds me
20:11
when is ddnet bday
Avatar
10 years ddnet
20:12
3 days ago was 10y of dota
Avatar
or was that last year xd
Avatar
Avatar
Jupstar ✪
what data even fills the storage?
i guess teehistorian
Avatar
2013-07-18: Beginning of DDNet with first finish (edited)
20:13
OMG
20:13
@Ryozuki
20:13
OMG
Avatar
deens kid will be born
Avatar
its around this date
Avatar
exactly in 5 days
20:13
OMG
Avatar
HE FCKING PLANNED IT
Avatar
Avatar
Chairn
i guess teehistorian
nah, it's the database and the downloads folder on the website, it's getting out of control 😄
Avatar
OMG i die if the kid is born at 18. july
20:14
that would be the best irony of life ever
Avatar
Avatar
Ryozuki
when is ddnet bday
18th or 19th i think
Avatar
Avatar
Jupstar ✪
2013-07-18: Beginning of DDNet with first finish (edited)
this is literally quoted from wiki lmao
Avatar
deen is having a kid??
Avatar
IN EXACTLY 5 DAYS AS PLANNED BY HIm
Avatar
does the #✉-create-a-ticket really ping murpi everytime ?
Avatar
i also tested it xDD it pinged murpi and heinrich and someone else
Avatar
Avatar
Jupstar ✪
IN EXACTLY 5 DAYS AS PLANNED BY HIm
jesus of teeworlds incoming
Avatar
did he rly say 5 days
Avatar
Avatar
Learath2
So I guess a peekable char_indices
no need for peekable. just clone the iterator if you want to peek
Avatar
Avatar
Ryozuki
did he rly say 5 days
no but he said in 2 months on 18th of may
Avatar
yeah, but it's roughly in 2 months (edited)
Avatar
Avatar
heinrich5991
no need for peekable. just clone the iterator if you want to peek
I ended up not needing this. But what use would be cloning?
Avatar
i guess cloning is cheap? but idk why not peekable then
Avatar
Avatar
Learath2
Actually can you even map this? Can't get that ref out of the mapping closure, no?
.as_ref().map(Deref::deref)
20:22
reading a chat in order without reading everything is kind of weird in this context (edited)
20:22
cuz we already went over this
Avatar
Avatar
Ryozuki
i know heinrich disagrees, but clippy often makes ur code idiomatic
your PR did quite a few sensible things 🙂
Avatar
Avatar
Jupstar ✪
does it rewrite code even at the cost of perf?
usually not
Avatar
Avatar
heinrich5991
your PR did quite a few sensible things 🙂
do u agree with matches!
Avatar
Avatar
Learath2
ddnet.tw ran out of disk space 😄
I got notified on my phone that the masterserver crashed due to that
20:29
restarted it within 15 min 😉
Avatar
still 99% uptime for today
Avatar
Avatar
Ryozuki
i complained about heinrich
where? 😄
Avatar
Avatar
Jupstar ✪
got wtf is that
that seems like it decreases readability, because discord displays these numbers as one
Avatar
Avatar
heinrich5991
where? 😄
i reread and idk why i said that XD
Avatar
chillerdragon BOT 2023-07-13 20:31:26Z
@Davide: sos im stuck in firewall :c
20:31
ger10.ddnet.tw
20:31
ger10.ddnet.org
Avatar
Avatar
Ryozuki
while the is_err doesnt
the code is equivalent
Avatar
Original message was deleted or could not be loaded.
nope. after optimizing, it's the same. before optimizing, the pattern match is cheaper
Avatar
is is_err const?
Avatar
Avatar
heinrich5991
I got notified on my phone that the masterserver crashed due to that
What exactly do you need to restart in this case btw? I took a quick look but there were so many services starting with httpmaster- 😄
20:34
i guess this one is quite opinionated
20:34
but imho it looks more clean is_err
Avatar
Original message was deleted or could not be loaded.
break rust_panic or so. need to get the current name of the day
Avatar
@Learath2 iirc rust-lldb works better for rust btw
20:36
heinrich is still far in the backlog
20:36
xd
Avatar
Avatar
chillerdragon
@Davide: sos im stuck in firewall :c
I had some unexpected events and I still couldn't update the UDP filter after the massive change in the netcode of the new update, I'll do it as soon as possible, in the meanwhile use the URL as @Ryozuki said https://ger10.ddnet.org/
Avatar
Avatar
Ryozuki
heinrich is still far in the backlog
xD chatgpt is slow today 🇬🇷
20:37
lol
20:37
😬
Avatar
bad discord
20:37
xD
Avatar
Avatar
Learath2
I ended up not needing this. But what use would be cloning?
clone().next() for peek
Avatar
Avatar
Ryozuki
i guess cloning is cheap? but idk why not peekable then
because peekable is less cheap IIRC
Avatar
Avatar
Ryozuki
Click to see attachment 🖼️
I think both are fine. the good thing about pattern matching is that it works with every type
Avatar
Avatar
Davide
I had some unexpected events and I still couldn't update the UDP filter after the massive change in the netcode of the new update, I'll do it as soon as possible, in the meanwhile use the URL as @Ryozuki said https://ger10.ddnet.org/
massive change in the netcode? what did I miss?
20:41
done \o/
Avatar
This makes the client connect to the server faster. It's especially noticeable on servers with a low ping. Closes #6811. Checklist Tested the change ingame Provided screenshots if it is a vi...
Avatar
Avatar
heinrich5991
clone().next() for peek
huh interesting that that's cheaper, anyway, didn't end up needing it
Avatar
Avatar
Davide
(I didnt checked yet the changes, but I'll do in the next days)
Avatar
Avatar
Learath2
huh interesting that that's cheaper, anyway, didn't end up needing it
that's just an it[1] with a bounds chec
20:43
k
Avatar
ChillerDragon BOT 2023-07-13 20:46:01Z
@Davide ye ger10 works fine but not fokkos server :(
Avatar
Avatar
Learath2
huh interesting that that's cheaper, anyway, didn't end up needing it
an standard iterator is just a pair of two pointers. it doesn't cost anything to clone
Avatar
@murpi I have an improvement idea for tickets
Avatar
ChillerDragon BOT 2023-07-13 20:47:03Z
i verified here https://tw.fokkonaut.de/
Avatar
Avatar
Learath2
@murpi I have an improvement idea for tickets
What is it?
Avatar
Avatar
ChillerDragon
@Davide ye ger10 works fine but not fokkos server :(
WTF?
Avatar
ChillerDragon BOT 2023-07-13 20:47:48Z
?
Avatar
They have both same filter
20:47
Let me check
Avatar
ChillerDragon BOT 2023-07-13 20:48:00Z
i checked with tcpdump
20:48
none of my ips packets arrive on port 8303
20:49
marking startinfo as flush breaks your filter? o.O
20:49
now im super curious how it works
20:49
i didnt expect it to be that close to the protocol
20:49
when open src firewall
Avatar
Avatar
ChillerDragon
marking startinfo as flush breaks your filter? o.O
I didnt check the changes in the code, I just saw the pull description
Avatar
Avatar
murpi
What is it?
When we close tickets, maybe just lock it for a couple minutes and not allow the opener to create any new tickets meanwhile
Avatar
ChillerDragon BOT 2023-07-13 20:50:18Z
a
20:50
its flipping one bit davide
Avatar
Avatar
heinrich5991
an standard iterator is just a pair of two pointers. it doesn't cost anything to clone
Ah no, I was more confused about why peekable can't do the exact same thing
Avatar
ChillerDragon BOT 2023-07-13 20:50:37Z
:D
Avatar
@Davide r u the guy with a company? and do u rent servers?
Avatar
Avatar
Ryozuki
@Davide r u the guy with a company? and do u rent servers?
Ye
Avatar
how much
Avatar
ChillerDragon BOT 2023-07-13 20:51:16Z
moni u have
Avatar
Try now ChillerDragon
Avatar
ChillerDragon BOT 2023-07-13 20:51:30Z
leak bank balance
Avatar
Avatar
Ryozuki
how much
I'll send you the URL in PM, write me
Avatar
ChillerDragon BOT 2023-07-13 20:51:46Z
it work
20:51
thank
Avatar
ChillerDragon BOT 2023-07-13 20:51:52Z
davide u such hacker
Avatar
Then give me your IP in PM, I have to check a thing
Avatar
ChillerDragon BOT 2023-07-13 20:52:02Z
fixin da bugs in seconds
20:52
dm
20:52
be like
20:53
@Davide go buy irc i send ip
Avatar
ChillerDragon BOT 2023-07-13 20:53:30Z
i cant send dms on discord
Avatar
Avatar
Learath2
When we close tickets, maybe just lock it for a couple minutes and not allow the opener to create any new tickets meanwhile
Hmmm, not easy
20:55
I could delay the closure of a ticket though
Avatar
@murpi did lot of tickets come in already?
20:55
im curious
20:56
could u offer monthly stats
20:56
$stats
Avatar
ChillerDragon BOT 2023-07-13 20:56:26Z
@Davide still need my ip? where can i dm u?
Avatar
with bot should be ez
Avatar
Avatar
ChillerDragon
@Davide still need my ip? where can i dm u?
Yes still needed
20:56
Just DM me
Avatar
ChillerDragon BOT 2023-07-13 20:56:48Z
where
Avatar
What that means
20:56
On Discord
Avatar
he is not on discord
Avatar
ChillerDragon BOT 2023-07-13 20:56:57Z
i dont do discord
Avatar
its a bridge over irc
Avatar
Oh, IRC?
Avatar
ChillerDragon BOT 2023-07-13 20:57:03Z
da
Avatar
Avatar
Ryozuki
its a bridge over irc
Oh, that makes sense
Avatar
ChillerDragon BOT 2023-07-13 20:57:28Z
am i not marked as bot? xd
20:57
🤖
Avatar
ChillerDragon BOT 2023-07-13 20:57:44Z
u got irc?
20:57
or facebook messenger?
Avatar
Telegram? 😄
Avatar
LMAO
Avatar
ChillerDragon BOT 2023-07-13 20:57:56Z
snapchat?
Avatar
Avatar
Learath2
Ah no, I was more confused about why peekable can't do the exact same thing
peekable creates a weird construct where it remembers the element the iterator got. it's just a lot harder for the optimizer to see through, if it can at all
Avatar
ChillerDragon BOT 2023-07-13 20:58:16Z
i dont have telegram :c
Avatar
it basically converts your iterator into a
Avatar
Avatar
Ryozuki
could u offer monthly stats
I could keep count of all bot interactions, but monthly stats? idk 😄
20:58
$commandstats
Avatar
Command Stats
$points....: 12512 $ddos......: 5360 $profile...: 3764 $total_time: 3037 $hours.....: 1973 $map.......: 1376 $add.......: 1165 $help......: 1060 $avatar....: 722 $waiting...: 719 $find......: 655 $weather...: 398 $ready.....: 390 $decline...: 374 $optimize..: 315 $rm........: 298 $time......: 250 $angry.....: 242 $drake.....: 194 $clown.....: 190
Avatar
struct Peekable<I: Iter> { inner: I, peeked: Option<Option<I::Item>>, }
Avatar
Btw fixed the UDP filter, it is now working with the new versions
Avatar
Avatar
murpi
I could keep count of all bot interactions, but monthly stats? idk 😄
if u save t odb its ez
Avatar
ChillerDragon BOT 2023-07-13 20:59:04Z
pog
Avatar
It was not a big change seems afterall haha
Avatar
it's okay for expensive iterators, but for cheap ones you should really just use .clone().next()
Avatar
Avatar
heinrich5991
peekable creates a weird construct where it remembers the element the iterator got. it's just a lot harder for the optimizer to see through, if it can at all
But why doesnt it just do the clone thing? Is it maybe not possible with all kinds of iterators for some reason? Maybe involving side effects?
Avatar
ChillerDragon BOT 2023-07-13 20:59:27Z
@Davide you got ssh on fokko srv?
Avatar
Avatar
Learath2
But why doesnt it just do the clone thing? Is it maybe not possible with all kinds of iterators for some reason? Maybe involving side effects?
side effects, basically
Avatar
ChillerDragon BOT 2023-07-13 20:59:38Z
or any other server i can connect to to leak my ip @Davide =
Avatar
and missing specialization I guess @Learath2
Avatar
Avatar
ChillerDragon
i dont have telegram :c
Can you send it to someone you trust in IRC that has Discord too and he shares it with me?
Avatar
send it to me ChillerDragon
Avatar
ChillerDragon BOT 2023-07-13 21:00:00Z
heinrich
21:00
u so helpful
Avatar
chiller trusts the whole world
21:00
and shares public
Avatar
ChillerDragon BOT 2023-07-13 21:00:21Z
i really want to post it here somehow
21:00
like who cares
21:00
it a ip
21:01
i sent to heinrich :D
21:01
because im scared lerato ddos me
21:01
if i post here
Avatar
i would be scared of others
Avatar
ChillerDragon BOT 2023-07-13 21:02:08Z
others have not yet rm -rfd my drive xd
Avatar
i helped in that
Avatar
ChillerDragon BOT 2023-07-13 21:02:23Z
u got my ip davide? because i start lagging like hell
Avatar
ChillerDragon BOT 2023-07-13 21:02:33Z
trol
Avatar
Not lagging, just dropped
21:02
Disconnect then reconnect
21:02
W/o using the URL
21:02
Try
Avatar
ChillerDragon BOT 2023-07-13 21:02:59Z
i haver +1 survival bonus bitsh
Avatar
ChillerDragon BOT 2023-07-13 21:03:23Z
im joining slowly
21:03
takes forever
21:03
i see packets arriving in tcpdump
Avatar
It's stuck on a packet?
Avatar
ChillerDragon BOT 2023-07-13 21:03:42Z
but it doesnt seem to progress
Avatar
Tell me the length (edited)
Avatar
ChillerDragon BOT 2023-07-13 21:04:01Z
wait lemme dl pcap
Avatar
Check it on your PC
21:04
Not on the server itself
Avatar
ChillerDragon BOT 2023-07-13 21:04:26Z
a u smart xd
Avatar
With something like Wireshark for Windows or tcpdump for linux
Avatar
ChillerDragon BOT 2023-07-13 21:04:49Z
ye sec ima install windows
Avatar
?!
21:05
do you use my dissector btw, @Davide? 😛
Avatar
Nope, sorry 😄
Avatar
ChillerDragon BOT 2023-07-13 21:05:36Z
omg davide
Avatar
Old school hahaha
Avatar
ChillerDragon BOT 2023-07-13 21:05:39Z
shame
21:05
wat u use davide?
21:05
😄
Avatar
looking at bytes, prolly?
21:05
^^
Avatar
ChillerDragon BOT 2023-07-13 21:05:56Z
lmao i get snaps
21:06
wait lemme reconnect
21:06
ah
21:06
i still get snaps when disconnected
21:06
think the server thinks im still on
Avatar
Avatar
heinrich5991
looking at bytes, prolly?
Remember the random challenge I explained to you a lot ago? I did it
Avatar
ChillerDragon BOT 2023-07-13 21:06:46Z
who is you
Avatar
Avatar
Davide
Remember the random challenge I explained to you a lot ago? I did it
ah nice 🙂
Avatar
ChillerDragon BOT 2023-07-13 21:07:30Z
21:07
omagawd davide shouldnt have leaked u my ip
21:07
u broke it again xd
Avatar
some of the packets are not marked as tw
21:08
can you send me the pcap?
Avatar
Mh, 12, weird
Avatar
Avatar
heinrich5991
some of the packets are not marked as tw
New packets coming from the update?
Avatar
ChillerDragon BOT 2023-07-13 21:08:37Z
heinrich prolly missing state?
Avatar
ChillerDragon BOT 2023-07-13 21:08:46Z
omagawd the update has no new packets xd
Avatar
Can you try now? Chiller
Avatar
Avatar
ChillerDragon
omagawd the update has no new packets xd
Ye, a new packet, lenght 12 seems (and not the first one), never seen it before (edited)
Avatar
ChillerDragon BOT 2023-07-13 21:09:35Z
still stuck
21:09
now i in
Avatar
You opened the URL seems
Avatar
ChillerDragon BOT 2023-07-13 21:10:24Z
maybe
21:10
some raspi in my network curld it
21:10
xd
Avatar
Can you send me the full pcap too?
21:10
😄
Avatar
ChillerDragon BOT 2023-07-13 21:11:01Z
client or server side?
Avatar
ChillerDragon BOT 2023-07-13 21:12:55Z
!p 0000 10 00 00 01 54 4b 45 4e ff ff ff ff
Avatar
Avatar
ChillerDragon
!p 0000 10 00 00 01 54 4b 45 4e ff ff ff ff
Command not found!
Avatar
ChillerDragon BOT 2023-07-13 21:13:01Z
!ping
Avatar
Avatar
ChillerDragon
!ping
Command not found!
Avatar
ChillerDragon BOT 2023-07-13 21:13:04Z
wot
21:13
bot ded
21:14
its from client to server maybe some bug in my susy client idk
Avatar
3f201a4 Improve Multi-View UX - Vy0x2 fc6bf65 Merge #6824 - bors[bot]
Avatar
ChillerDragon BOT 2023-07-13 21:17:02Z
hm its TKEN
Avatar
heinrich5991 BOT 2023-07-13 21:18:09Z
ChillerDragon: send pcap already :p
Avatar
ChillerDragon BOT 2023-07-13 21:18:49Z
nono
21:19
this is the the 12 byte packet
21:19
10 00 00 01 54 4b 0030 45 4e ff ff ff ff ....TKEN....
21:19
its always the same
21:19
!p 10 00 00 01 54 4b 0030 45 4e ff ff ff ff
Avatar
Avatar
ChillerDragon
!p 10 00 00 01 54 4b 0030 45 4e ff ff ff ff
Command not found!
Avatar
ChillerDragon BOT 2023-07-13 21:19:36Z
!p 10 00 00 01 54 4b 00 30 45 4e ff ff ff ff
Avatar
Avatar
ChillerDragon
!p 10 00 00 01 54 4b 00 30 45 4e ff ff ff ff
Command not found!
Avatar
ChillerDragon BOT 2023-07-13 21:20:48Z
the pcap is full of nudes not gonna send it
Avatar
heinrich5991 BOT 2023-07-13 21:21:07Z
ChillerDragon: file -> export specified packets
21:21
then you can export only the displayed packets in a pcap
21:21
i.e. the teeworlds packets
Avatar
ChillerDragon BOT 2023-07-13 21:21:37Z
10 00 00 01 54 4b 00 30 45 4e ff ff ff ff
21:21
those are the only bytes u want anyways
21:22
but i wouldnt worry too much maybe there is some bug in my client
Avatar
heinrich5991 BOT 2023-07-13 21:22:11Z
can't import that into wireshark
21:22
looks like a bug though :D
Avatar
@heinrich5991 send me the Chiller pcap when you have it
Avatar
ChillerDragon BOT 2023-07-13 21:22:38Z
bruv
Avatar
Avatar
ChillerDragon
the pcap is full of nudes not gonna send it
Wut
Avatar
ChillerDragon BOT 2023-07-13 21:23:02Z
just connect to foko srv ur self and record it
Avatar
It works for me 😄
21:23
That's the issue
Avatar
ChillerDragon BOT 2023-07-13 21:23:17Z
xd
Avatar
heinrich5991 BOT 2023-07-13 21:24:06Z
why not share the censored pcap? ^^
21:24
you can open it yourself to see that it doesn't contain anything bad
Avatar
ChillerDragon BOT 2023-07-13 21:24:29Z
:c
21:25
you can send those bytes w python and record it im too tired to properly censor a pcap rn
Avatar
Your ! is triggering the other bot
Avatar
ChillerDragon BOT 2023-07-13 21:26:01Z
sorry guys but ima go sleep now :c if you so hyped about the pcap and for whatever reason can not work with the relevant bytes i can give it a go again tomorrow
21:26
lerato my bot clearly was here before
21:28
i assume the client got in a weird state due to the server acting all firewall and it failed to send the TKEN package correctly
Avatar
heinrich5991 BOT 2023-07-13 21:34:07Z
give pcap before sleep, ChillerDragon
21:34
:D
21:34
hype hype
Avatar
is this real heinrich
21:43
also i thought netcode was supposed to not change
21:43
or is this a fokko sv thing
Avatar
just buy a new computer :3Head
Avatar
Avatar
Ryozuki
also i thought netcode was supposed to not change
netcode didn't really change
22:16
basically only the pacing of packets
Avatar
I would have expected the inverse 😄
Avatar
Turns out people with filthy mouths are better C coders, take that cs people
Avatar
chillerbot BOT 2023-07-13 22:19:44Z
error
Avatar
chillerbot BOT 2023-07-13 22:24:42Z
error
Avatar
Hey i think that's quite a problem
22:35
if you don't enter a name, the bot will try your username instead of trying with your nickname (edited)
Avatar
Blame discord
Avatar
uNiQuE UsErNAmEs
Avatar
i can try to fix that tonight if you wish
22:37
(it must be 1 line to change)
Avatar
Avatar
Gwendal
i can try to fix that tonight if you wish
No, we just have to update our discord.py version. What you experience is a bug that hasn't been fixed in discord.py 2.2.2 yet
22:53
granted the problem couldn't have been resolved in discord.py 2.2.2 because the username migration took place after the release of that version but still
23:00
@Zwelf Please kick "majefamous" from IRC
Avatar
done now
👍 1
Avatar
yo, what about adding an option for sorting the skins by last added or recently used?
Avatar
Avatar
murpi
No, we just have to update our discord.py version. What you experience is a bug that hasn't been fixed in discord.py 2.2.2 yet
cant you use the name that is used only by this discord rather than the uNiQuE UsErNAmE ?
Avatar
if I update the discord.py lib, yes.
Avatar
Avatar
Learath2
I would have expected the inverse 😄
is that even proper statistical analysis
Avatar
it is if you only consider the average
23:59
but the second gaussian fit is far fetched
Avatar
it doenst compare code with to code without swear words really
Exported 1,316 message(s)