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-07 00:00:00Z and 2023-07-08 00:00:00Z
Avatar
It seems players have some sort of script they use to attack the servers... Their ping ramps up to ~600 then to 999 and the lag is unbearable, it's killing the fun in the Brazil servers; BUT if the players can somehow vote-kick the player with 999 ping, everything goes back to normal in a matter of seconds. This effect has been well known by players in the servers I play in for a while now, but it's hard to vote-kick the player because after the attack starts the server is very slow to respond so the vote-kick ends before people can react to it; and most players just close the game, leaving behind their ghosts that don't vote. But looking at that attack behavior, I assume it's very likely that it's a denial of service exploiting actual game packets, and not DDOS (as in multiple IPs attacking), neither a normal UDP flood since kicking them from the game wouldn't stop that (unless kicking a player adds their IP to an iptables filter, and I very much doubt that). Shouldn't it be possible to detect such attacks and kick the player automatically, inside the server code? Or maybe a setting to kick any player with obscenely high ping? I know I could probably do this on my own server, but wouldn't it be reasonable to have something like this on the official servers?... It just feels like this denial-of-service exploit script has reached a lot of hands, the servers are attacked so much that the game is not as popular as it should be... And they even often brag about it: "touch me and I lag the server" and such (got pictures but I don't think it's relevant to this conversation).
03:34
Also hypothetically: if I open a "bait" server, leave it on with tcpdump or WireShark registering the traffic flow and HOPE somebody runs this particular attack on it, then pinpoint how the attack works, would a Dev possibly see that and go for a fix?
03:34
Or are my assumptions just wrong?
03:35
Cute cat for posting a wall of text:
03:35
Teef
Avatar
@Curvelo official ddnet servers are only affected by ddos, here is a blog written by deen about it https://hookrace.net/blog/dos-attacks-against-online-game/
05:09
note that there were maybe 2 more tries to solve the issue since then, for example the ger10 whitelist servers, I myself don't know how effective that approach turned out
Avatar
I think he's right it's not a ddos. Wasn't there an issue with emote spam lagging the server? It could be similar
Avatar
Avatar
Curvelo
It seems players have some sort of script they use to attack the servers... Their ping ramps up to ~600 then to 999 and the lag is unbearable, it's killing the fun in the Brazil servers; BUT if the players can somehow vote-kick the player with 999 ping, everything goes back to normal in a matter of seconds. This effect has been well known by players in the servers I play in for a while now, but it's hard to vote-kick the player because after the attack starts the server is very slow to respond so the vote-kick ends before people can react to it; and most players just close the game, leaving behind their ghosts that don't vote. But looking at that attack behavior, I assume it's very likely that it's a denial of service exploiting actual game packets, and not DDOS (as in multiple IPs attacking), neither a normal UDP flood since kicking them from the game wouldn't stop that (unless kicking a player adds their IP to an iptables filter, and I very much doubt that). Shouldn't it be possible to detect such attacks and kick the player automatically, inside the server code? Or maybe a setting to kick any player with obscenely high ping? I know I could probably do this on my own server, but wouldn't it be reasonable to have something like this on the official servers?... It just feels like this denial-of-service exploit script has reached a lot of hands, the servers are attacked so much that the game is not as popular as it should be... And they even often brag about it: "touch me and I lag the server" and such (got pictures but I don't think it's relevant to this conversation).
Can u record a demo of the attacker next time it happens
Avatar
chillerdragon BOT 2023-07-07 06:03:30Z
Or ping a admin to make a traffic dump
06:43
@Jupstar ✪ friday rust
Avatar
Avatar
Ryozuki
@Jupstar ✪ friday rust
True, yesterday I also had a question ready. I hope I remember it soon
Avatar
im remaking my kernel
06:44
i need to learn GOP if i use uefi
Avatar
@Ryozuki have u ever worked with lock free structures in rust?
Avatar
atomics? xd
06:57
but i think not
06:57
dont rly know much about them
Avatar
Yeah atomic maps or stacks
Avatar
they usually use linked lists?
06:57
idk
Avatar
Yep they are
Avatar
dashmap
06:58
is a good hashmap
Avatar
Ever worked with explicit spinlocks in rust?
Avatar
for mt
06:58
u use a spinlock in the kernel dev
06:58
there is a good read for u
06:59
Low-level Concurrency in Practice. This practical book helps Rust programmers of all levels gain a clear understanding of low-level concurrency. You'll learn everything about atomics and …
06:59
u can read it all there
06:59
its roy gud
06:59
i need to read it too
06:59
but lot of ppl recommended it to me
Avatar
ws-client1 BOT 2023-07-07 07:00:57Z
<Jupstar> tbh i have rather special requirements again anyway xd
07:01
<Jupstar> lock free containers i found always allocate a new node from heap... that makes them rather useless xD
Avatar
ws-client1 BOT 2023-07-07 07:02:03Z
<Jupstar> yeah i found that
07:02
<Jupstar> i just wonder if a lockfree container can beat one that is wrapped by a spin lock xd
07:02
<Jupstar> i can only guarantee that threads rarely access it
Avatar
u cant use a mutex?
07:03
or read write lock
07:03
its good for reads
07:03
rwlock
Avatar
ws-client1 BOT 2023-07-07 07:03:26Z
<Jupstar> i basically always write
07:03
<Jupstar> so mutex, but mutex seems like extra overhead
07:03
<Jupstar> the lock is bascially never locked between two threads
Avatar
honestly the best way to know is benchmarking
Avatar
ws-client1 BOT 2023-07-07 07:06:23Z
<Jupstar> yeah, but my pc is too fast
07:06
I should benchmark on my mobile
Avatar
I tried basically all three methods but the too much noise
Avatar
do u know if its hard to implement a generic opengl 1 driver
Avatar
And benchmarking in non real world scenario is useless in this case xd
Avatar
Avatar
Ryozuki
do u know if its hard to implement a generic opengl 1 driver
Generic as in data types?
07:08
for a OS
Avatar
Ah
Avatar
whats the simplest protocol
07:08
to show stuff
Avatar
I think it's rather hard
Avatar
BCS rasterizer etc
07:08
The amount of features is ez
07:09
But the math doesn't get easier xd
07:09
in bios and uefi
07:09
u can create a framebuffer
07:09
which u can carry over
07:09
to ur os
Avatar
ws-client1 BOT 2023-07-07 07:09:38Z
<Jupstar> also depends if u want good perf
07:09
<Jupstar> or just working
Avatar
and it usually provides a ez way to put text
07:09
just working for now
Avatar
ws-client1 BOT 2023-07-07 07:10:02Z
<Jupstar> the threading part is also hard with GPUs
07:10
<Jupstar> u need to split all tasks into groups
Avatar
imagine having multicode support
Avatar
ws-client1 BOT 2023-07-07 07:10:19Z
<Jupstar> its probably better to first learn compute shaders
Avatar
couldnt be me
Avatar
ws-client1 BOT 2023-07-07 07:10:24Z
<Jupstar> so u get a feeling xd
Avatar
multicore
07:10
*
07:10
anyway xd
Avatar
Hi, could you give us some short feedback on what the current status is with the accounts or if all plans have been discarded in this regard? Last November, the announcement was already made, but unfortunately rejected after a short time. The majority was in support according to the survey and even if I read through the github thread (https://github.com/ddnet/ddnet/issues/3411) about 2 years ago, there seem to be cool ideas and solutions for realization? If I filter it correctly two main problems exist:
  • Players do not want to lose their progress/ranks
  • Players don't want to be forced to register+too much effort? The first point I can absolutely understand, but there are several solutions to authenticate or not? The process at KoG I think is quite complicated, but you could also turn the process around, first everyone can register and if there are problems/duplication you have to authenticate yourself. And for authentication then an IP match is made, a demo match(Teehistorian), possibly mapsaves, settings match? etc. . There should be enough possibilities, it is just a very big one-time effort. The second point I can not understand. And even if, the advantages clearly outweigh?
  • less moderation capabilities(harassment, streamsniping,racism,...)
  • block non-registered (and newly-registered) players on ddos
  • filter out fake map finishes, botters under other names? And in general, thank you for your work to make DDNet a little better every day, I would really appreciate a quick feedback!
If anyone wants to summarize the discussion, feel free to. I just wanted to create the issue now.
heartw 3
Avatar
Avatar
Curvelo
It seems players have some sort of script they use to attack the servers... Their ping ramps up to ~600 then to 999 and the lag is unbearable, it's killing the fun in the Brazil servers; BUT if the players can somehow vote-kick the player with 999 ping, everything goes back to normal in a matter of seconds. This effect has been well known by players in the servers I play in for a while now, but it's hard to vote-kick the player because after the attack starts the server is very slow to respond so the vote-kick ends before people can react to it; and most players just close the game, leaving behind their ghosts that don't vote. But looking at that attack behavior, I assume it's very likely that it's a denial of service exploiting actual game packets, and not DDOS (as in multiple IPs attacking), neither a normal UDP flood since kicking them from the game wouldn't stop that (unless kicking a player adds their IP to an iptables filter, and I very much doubt that). Shouldn't it be possible to detect such attacks and kick the player automatically, inside the server code? Or maybe a setting to kick any player with obscenely high ping? I know I could probably do this on my own server, but wouldn't it be reasonable to have something like this on the official servers?... It just feels like this denial-of-service exploit script has reached a lot of hands, the servers are attacked so much that the game is not as popular as it should be... And they even often brag about it: "touch me and I lag the server" and such (got pictures but I don't think it's relevant to this conversation).
we need to run a tcpdump at the time of attack and check it out. and then fix the bug we find. we could additionally maybe also think about an automatic detection when a player causes more traffic than is usual
Avatar
ws-client1 BOT 2023-07-07 10:19:36Z
<Jupstar> There is no general plan agreed on. Everyone has own ideas. I'm not aware of anyone having done anything
10:19
<Jupstar> only thing most devs agreed on is, accounts should be optional
Avatar
Avatar
Curvelo
Also hypothetically: if I open a "bait" server, leave it on with tcpdump or WireShark registering the traffic flow and HOPE somebody runs this particular attack on it, then pinpoint how the attack works, would a Dev possibly see that and go for a fix?
that works, if the bait server is attacked. maybe it's just too much work for too little probability of gain
Avatar
Avatar
ws-client1
<Jupstar> There is no general plan agreed on. Everyone has own ideas. I'm not aware of anyone having done anything
my quic impl comes with an easy way to authenticate clients with key pairs
Avatar
i'm all for it
10:21
i just don't know if they should be optional. faking sucks
10:21
especially as a means of ban evasion
10:21
it even sucks when they're trying to be funny
Avatar
I suggest to redirect your comments to the issue
10:22
anything posted here will be forgotten in a week
10:22
i thought issue was dead?
10:22
don't wanna bump
Avatar
it was bumped four times in the past 24 hours, you'll be fine
Avatar
I just have the feeling that there are few loud voices and the absolute majority would be in favor, thats why i asked what the current state is
Avatar
ws-client1 BOT 2023-07-07 10:25:52Z
<Jupstar> realistically: use steam login bcs almost all ppl use steam.. use some weird own key management for the few hipsters xd
Avatar
what the current status is with the accounts or if all plans have been discarded in this regard?
not implemented, nothing particular agreed on what exactly we want
The majority was in support according to the survey
I'm not sure if the majority is in favor of a specific accounts proposal, or whatever they associate with the nebulous "accounts" thing
The process at KoG I think is quite complicated, but you could also turn the process around, first everyone can register and if there are problems/duplication you have to authenticate yourself.
I don't think we want to avoid manual intervention (like KoG does) as much as possible
less moderation capabilities(harassment, streamsniping,racism,...)
not sure how good this will work, but we'll see
block non-registered (and newly-registered) players on ddos
this would probably not help, so it won't be done (because it disadvantages those players)
filter out fake map finishes, botters under other names?
something to that effect will actually be possible with accounts
heartw 3
10:28
@iTom ^
Avatar
Thank you heartw
Avatar
i mean this as nicely as possible but i don't think kog has as many brains behind it as ddnet does, esp. for something like this. their system works but it's really convoluted and can be done much more seamlessly
10:34
the kog account system should not be the example of what an account system in this game would look like
Avatar
there is nothing done because there is no clear path decided
10:34
and working on something to be rejected sucks
Avatar
yea it's nearly impossible to get started solo because the scope of the projects extends past the client or the server or w/e
10:35
ppl have to agree for any real work to be done
10:41
i love hopping on github to argue with some person i've never met
10:42
does that include me, or is it "never met before, even online"?
Avatar
nah not you
10:43
i fell into the heinrich trap tho
Avatar
i have to sleep
Avatar
good night 🙂
11:00
09a2a08 Version 17.1 - def- d70fb5d Merge pull request #260 from ddnet/pr-17.1 - def-
Avatar
gentoo guru dev branch has ddnet 17.1 now
11:10
fastest in the west
Avatar
ws-client1 BOT 2023-07-07 11:10:45Z
<Jupstar> first class support
Avatar
f4e8515 Add Galician language (thanks to TormentaDeFacha and Mercadona) - heinrich5991 db707f2 Add Galician flag from gu (overdue_) from Discord - heinrich5991 443e1a8 Merge #6812 - bors[bot]
Avatar
Avatar
heinrich5991
we need to run a tcpdump at the time of attack and check it out. and then fix the bug we find. we could additionally maybe also think about an automatic detection when a player causes more traffic than is usual
if it's a player with his single IP sending more traffic than usual
12:14
just add a rate limit per IP
Avatar
It might not even be the input he sends causing the lags
Avatar

Checklist

  • [ ] 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-ad...
Avatar
Requires some experiments first Checklist Tested the change ingame Provided screenshots if it is a visual change Tested in combination with possibly related configuration options Written a u...
12:46
whats the blocker here?
12:46
or its just not done yet
12:47
oh u pushed 30 mins ago
Avatar
see the linked issue
Avatar
Avatar
Learath2
Just by writing that loop in a way that doesn't use "jumps" gives a 3x boost, fascinating
branch predictor and pipelining are the culprit
Avatar
b791718 Try to fix #6773 again - def- db0f5a4 Merge #6813 - bors[bot]
Avatar
@Jupstar ✪ does full screen give more fps? or just better input latency
13:57
vs borderless
13:58
it used to make big diff in the past right
Avatar
Avatar
Ryozuki
@Jupstar ✪ does full screen give more fps? or just better input latency
depends on the OS
Avatar
i think cuz direct raw calls
13:58
or smth like that
13:58
xdd
13:58
@Jupstar ✪ oh true
13:58
did linux always do it good
13:58
i think windows did it bad
Avatar
pretty much yeah
13:59
if the screen blocks the full window for me under KDE it apparently disables anything KDE related (compositor) etc.
13:59
then i get most FPS
14:01
windows behavior is undescripable in human words 😬
14:01
borderless != borderless xD
14:02
there is borderless window that can be resized and borderless window that cannot be resized the first is basically like a normal window and gets the full forced tripple buffer vsync from DWM the second is some weird edge case that dxgi probably uses internally and full "real" fullscreen completely removes control from windows to the graphics driver
14:02
thats the only max fps mode there xd
14:08
@Chairn when will u make chairn64 arch?
14:08
gigachad
Avatar
Avatar
Chairn
branch predictor and pipelining are the culprit
Not for the transformation in part 2 where just writing it in a way that's already optimized got him half the way there to his hand optimized assembly
Avatar
(but yes, pipelining explains the unexpected behaviour he got where optimizing out an entire instruction didn't change anything and the branch predictor while great not being as good as no branches explains the improvements possible)
14:39
((the more interesting part of that blogpost to me is how the compiler was unable to perform even this trivial restructuring not the performance characteristics of the code at each step))
Avatar
(((i see)))
Avatar
((( alarm )))
Avatar
((((rust))))
Avatar
((( panic )))
Avatar
((( abort )))
14:41
On the x86 computer architecture, a triple fault is a special kind of exception generated by the CPU when an exception occurs while the CPU is trying to invoke the double fault exception handler, which itself handles exceptions occurring while trying to invoke a regular exception handler. x86 processors beginning with the 80286 will cause a shut...
Avatar
((( SIGSEGV )))
Avatar
On the x86 computer architecture, a triple fault is a special kind of exception generated by the CPU when an exception occurs while the CPU is trying to invoke the double fault exception handler, which itself handles exceptions occurring while trying to invoke a regular exception handler.
14:41
kek
14:42
In QEMU, a triple fault produces a dump of the virtual machine in the console, with the instruction pointer set to the instruction that triggered the first exception.
14:42
pog debug
Avatar
fault-ception
Avatar
test result: ok. 71 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 4.11s
14:43
glory
14:44
honestly rust built in test framework is a must
14:44
C lacks so much
Avatar
c lacks everything
Avatar
@Jupstar ✪
14:49
@Learath2 we come
14:49
justatest
Avatar
but the crab still sucks. i prefer the anime girls 😬
Avatar
im also ok with a Tee
14:53
not ai
Avatar
yeah
Avatar
the best is the hairpin
14:53
its a &
Avatar
yeah
14:53
xd
14:54
14:54
xd
14:54
14:55
14:55
lol they actually dope
14:56
Avatar
thats imo the worst
Avatar
erlang is nice xd
14:58
@Voxel they calling
Avatar
who is that
15:00
😬
Avatar
Avatar
Ryozuki
Click to see attachment 🖼️
oh yeah this is not ai i can tell from how good it looks lol
😬 2
15:01
halftone shading 🤤
Avatar
accept that machines are better than humans sooner or later
15:02
its inevitable voxel
Avatar
human passion and effort will always shine brighter
Avatar
thats why im so against machine art if everything can make beauty in a snap then it loses its value no one wants to buy art cuz there's tons in machine learning (edited)
15:03
ok no more memes
15:03
15:04
we need this emote tho
Avatar
no we dont
Avatar
Avatar
Voxel
thats why im so against machine art if everything can make beauty in a snap then it loses its value no one wants to buy art cuz there's tons in machine learning (edited)
then machines have to compete to make it even better
15:04
just lke machines have to do it now with performance
Avatar
Avatar
Jupstar ✪
then machines have to compete to make it even better
it wont be anything special tho because we know that it didnt take that much passion to make it
15:05
when machines are able to care about detail and deeper meaning then its over
Avatar
Avatar
Voxel
it wont be anything special tho because we know that it didnt take that much passion to make it
well i have a different POV on this
15:06
if machines are best in everything, u value even more that humans can get close to it
15:06
just like u admire CSGO players for their aims
15:06
even tho u know machines would always hit
15:07
its just that u do it for a different reason
Avatar
its more fun when you experience it yourself
15:07
like i dont caaare about fng montages, i care about PLAYING fng despite how bad i am at it
Avatar
if u like drawing. u can also do it in a world where machines do everything for us
15:08
if u dont like drawing, but like to rate art.. u might prefer to just generate art
Avatar
but then ill be surrounded by snotty brats who will brag about their pitty machines
Avatar
to me this is simply nothing that would destroy whatever u like
15:08
it simply makes it more optional
Avatar
Avatar
Voxel
but then ill be surrounded by snotty brats who will brag about their pitty machines
no, u can then completely ignore everyone
15:08
machines deal with kids for u
15:08
😬
Avatar
@Voxel what do you think how much time Ravie wasted to add all the new skins https://discord.com/channels/252358080522747904/985717921600929872/1126527627797217280 even tho we already have the code to automatically do it with a machine Now u could say: he liked doing it or he liked the result, that new skins are added if he likes doing it, he can still continue doing it, the bot is optional if he likes the result only, he has a much easier time
Avatar
you're comparing apples to oranges
15:15
art isnt some boring task
15:15
at least not to me
Avatar
to me it is
15:15
the result is nice tho
Avatar
Avatar
Voxel
art isnt some boring task
it can be
15:15
imagine making a icon set
Avatar
and thats my point
Avatar
like fontawesome
15:15
xd
Avatar
xD
Avatar
code is art
15:15
in the most logical form
Avatar
u can still do art as u want
Avatar
Avatar
Ryozuki
imagine making a icon set
unironically i literally asked fokko if i could refine his icons for the custom tileset
15:16
i still need to finish it
Avatar
coding in rust is art
Avatar
@Voxel can u imagine ryo likes coding in rust
Avatar
insert rust trollface
Avatar
CAN U IMAGINE THAT
Avatar
i cant comprehend how
Avatar
@Voxel whats mograph
15:16
i stalked ur bio
Avatar
motion graphics
Avatar
Avatar
Ryozuki
i stalked ur bio
inb4 "they/them in bio"
Avatar
if i had freetime id spill out all my ideas in my head
15:17
but as of right now they're just vaulted
Avatar
Avatar
Ryozuki
Click to see original message
?XD
15:18
most random emote ever
15:18
today i draw crabs sitting at a camp fire
Avatar
https://www.google.com/search?q=%22trigger+off+quickness%22 this professor uses terminology so far from the norm that the only thing you can find online is a thesis by someone from my uni
15:19
It's so damn annoying following courses by professors that think they know better than everyone else
Avatar
Avatar
Ryozuki
imagine making a icon set
i wanna make an icon set for server settings like why do we still need to write in lines of code
Avatar
Like chill, you aren't Isaac Newton, no need to invent new terminology anymore, it's classical control theory, it's been around for a century now, things have proper names
Avatar
Avatar
Learath2
It's so damn annoying following courses by professors that think they know better than everyone else
rust dev? joke joke xd
Avatar
He could never be a Rust dev, he wouldn't be allowed to reinvent fire
15:21
The dude wrote a book that uses non-standard terminology, he sells it for 50 euros and his course follows that book for everything
15:22
i see
15:22
he wants ppl to buy the book
15:22
sadge
Avatar
It's either that or he thinks he has a god complex
Avatar
conflict of interest
Avatar
He rewrote every proof in classical control theory in terms of the sensitivity function because he has an obsession with it
15:23
Every other resource uses the closed loop transfer function which is 1 - the sensitivity function
Avatar
idk what that is
Avatar
He basically adds and subtracts a 1 at places so he can make S appear
Avatar
im not a real engineer
15:23
kek
15:23
@snail justatest
15:24
In control engineering, the sensitivity (or more precisely, the sensitivity function) of a control system measures how variations in the plant parameters affects the closed-loop transfer function. Since the controller parameters are typically matched to the process characteristics and the process may change, it is important that the controller p...
Avatar
Like proof you find everywhere is in terms of T, he'll multiply everything by -1, do +1 -1 and then write S - 1 instead. Absolute brain damaged behaviour
15:25
As soon as I have my diploma in hand I'll write him a very colourful email
15:25
i see
Avatar
@Learath2 on a scale from 1 to 10 how would u rate ur C skills
15:26
why
15:26
ur the walking c standard
Avatar
ryo says u are god
Avatar
he rates u 11/10
Avatar
Yes but people would include non-standard stuff in C and I'm not very familiar with that stuff
Avatar
but a rust god is better
Avatar
Avatar
Learath2
Yes but people would include non-standard stuff in C and I'm not very familiar with that stuff
like the weakref i sent? xd
Avatar
as good as learath is, he is probs 1/10 bcs c is impossible to udnerstand xd
Avatar
Avatar
Ryozuki
like the weakref i sent? xd
Yes, real C black-magic knowers know all the gcc extensions by heart too
Avatar
static void run_main(run_return_values_t *, void *, uint64_t) __attribute__((weakref("_mlir_ciface_program::program::main")));
15:27
EZ
Avatar
I still have to open the docs for that stuff 😄
Avatar
Avatar
Learath2
Yes, real C black-magic knowers know all the gcc extensions by heart too
my coworker did this
Avatar
@Ryozuki your rust knowledge: x/10?
Avatar
@Learath2 but try to learn more rust, the problem with C in real world is its only used in legacy code bases mostly (or maybe in new embedded projects?) but legacy code is pain iiirc
15:29
totally not trying to evangelise u
Avatar
Avatar
Jupstar ✪
@Ryozuki your rust knowledge: x/10?
mixed feelings, i consider myself good, but there is always better
Avatar
Rust knowledge isn't rated out of 10, it's rated out of dtolnay
15:30
dtolnay is the only god
Avatar
I rate my rust knowledge at 0.3 dtolnays
Avatar
dtolnay has 103 repositories available. Follow their code on GitHub.
15:30
Avatar
i wonder how many good crates are unknown, bcs there are trillion crates doing the same thing xDD
Avatar
look his repos
15:31
@Learath2 i also fail his quizz
15:31
xd
15:31
What is the output of this Rust program?
15:31
he is no human
15:31
anti burnout
15:31
15:32
he has 161 sponsors
Avatar
@Jupstar ✪
Avatar
he also
15:32
gives invaluable insight to rust compiler devs itself
15:32
xdd
15:33
they ask him when deciding stuff
Avatar
i give the fuck up
Avatar
dont worry
15:40
i couldnt answer either
15:40
xddd
15:40
i knew fn is pointer sized
15:40
and passing a function itself is zero sized
15:41
but idk i couldnt match the output
15:41
oh
15:41
makes sense
15:41
i put 8 like a retard but its 2 for > 2
Avatar
@Robyt3 you made this change, right? how about an hourglass icon instead of putting ... next to the arrow?
Avatar
Could work. Looks like there is an hourglass icon in font awesome. Maybe we could also implement a generic animated progress spinner for this and other use cases where things are loading or saving with indeterminate progress.
Avatar
Avatar
Robyt3
Could work. Looks like there is an hourglass icon in font awesome. Maybe we could also implement a generic animated progress spinner for this and other use cases where things are loading or saving with indeterminate progress.
I like that idea too, we could just spin this icon
Avatar
I don't know how complicated rotating text with our engine would be
Avatar
ah well, I assumed it would be simpler than a new custom thing
Avatar
I am currently working in my Android project in which i need the progress bar to be as shown .
16:04
Something like this
16:04
Well, just in white I guess, but circular
Avatar
I guess it's better to do something simple that loops without needing an exact duration, we already have actual progress bars where needed
Avatar
The full screen loading popup that appears after map/demo/skin loading takes longer than 0.5 seconds is not a nice user experience though
16:10
Would be cool if we do most loading in the background without blocking the client and eventually showing the somewhat hacky loading popup
Avatar
well anything that takes less than a few seconds doesn't need to show actual progress, just indicate that something is happening
Avatar
yeah, like if you open the assets page it should start loading the assets in the background and just show a spinning icon
Avatar
suggestion: ban every player who says "bro, check out this client: "
16:13
it would be the best anticheat
Avatar
b8e8538 Update brazilian_portuguese.txt - rffontenelle 6bafafe Update translation credits in brazilian_portuguese.txt - rffontenelle 3b76d29 Merge #6814 - bors[bot]
16:48
true coder music
Avatar
With 17.1 64 bit steam. ``` 0x000000014012eadd: CLayerTune::FillSelection(bool, CLayer*, CUIRect) at src/game/editor/layer_tiles.cpp:2095 0x000000014011fde2: CEditor::DoMapEditor(CUIRect) at src/game/editor/editor.cpp:2656 0x0000000140120a5c: CEditor::Render() at src/game/editor/editor.cpp:6169 0x0000000140121591: CEditor::Input() at src/game/editor/editor.h:752 (inlined by) CEditor::OnRender() at src/game/editor/editor.cpp:7147 0x00000001400289e9: CClient::DebugRender() at src/engi...
Avatar
The brush passed to FillSelection can be nullptr when the selection is empty. Regression from #6648. Closes #6815.

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
  • [X] Considered possible null pointers and out of bounds array indexing
  • [ ] Changed no physics that affect ...
Avatar
Reported by texnonik:
my editor crashed when i pressed Ctrl+v in color code i remember for some reason when i select all corners left top wasn't selected first time . just corner from previous group selected color copy it and then in other group quads i was selecting all corners to put color (i did it > and saw that one corner was not selected )but i didn't take left top so select + left top corner again and when i paste code it crashed maybe it could be that my client was runnin...
Avatar
The proper offset for the first available weapon is provided only for Hammer but sometimes (in some mods) the character has no hammer and the icons got a wrong left margin.

Before

!image (the hammer offset is correct) !image but if the character has no hammer then the things go wrong. ![image](https://...
18:20
7eb79fd Fix editor crash when filling entities layer with empty brush - Robyt3 83a2ad0 Merge #6816 - bors[bot]
Avatar
d16fb87 Add multi view - Vy0x2 0b8ed51 Merge branch 'master' into pr-poc-mv-clean - Vy0x2 f397ba4 Minor fixes - Vy0x2 6dcb2d1 Merge #6663 - bors[bot]
Avatar
a2ad543 CHud: Refactor weapons rendering (1/3) - Kaffeine ba7be69 CHud::RenderPlayerState: Split ninja state rendering - Kaffeine bf956c4 CHud::RenderPlayerState: Rework weapons rendering (+provide offsets) - Kaffeine 74789f8 Merge #6818 - bors[bot]
Avatar
Hey, does https://ddstats.org get regular updates? (edited)
Avatar
every week
Avatar
alright
Avatar
i host it
Avatar
nice :)
Avatar
@Ryozuki I thought it's being updated daily? ^^
Avatar
Avatar
murpi
@Ryozuki I thought it's being updated daily? ^^
initially ye but its too much load xd cuz the cache invalidates fast
Avatar
Use separate columns for icons and spacing like in the server browser. Always show scrollbar for more consistent layout. Scale down filename font size if it's too long. Show ellipsis if still too long with minimum font size. This is also applied to the demoname shown in the demo player. Hide number of markers and length if the demo is invalid. Screenshots:
  • Browser:
    • Before:
!Browser old...
Exported 405 message(s)