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 2021-10-03 00:00:00Z and 2021-10-04 00:00:00Z
07:40
66baca4 Update libs, add libpng 1.6.37 - def- ca5394e Merge pull request #17 from ddnet/pr-libs - def-
Avatar
Avatar
Learath2
it's nice to finally have someone that knows what they are doing with xdp and has access to some decent hardware 😄
Lesson for today: If you're going to allocate a bpf map entry for each unverified packet, make sure it's atleast limited to a certain size so it won't fill up the entire RAM, rendering the entire logic for said filter unusable 😉
07:50
Easy solution is BPF_MAP_TYPE_LRU_HASH
Avatar
Or avoid any allocation for unverified packets if at all possible
Avatar
We allocate the entries to verify challenge
07:54
if(check_ddnet_handshake_header(udp_bytes, data_end)){ uint32_t challenge = bpf_get_prandom_u32(); bpf_map_update_elem(&ddnet_hashes_list, &challenge, &val BPF_ANY);
07:55
then once we receive the challenge reply, it checks that map to match ip addr & challenge, then deletes the hash from the list
07:55
I've simply changed the type to LRU HASH, that way if the map fills up, it won't cause huge issues
07:55
and instead "recycle" old entries
07:56
Speaking about xdp
07:56
$ddos
Avatar
flag_unk server| +- | ▲ pps | ▼ pps 🇪🇺 MAIN | up | 570| 565 🇪🇺 MASTER| up | 95| 145 flag_unk FRA | up | 2.0k| 2.31k 🇩🇪 GER1 | up | 123| 96 🇩🇪 GER2 | up | 428| 508 🇵🇱 POL2 | up | 223| 241 🇷🇺 RUS4 | up | 2.45k| 2.79k 🇹🇷 TUR2 | up | 701| 706 🇮🇷 IRN | up | 363| 197 🇨🇱 CHL2 |ddos| 1.44k| 298 🇧🇷 BRA3 | up | 1.12k| 1.36k 🇺🇸 USA | up | 8| 7 🇺🇸 USA2 | up | 383| 494 🇨🇦 CAN2 | up | 37| 36 🇨🇳 CHN1 | up | 8.68k| 12.98k 🇨🇳 CHN2 | up | 1.96k| 2.47k 🇨🇳 CHN3 | up | 2.96k| 3.78k 🇨🇳 CHN4 | up | 3.18k| 3.94k 🇨🇳 CHN5 | up | 3.51k| 4.49k 🇨🇳 CHN6 | up | 3.44k| 4.26k 🇨🇳 CHN8 | up | 3.05k| 3.73k 🇯🇵 JAP2 | up | 2.17k| 2.6k 🇰🇷 KOR2 | up | 2.35k| 2.67k 🇸🇬 SGP2 | up | 247| 340 🇿🇦 ZAF2 | up | 134| 112
Avatar
._. FRA is most certainly under attack right now
Avatar
Nope, it's not
Avatar
Had trouble connecting & staying on
07:58
but I guess it got mitigated
Avatar
No, there is no mitigation active right now and I saw no attack
07:58
Just judging by the fact I couldn't connect at all really
Avatar
chillerdragon BOT 2021-10-03 08:01:37Z
I am currently hacking around with freeze textures because i tend to confuse frozen tees with ninjajetpack or normal ninja does the client know if other tees are frozen?
08:07
DDraceNetwork, a cooperative racing mod of Teeworlds - ddnet/gameclient.h at 4ee5aa585b6bd11f4e12522ca9d6572db460ce05 · ddnet/ddnet
Avatar
Is this server-sync'ed too?
Avatar
chillerdragon BOT 2021-10-03 08:08:32Z
i think the client started at some point to reimplement server logic for better prediction
Avatar
Just asking as otherwise players could just compile the client, and force isFrozen to false, no?
Avatar
chillerdragon BOT 2021-10-03 08:08:53Z
I would be very suprised if the client could sync up to the server and tell it about state
08:08
no :D
Avatar
Good good
Avatar
chillerdragon BOT 2021-10-03 08:09:07Z
this is not minecraft haha
Avatar
Just wondering as i've actually seen cheat clients for this
08:09
(mainly people complaining about it in #reports) (edited)
Avatar
chillerdragon BOT 2021-10-03 08:09:27Z
i doubt that
08:09
what did you send?
08:09
image.png
Avatar
# reports
08:10
Anyway, time for work. 👋
Avatar
chillerdragon BOT 2021-10-03 08:10:11Z
the tw protocol is pretty safe regarding cheats by passing physics
Avatar
iirc, the protocol is mostly just the client sending keyboard input to the server and the server returning a gamestate
Avatar
chillerdragon BOT 2021-10-03 08:34:11Z
ye
08:34
how it should be in any sane game
Avatar
chillerdragon: uwu
Avatar
chillerdragon BOT 2021-10-03 08:36:43Z
OwO
08:37
screenshot_2021-10-03_10-36-55.png
08:37
send halp itube they bully me while coding .-.
Avatar
Undefined symbols for architecture x86_64: "_SCDynamicStoreCopyProxies", referenced from: _Curl_resolv in libcurl.a(libcurl_la-hostip.o) ld: symbol(s) not found for architecture x86_64

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 if it works standalone, system.c especially
  • [ ] Considered possible null pointers and out o...
Avatar
[236/236] Linking CXX executable DDNet real 0m13.971s user 1m55.663s sys 0m7.239s
08:53
compile time on r5 5600x
08:53
with clang
Avatar
congrats on the update
Avatar
thanks
Avatar
Release build?
Avatar
cmake .. -GNinja -DMYSQL=ON -DCMAKE_BUILD_TYPE:STRING=RelWithDebInfo \ -DCMAKE_EXPORT_COMPILE_COMMANDS=ON -DVIDEORECORDER=ON -DDOWNLOAD_GTEST=ON \ -D_CMAKE_TOOLCHAIN_PREFIX=llvm-
08:54
ye
08:54
i think my old cpu was bottlenecking the gpu
08:54
on dota i got nearly 50 more fps
08:55
well i also got new ram at 3200mhz
08:55
from 2933
08:55
but i doubt it matters much
Avatar
Twice as fast as my i7 6700k (28s)
08:56
with clang?
Avatar
yes, same command as you
Avatar
ill try with gcc
08:56
well i had this too export CXX=/usr/bin/clang++
Avatar
ah, llvm- is not enough
Avatar
20 s then
Avatar
17.7s for me with gcc
08:57
so gcc is slower
08:58
which means clang is even better for development
08:58
faster iterations
Avatar
Avatar
chillerdragon
send halp itube they bully me while coding .-.
I come in 1 hour
Avatar
with specific compile options or on specific builds Also applies to https://ddnet.tw/settingscommands/

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 if it works standalone, system.c especially
  • [ ] Considered possible null pointers and out of bounds array indexing
  • [ ] Changed no physics that affect existing maps
  • [ ] Tested ...
Avatar
@Learath2 weird behaviour on GER1 server
13:20
everyone got connection problems
13:21
without attacks :D after i rejoined it was also fully okay again
Avatar
should i think about endianness while using std streams?
Avatar
You should almost never think about endianness
justatest 1
Avatar
A teeworlds data file will have a magic at the top. From which you can determine whether you need to flip or not
13:34
(idk why that approach was taken instead of always saving datafiles little endian and swapping on big endian or vice versa)
troll 1
Avatar
Avatar
fokkonaut
without attacks :D after i rejoined it was also fully okay again
Might be caused by handshake timeout(?)
Avatar
yeah, no sane in this thing
Avatar
meh, 130 clients handshaked
Avatar
Avatar
chillerdragon
screenshot_2021-10-03_10-36-55.png
chillerdragon: send ur client version
Avatar
ger1 is so laggy rn
14:02
@Fän
Avatar
dont think i caught it on time
14:15
got it
Avatar
why is it laggy?
14:25
connection problems again
14:26
wtf
Avatar
that's me recompiling the code
Avatar
DUDE
14:26
D:
14:26
omg
14:26
i tohught saves are gone
Avatar
well, if people wouldnt throw attacks using protocols from 1998
14:26
towards it (edited)
14:26
this wouldnt happen
14:26
anyway, there we go
Avatar
just dropping any unknown protocol now
Avatar
ok, good to go now
Avatar
you probably fucked a lot of runs with this btw
Avatar
and saved a lot of them in the future
14:28
Rather have it taken care of now than never tbh (edited)
14:30
I'm surprised how protocols from literally 1998 are being used to attack stuff nowadays
Avatar
who attacked, do you know that?
Avatar
nope, doesnt matter anyway
Avatar
is there an attack running rn?
Avatar
but was?
Avatar
any attack that would affect the server should show up @ $ddos
14:31
and yes, until I patched that flaw (edited)
Avatar
oh okay
Avatar
Code in germany is really far behind as it's quite outdated
14:33
and can't be updated to up2date until the new router comes in (edited)
Avatar
still lagging
Avatar
no attack here
Avatar
well
14:34
its lagging :D
Avatar
Might be you?
14:34
like i said, no attack running
14:34
$ddos
Avatar
flag_unk server| +- | ▲ pps | ▼ pps 🇪🇺 MAIN | up | 659| 652 🇪🇺 MASTER| up | 105| 153 flag_unk FRA |down| | 🇩🇪 GER1 | up | 2.02k| 2.52k 🇩🇪 GER2 | up | 3.01k| 3.61k 🇵🇱 POL2 | up | 475| 529 🇷🇺 RUS4 | up | 4.37k| 4.88k 🇹🇷 TUR2 | up | 1.93k| 2.12k 🇮🇷 IRN | up | 232| 47 🇨🇱 CHL2 |ddos| 1.41k| 199 🇧🇷 BRA3 | up | 2.03k| 2.53k 🇺🇸 USA | up | 33| 35 🇺🇸 USA2 | up | 234| 269 🇨🇦 CAN2 | up | 44| 63 🇨🇳 CHN1 | up | 8.03k| 9.41k 🇨🇳 CHN2 | up | 900| 1.2k 🇨🇳 CHN3 | up | 2.03k| 2.56k 🇨🇳 CHN4 | up | 2.98k| 3.63k 🇨🇳 CHN5 | up | 2.84k| 3.48k 🇨🇳 CHN6 | up | 5.07k| 6.37k 🇨🇳 CHN8 | up | 2.62k| 3.33k 🇯🇵 JAP2 | up | 2.16k| 2.56k 🇰🇷 KOR2 | up | 2.18k| 2.53k 🇸🇬 SGP2 | up | 310| 452 🇿🇦 ZAF2 | up | 222| 188
Avatar
more likely the server
14:34
^^
14:34
i am not lagging
14:36
then it has to be the CPu
Avatar
You mean the CPU running at 10%?
Avatar
or some other hardware
14:37
idk
14:37
its definitely the server
14:38
considering that most ppl are 19-40ms, atleast as of right now, I don't think anything major is going on
Avatar
have you ever joined and tested yourself?
Avatar
I am in it right now.
Avatar
its not unplayable but there are stutters
Avatar
jumping around with no lags whatsoever.
Avatar
You're also at 38ms
14:39
🙂
14:39
Have you tried reconnecting?
Avatar
wont help lol
Avatar
no im in the run
Avatar
I'm jumping around with no lags whatsoever
14:40
Only thing i could think of is that it somehow messed up packet sync or whatever during the time I had to recompile / restart filtering
14:41
which i've seen happening in source games a lot (edited)
Avatar
zooming out a lot makes the game lag
14:54
only on ger1
14:55
(not the game, but it looks like the traffic doesnt work correctly, still > 500fps)
Avatar
Avatar
Fän
that's me recompiling the code
Making changes in production just hits differently 😉 😉 (edited)
Avatar
@Fän seems like ur firewall is not working correctly yet
Avatar
Avatar
fokkonaut
@Fän seems like ur firewall is not working correctly yet
Maybe its anti fokkonaut 😜
Avatar
Avatar
SPYRES
Making changes in production just hits differently 😉 😉 (edited)
Didn't affect much in this case, but we usually only do this during "emergencies"
14:56
or well, in this case, getting things to run ok
Avatar
Avatar
Fän
Didn't affect much in this case, but we usually only do this during "emergencies"
Yeah ik. I'm just messing with yah. I do it as well on our firewall. Waste time in CAB.
Avatar
Avatar
fokkonaut
(not the game, but it looks like the traffic doesnt work correctly, still > 500fps)
idk how that would be related to game traffic / filtering. Once you are connected, you're whitelisted to send / receive traffic. There's no "traffic blocking" at that point
14:57
Like I said, try rejoining. Chances are something messed up during the reconnect.
Avatar
When you zoom out, you tell the server your zoom level
14:58
maybe it's because you receive too many objects then?
Avatar
Ok, like I said, you're either whitelisted to send traffic, or not. There's no in-between.
Avatar
Reconnecting doesnt help
14:58
Maybe try it yourself ^^
Avatar
I did a while ago
Avatar
Again?
Avatar
If I could I'd let deen host at where I work. 20GB links and we own a /16 on the internet. Pitty I dont own the organisation 😩
Avatar
On my own server with way more objects it doesnt lag at all
Avatar
Avatar
SPYRES
If I could I'd let deen host at where I work. 20GB links and we own a /16 on the internet. Pitty I dont own the organisation 😩
Even with "20gbps" links, if your server can't handle the l7 load, there's not much you can do
14:59
from deen's blog post, the server literally dies at < 100mbps
Avatar
@Fän just tried it again, it really is only on your server
Avatar
Avatar
fokkonaut
@Fän just tried it again, it really is only on your server
hm, maybe fragment-related?
15:00
i just started dropping fragmented responses as this would bypass the filtering
15:00
but i can just let whitelisted clients send fragments, shouldnt be an issue
Avatar
it seems to be only on jao shooter
Avatar
Any other GER1 server works ok?
15:01
that's odd, maybe map-related or something?
Avatar
i guess, but this is also the one with most players
Avatar
other players have no impact on your network performance
15:01
or mitigation
15:01
or anything really (edited)
15:01
We've kept that in mind
Avatar
Avatar
Fän
other players have no impact on your network performance
of course, more objects to be sent, i dont know how your firewall is constructed
Avatar
We do not perform any rate limiting.
Avatar
Avatar
Fän
Even with "20gbps" links, if your server can't handle the l7 load, there's not much you can do
True but we got ddos mitigation upstream as well by our ISP before it comes to us over the 20Gbps links. I dont see why it wouldnt not handle it. We got a proper VMware infrastructure. But things like XDP and reading cloudflare blogs is more interesting.
Avatar
like i said, once you're validated, you're ok to throw as much traffic as you want
Avatar
then it seems like i am a psycho (edited)
15:02
and there is no lag
Avatar
maybe a bug?
15:03
I have no idea, but i'm on there just fine
15:03
surely odd though
Avatar
zoom out
15:03
max
15:03
with opengl 3 on, there should be a limit in zooming out
15:03
and that state is still playable with 500 fps at least
15:03
for me, but the network is lagging, and thats only on this server
Avatar
Avatar
SPYRES
True but we got ddos mitigation upstream as well by our ISP before it comes to us over the 20Gbps links. I dont see why it wouldnt not handle it. We got a proper VMware infrastructure. But things like XDP and reading cloudflare blogs is more interesting.
"ddos mitigation" which is based on best-effort. You will still see >1Gbps leaks every now and then. There's not just packet size to consider, but also the rate of those coming in.
15:04
From what i can see, ddnet can handle about 300k pps with a decent CPU
Avatar
Avatar
fokkonaut
for me, but the network is lagging, and thats only on this server
tried any other ger1 server though?
15:05
I'll check, my mac won't let me zoom out though, so it might take a while
Avatar
i'll check if thats the map, because it has an unusual amount of draggers and @deen changed the networkclipping to always send all objects in your area zoom distance (which on my server again works fine with wwaaaay more objects (so many that the snap fills up to max size when zooming out completely))
Avatar
Maybe it is fragment-related after all.
15:06
We'll see in a moment
Avatar
its a bit too on another server with this map, but the current server seems to be the worst (probably due to all the players)
Avatar
check again?
Avatar
still
Avatar
Doesn't seem filter-related then.
Avatar
Avatar
Fän
"ddos mitigation" which is based on best-effort. You will still see >1Gbps leaks every now and then. There's not just packet size to consider, but also the rate of those coming in.
My palo alto seems to be doing a decent enough job. No complains yet. We dont go as in depth as XDP at where I work. We pay for things to work out the box and let someone else handle development! :p
Avatar
client restart also didnt help, must be the full snap then
Avatar
hmm actually
15:11
what about now?
Avatar
still
Avatar
yeah sorry, i can't really tell what it is then
15:12
1 mom
15:12
oh dang
15:12
might've fat fingered there
15:13
-_-
Avatar
yea seems like it did you crash the server?=
Avatar
the fuck is happening then
Avatar
give it a second
15:13
I fat fingered
Avatar
connection problems, out of game back to back
Avatar
ok, give it another try now
Avatar
same
Avatar
can't really tell then
Avatar
im pretty sure its all the draggers when zooming out
Avatar
I'll check this out when on pc
Avatar
chillerdragon BOT 2021-10-03 16:23:33Z
the client i use includes bots :-. so im not sharing it (@shiro)
chillerdragon: send ur client version
16:23
@ddnet staff pls no ban
Avatar
Avatar
chillerdragon
the client i use includes bots :-. so im not sharing it (@shiro)
its ok, bot is nice
Avatar
chillerbot confirmed
Avatar
nice, you can now generate mostly redundant comments automatically for your school projects greenthing
troll 3
Avatar
looks like the comments are incorrect
22:31
5287ccd Add zlib1.dll for curl, add pnglibconf.h - def-
22:32
As reported by Jupeyy in https://github.com/ddnet/ddnet-libs/pull/17#issuecomment-933034244

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 if it works standalone, system.c especially
  • [ ] Considered possible null pointers and out of bounds array indexing
  • [ ] Changed no physics that affect existing maps
  • [ ] Tested the change wit...
22:45
b733f36 Add zlib1.dll for curl, add pnglibconf.h - def- deaec27 Merge #4191 - bors[bot]
Avatar
Jupstar ✪ BOT 2021-10-03 22:49:38Z
is the SDL lib, the 2.0.16 release, or current master?
Avatar
e8bc6fc Add notes for settings only available - def- e7252b5 Merge #4190 - bors[bot]
Avatar
2.0.16 release with the 2 patches
Avatar
Jupstar ✪ BOT 2021-10-03 22:59:12Z
alright
22:59
well if somebody with wayland wants to test it, would be nice @nori or someone
22:59
i dunno, SDL merges like 200 wayland patches per second, so no idea when it works and when not xd
Avatar
e143555 Build macOS build - def- 1e8fd0d Merge #4189 - bors[bot]
Exported 259 message(s)