Guild icon
DDraceNetwork
Development / developer
Development discussion. Logged to https://ddnet.org/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 2025-02-20 00:00 and 2025-02-21 00:00
Avatar
david loves Jellycar Worlds 2025-02-20 00:01
@Robyt3 is there a good way to check if CNetClient::Recv() was called for the master server or a normal server? and does it even make a difrence
Avatar
GitHub BOT 2025-02-20 01:49

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
david loves Jellycar Worlds 2025-02-20 02:07
or even better is there a way to not look for a master server at all?
Avatar
GitHub BOT 2025-02-20 02:09
Closes #9705
  • fixed the issue where the shortcut caused the button hiding to fail
  • replaced the integer flag for m_AllowPlaceUnusedTiles with an enum class
  • All integer flags in m_AllowPlaceUnusedTiles have been replaced with the corresponding enum values from EUnusedEntities.
  • Parts that previously relied on implicitly converting -1 and 1 to true have been replaced with isAllowPlaceUnusedTiles().

Checklist

  • [x] Tested the change ingame
  • [ ] Provi...
Avatar
Avatar
david loves Jellycar Worlds
@Robyt3 is there a good way to check if CNetClient::Recv() was called for the master server or a normal server? and does it even make a difrence
Iirc master server traffic in ddnet is handled via https now so the client shouldn't be receiving any of it via this function (?)
Avatar
david loves Jellycar Worlds 2025-02-20 03:05
hmm
03:05
do you have any idea of any meathods of comunicatson from a normal server to the client outer then that funcson
03:06
as its inconsitent still
Avatar
What is the context this looks interesting 👀
Avatar
david loves Jellycar Worlds 2025-02-20 03:06
fuzzing
03:06
im trying to fuzz the networking system
Avatar
When you join .6 server from ddnet client i believe it is all handled through this engine/network* stuff
Avatar
david loves Jellycar Worlds 2025-02-20 03:06
with afl++
Avatar
david loves Jellycar Worlds 2025-02-20 03:07
hmm ok is there a download for a .6 server anywhere?
Avatar
Ddnet is 0.6, it comes with code for client+server
Avatar
david loves Jellycar Worlds 2025-02-20 03:08
oh ok
Avatar
Avatar
david loves Jellycar Worlds
do you have any idea of any meathods of comunicatson from a normal server to the client outer then that funcson
What is the code that you are trying to find?
Avatar
david loves Jellycar Worlds 2025-02-20 03:09
basicly ive made it so that the recv funcson always returns the same sequnce of packets but it still doesnt work the same if i simply copy the packets from a normal server
Avatar
Are u accounting for the tokens?
Avatar
david loves Jellycar Worlds 2025-02-20 03:09
what tokens?
03:09
so probaly not
Avatar
Wait leme get my laptop
Avatar
david loves Jellycar Worlds 2025-02-20 03:09
ok
Avatar
@david loves Jellycar Worlds u probably seen this already but, tw 0.6 protocol begins with a handshake where the server tells u ur token that it calculates from ur ip and its seed and stuff to work against spoofing
Avatar
david loves Jellycar Worlds 2025-02-20 03:12
ohhhhhh
03:12
that exsplanes a lot
Avatar
and every packet thats exchanged after that needs to contain that token
Avatar
david loves Jellycar Worlds 2025-02-20 03:12
thanks
03:12
so thats what that token i keep seeing is
Avatar
david loves Jellycar Worlds 2025-02-20 03:12
thanks so much
Avatar
david loves Jellycar Worlds 2025-02-20 03:13
wait so the sever tells you your token so why doesnt the emulated packets tell the client there token
Avatar
the connection sequence for tw 0.6 is like this 1. client sends server a connection request 2. server sends client an ack pkt basically with the token it calculated from its seed+clients ip 3. client sends that token back to prove it isnt spoofing then the rest of the connection stuff continues
Avatar
david loves Jellycar Worlds 2025-02-20 03:15
can you tell me where this happens?
03:15
also whats spoofing (edited)
Avatar
spoofing=malicious people sending junk from fake ips to make people lag
Avatar
david loves Jellycar Worlds 2025-02-20 03:15
ah ok. wait fake ips? how in the world do you fake a ip
03:16
also isnt that basicly just ddosing
Avatar
david loves Jellycar Worlds 2025-02-20 03:16
why cant fake clients do that too
Avatar
what is a fake client?
Avatar
david loves Jellycar Worlds 2025-02-20 03:16
the fake ips
03:17
why cant they pretend to be a real client
Avatar
they can pretend i guess but the replies wont reach them
Avatar
david loves Jellycar Worlds 2025-02-20 03:17
why not?
Avatar
if i send u a letter in the mail and give a fake return address
03:17
will i get ur reply?
Avatar
david loves Jellycar Worlds 2025-02-20 03:18
ah ok i see what you mean by fake ip now
03:18
do you know what funcsons handles this?
Avatar
yeah sec
Avatar
david loves Jellycar Worlds 2025-02-20 03:18
thanks
03:18
and also what verifys that the packet has the correct token
03:19
on the clients side
Avatar
Avatar
david loves Jellycar Worlds
and also what verifys that the packet has the correct token
afaik the token check is mostly happening on server side because this is usually where it needs to protect against attacks
Avatar
david loves Jellycar Worlds 2025-02-20 03:20
hmm well im faking a server not a client
Avatar
if u are just trying to do fuzzing for other purposes u could just sv_vanilla_antispoof 0 or something
Avatar
david loves Jellycar Worlds 2025-02-20 03:21
ah ok
03:21
is there ANY token checks on the client
Avatar
then connect with an old client that doesnt use tokens
03:21
tbh idk lol
03:21
old versions of tw 0.6 didnt have any concept of tokens
03:22
but that isnt useful for u probably
Avatar
Avatar
noby
then connect with an old client that doesnt use tokens
david loves Jellycar Worlds 2025-02-20 03:22
im faking the server. downgradeing would kinda moot the point of fuzzing
03:22
can ur fuzzing tool hard code the token?
Avatar
david loves Jellycar Worlds 2025-02-20 03:22
no but i could
Avatar
it is calculated based on the server hash and the client ip
Avatar
david loves Jellycar Worlds 2025-02-20 03:23
by just removing all of the token checks
Avatar
that works too
Avatar
david loves Jellycar Worlds 2025-02-20 03:23
and as far as i can tell from looking at the hex data the first 2 bytes are the packet type right?
Avatar
depends
03:24
do u have the wireshark dissector tool thing
Avatar
david loves Jellycar Worlds 2025-02-20 03:24
as it crashes on packet six wich starts with like 15 FFs
Avatar
Avatar
noby
do u have the wireshark dissector tool thing
david loves Jellycar Worlds 2025-02-20 03:24
no im just dumping the packets
Avatar
get that it will help u
03:25
Some Teeworlds stuff in Rust.™. Contribute to heinrich5991/libtw2 development by creating an account on GitHub.
Avatar
david loves Jellycar Worlds 2025-02-20 03:25
and by dumping i mean dumping the output from recv
Avatar
makes tw traffic more sensible
Avatar
david loves Jellycar Worlds 2025-02-20 03:26
this is the first 6 packets. after the 6th it crashes currently
03:26
and i have no clue why
Avatar
what crashes
Avatar
david loves Jellycar Worlds 2025-02-20 03:26
the game due to unknown NETADDR type 0
03:26
or sometimes -1mil something
Avatar
probably dumb q but, where are u printing this info from?
Avatar
david loves Jellycar Worlds 2025-02-20 03:27
and sometimes it doesnt crash
Avatar
this seems like a mix of relevant and irrelevant packets
Avatar
Avatar
noby
probably dumb q but, where are u printing this info from?
david loves Jellycar Worlds 2025-02-20 03:27
its the fake packets im sending recv
03:28
and its from a bunch of packets i got sent from recv
Avatar
the fffff... 696578742D
03:28
is a reply to server inforeq
03:28
probably isnt even necessary for fuzzing connection
03:29
10000002544B454E8FB79E2B
that looks weird edit; nvm actually
(edited)
Avatar
david loves Jellycar Worlds 2025-02-20 03:29
wait a reply? thats odd im only logging the data from Recv
Avatar
david loves Jellycar Worlds 2025-02-20 03:30
namely here
03:30
(that adds its length as 2 bytes and then the packets data to a file that im reading from now)
Avatar
its been a while but from what i remember, client sends this: 10 00 00 01 54 4B 45 4E FF FF FF FF then server sends: 10 00 00 02 54 4B 45 4E xx xx xx xx (aka token) then client sends: 10 00 00 03 xx xx xx xx (edited)
Avatar
david loves Jellycar Worlds 2025-02-20 03:32
hmm heres my code for converting it into hex if thats broken
Avatar
why not just printf("%02x
Avatar
david loves Jellycar Worlds 2025-02-20 03:33
i didnt know that exsited
03:33
can you send the full funcson
03:34
im still pritty new to c++
Avatar
lazy code but like for (int i = 0; i < size; i++) printf("%02x ", (unsigned char)data[i]); printf("\n");
Avatar
david loves Jellycar Worlds 2025-02-20 03:36
one sec while i rebuild
Avatar
i would suggest using heinrichs tool it gives u useful info like this
Avatar
david loves Jellycar Worlds 2025-02-20 03:38
ah wait i didnt relise that was ment sufficly for the game lol
03:38
it is just wireshark plugin that understands this game protocol
Avatar
david loves Jellycar Worlds 2025-02-20 03:40
ok yep there was indded a bug in my code
03:40
the firs packet is still odd but the second is what you said the server sends back
Avatar
read my edit,i was wrong about the second one
Avatar
Avatar
david loves Jellycar Worlds
ok yep there was indded a bug in my code
the first one here still seems odd though? am i missing something
Avatar
david loves Jellycar Worlds 2025-02-20 03:41
yea thats what i just said. idk why its there but aparently net_udp_recv(m_Socket, &Addr, &pData); returned that first for some reson
03:42
and i have ANSL so i know its not a oob read or something
Avatar
u should try using some network capturing tool to dump the raw traffic to rule out the logging as a possible source of error
03:42
idk whats ansl
03:43
could just tcpdump "udp and port 8303" -w test.pcap it
Avatar
david loves Jellycar Worlds 2025-02-20 03:43
oh wait i mean ASAN
03:43
yea
Avatar
david loves Jellycar Worlds 2025-02-20 03:43
sorry keep frogeting the acrinum
Avatar
Avatar
noby
could just tcpdump "udp and port 8303" -w test.pcap it
david loves Jellycar Worlds 2025-02-20 03:44
sure one sec
👍 1
03:45
ok had to grant wireshark admin 15 times before it would stop bugging me lol
Avatar
Avatar
noby
could just tcpdump "udp and port 8303" -w test.pcap it
david loves Jellycar Worlds 2025-02-20 03:45
how do i do that?
Avatar
wireshark is okay too
Avatar
david loves Jellycar Worlds 2025-02-20 03:45
oh wait is that a linux command lol
Avatar
wireshark is just a gui around tcpdump
03:45
basically
03:46
idk alot about windows
Avatar
david loves Jellycar Worlds 2025-02-20 03:46
fair but ill use tcpdump as i dont want to give you all my port info lol
Avatar
u dont have to give me any info
Avatar
david loves Jellycar Worlds 2025-02-20 03:46
yea but im gonna give you the .pcap file arent i?
Avatar
u could if u want lol
Avatar
david loves Jellycar Worlds 2025-02-20 03:47
also wait is this a windows or linux comand
Avatar
what is port info
03:47
tcpdump probably works on any system if u install it
Avatar
Avatar
noby
what is port info
david loves Jellycar Worlds 2025-02-20 03:48
wdym?
Avatar
Avatar
david loves Jellycar Worlds
fair but ill use tcpdump as i dont want to give you all my port info lol
u said it
Avatar
david loves Jellycar Worlds 2025-02-20 03:48
oh i ment all the packets being sent by all my ports
Avatar
david loves Jellycar Worlds 2025-02-20 03:48
i only want you to see ddnet packets lol
Avatar
there is a way in wireshark to only export certain packets
Avatar
david loves Jellycar Worlds 2025-02-20 03:48
oh? how?
03:48
i dont use wireshark much
Avatar
wtf noby
Avatar
david loves Jellycar Worlds 2025-02-20 03:49
?
Avatar
iam using osx on this laptop but here its, file->export specified packets, then u can mark packets or only chose selected
03:50
then u can open the file u exported to make sure its only the ones u want
Avatar
Avatar
louis
wtf noby
wtf nouis
Avatar
david loves Jellycar Worlds 2025-02-20 03:50
ah ok ill probs just use tcpdump
Avatar
whatevers easiest
Avatar
david loves Jellycar Worlds 2025-02-20 03:50
yea that should be easyer
Avatar
was more just saying that its an easy way for U to see the traffic
03:51
not about sending it
Avatar
david loves Jellycar Worlds 2025-02-20 03:51
ah true
03:53
huh odd it didnt capture any packets
Avatar
did u pick the right interface
Avatar
Avatar
noby
did u pick the right interface
david loves Jellycar Worlds 2025-02-20 03:53
wdym?
Avatar
how do u see moderator chat LOL
03:54
ah
Avatar
david loves Jellycar Worlds 2025-02-20 03:54
vencord lol
banhammer 1
Avatar
run tcpdump, then do a connection to the server
03:54
assuming default port 8303
Avatar
david loves Jellycar Worlds 2025-02-20 03:55
wait vencord is agenst the rules?
03:55
not here lol
Avatar
david loves Jellycar Worlds 2025-02-20 03:55
yea i didnt think so
Avatar
maybe discords rules though
03:55
not sure
Avatar
david loves Jellycar Worlds 2025-02-20 03:56
hmm
Avatar
Avatar
david loves Jellycar Worlds
wdym?
and i mean, if u are hosting server locally, it may be trying to connect through loopback
Avatar
david loves Jellycar Worlds 2025-02-20 03:56
im not im just joining a random server here
03:57
was it a server that was running on port 8303?
Avatar
david loves Jellycar Worlds 2025-02-20 03:57
how do i check
Avatar
when u in browser
03:57
it tells u
03:58
u could just "udp" and skip the port thing if ur not sure
Avatar
david loves Jellycar Worlds 2025-02-20 03:59
there we go
Avatar
then u can open that pcap in wireshark if u wnt to inspect it
Avatar
david loves Jellycar Worlds 2025-02-20 04:00
here
Avatar
or that
Avatar
david loves Jellycar Worlds 2025-02-20 04:00
let me check what my code captured
Avatar
(that was 8303 though lol)
Avatar
david loves Jellycar Worlds 2025-02-20 04:02
yea i just chose a server that had that port this time
👍 1
04:03
looks about the same to me
Avatar
what does it mean fake packet receved
Avatar
david loves Jellycar Worlds 2025-02-20 04:03
that means im faking a packet with the given data
04:03
ie im pretending like the server sent it
Avatar
i am probably missing something here but, shouldn't the server not be sending anything until the
10 00 00 02 54 4b 45 4e 8f b7 9e 2b
04:04
what is the thing before that
Avatar
david loves Jellycar Worlds 2025-02-20 04:05
acording to what you said just a little bit ago yes
Avatar
Avatar
noby
what is the thing before that
david loves Jellycar Worlds 2025-02-20 04:05
idk but it was a packet from net_udp_recv(m_Socket, &Addr, &pData); in recv
Avatar
maybe the debug print in recv should either display or check against the address its being recvd from
04:06
if its just stun traffic or inforeqs or other stuff then it probably(?) isnt relevant for what u are tryin to do
Avatar
david loves Jellycar Worlds 2025-02-20 04:07
good idea. now to figger out how to get the ip thats sending the data
Avatar
iirc net_udp_recv accepts a ptr that it populates with that info
04:08
and there is probably another routine in system.cpp that formats a NETADDR in a readable way but i forget which. if not theres always inet_ntoa
Avatar
david loves Jellycar Worlds 2025-02-20 04:09
is that the socket or the netaddr (edited)
Avatar
netaddr
04:11
ah its
04:11
net_addr_str
04:11
if u want to display it
Avatar
david loves Jellycar Worlds 2025-02-20 04:11
that should work fine
Avatar
that should do
04:12
something
04:12
im not sure what honestly lol
04:12
printf expects a format string as its first argument
04:12
may crash
Avatar
@murpi can sv_practice_by_default be enabled on test servers
Avatar
im also probably wrong but in case im not, try smt like char buf[64]; net_addr_str(&Addr, buf, sizeof(buf), true); printf("from %s\n", buf); (edited)
Avatar
I'm in the middle of troubleshooting our servers 👀
04:14
literally on fire rn
Avatar
david loves Jellycar Worlds 2025-02-20 04:14
didnt even connect to any server
04:14
and yes your right
Avatar
u crashed murpis servers
04:15
gg
Avatar
david loves Jellycar Worlds 2025-02-20 04:15
yay
Avatar
david loves Jellycar Worlds 2025-02-20 04:15
i win murpi
04:15
/jk
Avatar
david loves Jellycar Worlds 2025-02-20 04:15
or did i?
04:16
not yet
Avatar
david loves Jellycar Worlds 2025-02-20 04:16
(i didnt)
04:16
yea not yet anyways
04:16
but now if i do find a way im gonna use it on there servers to report it
04:16
lol
04:16
/hjk
Avatar
that would probably be useful yeah
Avatar
david loves Jellycar Worlds 2025-02-20 04:17
anyways it looks like its likely from the master server
04:17
is my best guss anyways
Avatar
i imagine there are probably lots of ways for a server to crash a client, but probably not many the other way around
Avatar
david loves Jellycar Worlds 2025-02-20 04:17
as i didnt connect to any servers
Avatar
Avatar
noby
i imagine there are probably lots of ways for a server to crash a client, but probably not many the other way around
david loves Jellycar Worlds 2025-02-20 04:17
def a lot of ways to crash a client. already found 2 from invalid maps allown
Avatar
i know a few other ways lol
04:18
idk any way that client can crash ddnet server though
Avatar
david loves Jellycar Worlds 2025-02-20 04:18
i mean if you did you would probaly report it so ofc you dont
04:18
lol
Avatar
no i wouldnt
04:18
xd
Avatar
david loves Jellycar Worlds 2025-02-20 04:19
and if you report it it would probs be fixed quite fast lol
Avatar
well if it was an actual issue i would
04:19
the only ways i know are like, someone has to intentionally make a server do something wrong
04:19
it could never happen accidentally
Avatar
david loves Jellycar Worlds 2025-02-20 04:20
i mean duh. but then someone can just crash every server
04:20
free dos
04:20
idk any way for a client to crash a server
04:20
that would be worth reporting ofc
Avatar
david loves Jellycar Worlds 2025-02-20 04:20
yea exsactly
Avatar
is that what u are trying to find?
Avatar
david loves Jellycar Worlds 2025-02-20 04:21
no
Avatar
david loves Jellycar Worlds 2025-02-20 04:22
im trying to find a way for a evil server to crash clients (well more ways)
04:22
and posable get rce if its a oob write
Avatar
yeah bad maps work and
Avatar
david loves Jellycar Worlds 2025-02-20 04:22
my end goal is to find some kind of oob write somewhere
Avatar
too many items in a snap/invalid ids worked
04:22
and a couple other things
04:23
i never tried to investigate if it is expoitable like that but i would be curious to know lol
Avatar
david loves Jellycar Worlds 2025-02-20 04:23
wait theres a oob write?
Avatar
idk, just crash
04:23
old version of ddnet i got it to overwrite the skin data
04:23
so it was there. but its probably been fixed
Avatar
david loves Jellycar Worlds 2025-02-20 04:24
i assume you reported it?
Avatar
i was using such an old version that it didnt matter. afaik the current one at that time had been fixed
Avatar
david loves Jellycar Worlds 2025-02-20 04:25
ah ok
Avatar
it was ddnet v10 and they were on like v14
Avatar
david loves Jellycar Worlds 2025-02-20 04:25
ah wow
Avatar
it also overwote the config file somehow
Avatar
david loves Jellycar Worlds 2025-02-20 04:26
deff sounds like a oob write
Avatar
david loves Jellycar Worlds 2025-02-20 04:26
no clue how else that stuff could happen
Avatar
its free to overwrite all its own stuff before it crashes ig
Avatar
david loves Jellycar Worlds 2025-02-20 04:26
correct
Avatar
im not sure if any of this stuff still works on new ddnet
Avatar
david loves Jellycar Worlds 2025-02-20 04:27
the os only kills it with the current build settings if it trys to acsess memory it cant
Avatar
Avatar
noby
im not sure if any of this stuff still works on new ddnet
david loves Jellycar Worlds 2025-02-20 04:27
if it does im gonna hack everyone /jk
Avatar
wasn't there a blog article about a working attack on teeworlds clients?
Avatar
noby noby noby noby noby noby noby noby noby noby noby noby
Avatar
Avatar
Tater
wasn't there a blog article about a working attack on teeworlds clients?
was there?
04:29
Avatar
david loves Jellycar Worlds 2025-02-20 04:29
oh yea no thats not working on vanella clients
Avatar
well it was reported obviously lol
Avatar
david loves Jellycar Worlds 2025-02-20 04:30
though it wouldnt have been too too hard to do so with a rop chain
Avatar
Avatar
Tater
well it was reported obviously lol
david loves Jellycar Worlds 2025-02-20 04:30
i mean at the time
04:30
they manualy disabled alsr
04:30
I guess it's harder than I thought
Avatar
thats interesting
Avatar
Avatar
Tater
I guess it's harder than I thought
david loves Jellycar Worlds 2025-02-20 04:31
not by much in this case
Avatar
fuzzing the editor might yield something, I bet that code is less tested
Avatar
in tw 0.7 i found a way to make it do this
04:32
Avatar
david loves Jellycar Worlds 2025-02-20 04:32
libwinpthread-1.dll and zlib1.dll have alsr disabled
04:33
so for the most part alsr isnt the most effective at preventing rop in this game
Avatar
alsr or aslr?
Avatar
david loves Jellycar Worlds 2025-02-20 04:33
alsr
04:33
?
Avatar
what is alsr
Avatar
david loves Jellycar Worlds 2025-02-20 04:33
wait no it is aslr
04:33
sorry
Avatar
david loves Jellycar Worlds 2025-02-20 04:34
adrees space layout randimisason
Avatar
Avatar
david loves Jellycar Worlds
oh wait i mean ASAN
i thought
Avatar
david loves Jellycar Worlds 2025-02-20 04:34
the main builds dont have ASAN
04:36
anyways now it parses like 200 packets before crashing due to the following packet
04:36
fake packet receved data is ff ff ff ff ff ff ff ff ff ff 69 65 78 74 2d 31 00 30 2e 36 2e 34 2c 20 31 39 2e 30 00 44 44 4e 65 74 20 55 53 41 31 20 2d 20 4e 6f 76 69 63 65 00 4c 69 6e 65 61 72 00 2d 32 38 32 31 36 38 36 32 39 00 31 38 37 31 36 35 00 44 44 72 61 63 65 4e 65 74 77 6f 72 6b 00 30 00 31 33 00 36 33 00 31 33 00 36 33 00 00 2025-02-19 20:24:52 I assert: /home/david/ddnet/src/base/system.cpp(1174): unknown NETADDR type 0 Illegal instruction (core dumped)
Avatar
Avatar
Tater
fuzzing the editor might yield something, I bet that code is less tested
I think this would still be a be a worth while attack because you could trick a client into pressing the hotkeys for "open editor" and "load current map into editor" after they join a server.
👀 2
Avatar
Avatar
Tater
I think this would still be a be a worth while attack because you could trick a client into pressing the hotkeys for "open editor" and "load current map into editor" after they join a server.
david loves Jellycar Worlds 2025-02-20 04:37
hmm true + it wouldnt be that hard to do
Avatar
Avatar
david loves Jellycar Worlds
fake packet receved data is ff ff ff ff ff ff ff ff ff ff 69 65 78 74 2d 31 00 30 2e 36 2e 34 2c 20 31 39 2e 30 00 44 44 4e 65 74 20 55 53 41 31 20 2d 20 4e 6f 76 69 63 65 00 4c 69 6e 65 61 72 00 2d 32 38 32 31 36 38 36 32 39 00 31 38 37 31 36 35 00 44 44 72 61 63 65 4e 65 74 77 6f 72 6b 00 30 00 31 33 00 36 33 00 31 33 00 36 33 00 00 2025-02-19 20:24:52 I assert: /home/david/ddnet/src/base/system.cpp(1174): unknown NETADDR type 0 Illegal instruction (core dumped)
that looks like an info reply
Avatar
david loves Jellycar Worlds 2025-02-20 04:37
will do that once im done with the network fuzzing
Avatar
isnt part of the main connection seq
Avatar
david loves Jellycar Worlds 2025-02-20 04:38
i mean that makes sence but why is it invalid?
04:38
also whats a info reply do?
Avatar
idk tbh but maybe because its not being sent over the same connection as the other traffic?
04:39
info referring to the old system where the client sends a udp packet to some server(s) and they reply with data containing stuff like server name/map/player list etc
04:39
and that would be over a different port
04:39
i think
Avatar
david loves Jellycar Worlds 2025-02-20 04:40
hmm so do you think i should just ignore them?
Avatar
either ignore or handle separately if u want to try fuzzing this too
Avatar
david loves Jellycar Worlds 2025-02-20 04:40
where are these parsed
04:41
so i can ignore them
Avatar
Avatar
noby
that looks like an info reply
how the hell do you know this lmao
Avatar
david loves Jellycar Worlds 2025-02-20 04:41
yea lol
04:42
jk
04:42
69 65 78 74 is iext
04:42
see CClient::ProcessConnlessPacket where it checks against SERVERBROWSE_INFO_EXTENDED
Avatar
david loves Jellycar Worlds 2025-02-20 04:43
so can i just comment that part out?
04:43
Avatar
i mean u can? but why
Avatar
david loves Jellycar Worlds 2025-02-20 04:44
i mean wouldnt that ignore the packet?
Avatar
the way you did that comment will break the else if flow
Avatar
oh i didnt see that
04:44
just saw the selection lol
Avatar
Avatar
Tater
the way you did that comment will break the else if flow
david loves Jellycar Worlds 2025-02-20 04:44
wdym?
Avatar
putting // there wil make it not compile but
04:45
what are u trying to accomplish by commenting that out?
Avatar
david loves Jellycar Worlds 2025-02-20 04:45
ignoreing the packet
Avatar
can u just make whatever extra code ur adding ignore any packet that starts with ff ff ..
Avatar
Avatar
david loves Jellycar Worlds
wdym?
😄 1
Avatar
david loves Jellycar Worlds 2025-02-20 04:46
oh wait i should be ingoring this entire funcson that handles packets shouldnt i
Avatar
Avatar
noby
can u just make whatever extra code ur adding ignore any packet that starts with ff ff ..
david loves Jellycar Worlds 2025-02-20 04:46
how many fs?
Avatar
probably one or two would be enough idk
04:46
take a look at network.cpp how it assembles packets that arent connless
Avatar
david loves Jellycar Worlds 2025-02-20 04:46
also wait should i be ignoreing this entire funcson? as it looks quite simaler
Avatar
i dont think any of them start with ff
04:47
ignoring in what sense
Avatar
david loves Jellycar Worlds 2025-02-20 04:47
just return imeditly
Avatar
ig i dont have a good enough understanding of the fuzzing tools to give a useful answer but it seems like no
Avatar
david loves Jellycar Worlds 2025-02-20 04:48
ok so what part of it should i ignore?
04:49
https://discord.com/channels/252358080522747904/293493549758939136/1341992894550245408 you said here i should ignore these packets or handle them separately
04:49
btw thank you so much for helping me!
04:49
happy
Avatar
noby only appears twice a year, consider yourself lucky.
Avatar
and i meant, u should treat those packets as something seperate from the connection u are trying to test. wherever u are adding this logic
04:50
LOL
04:50
hey sometimes 3 or 4
Avatar
noby nuby nobody onby!
Avatar
Avatar
noby
and i meant, u should treat those packets as something seperate from the connection u are trying to test. wherever u are adding this logic
david loves Jellycar Worlds 2025-02-20 04:51
is there a way to check what connectson is calling recv?
Avatar
yes, net_udp_recv will populate one of its args with info about where the packet came from
Avatar
david loves Jellycar Worlds 2025-02-20 04:52
is the a easy way to tell if thats from the main server or not?
04:52
ie the gameplay part
Avatar
yes probably
Avatar
david loves Jellycar Worlds 2025-02-20 04:54
hmm for now im just gonna ignore packets that start with ff ff ff ff
Avatar
could look at the PeerAddress function but ya that works too
04:54
or just hard code it if this is just for testing
Avatar
david loves Jellycar Worlds 2025-02-20 04:55
yea atm im testing my packet code to try and recreate the connectson to the server
04:55
as a seed for the fuzzer
04:55
so valid data that doesnt crash
Avatar
maybe u could just, capture the token it makes for ur ip to ur server, and dont change either, and just manually append that during testing?
04:57
as long as ur addr doesnt change and ur server doesnt restart it should stay the same
04:57
ddnet server doesnt care about port for token calc
Avatar
david loves Jellycar Worlds 2025-02-20 05:09
im gonna work on this more tomarow
05:09
thanks for all the help!
Avatar
xd, my internet connection was crashed after reconnecting with the DDNet client to the official DDNet server for some reason the 0.7 translate layer started working
Avatar
Aw man he got a random noby encounter feelsbadman
07:21
I never get those!
Avatar
Noboly
Avatar
Avatar
noby
Click to see attachment 🖼️
regular no clear. btw haven't seen you for a while
Avatar
yea well feelsbadman
07:25
only so much noby to go around
Avatar
i am curious what happens to chn a few hours ago tho
07:26
i just woke up and it was fixed already
07:26
bluestripe 2
07:26
disk exploded on all of them
Avatar
logging related update?
07:27
the power in my room won’t turn on and the breaker switch is unmoved
07:28
i love sketchy electrical work
07:28
alarm clock is off and the phone is low battery so I’m gonna hope it lasts until i need alarm
Avatar
Avatar
TsPiggy
i just woke up and it was fixed already
I updated servers and wen to sleep, and they have been coredumping ever since 😄
Avatar
it's because we don't build the antibot in sync, happens all the time
Avatar
hi @noby long time no see
07:37
@Learath2 xD antibot happened
Avatar
The proper fix is to always rebuild antibot when we rebuild ddnet-server
Avatar
GitHub BOT 2025-02-20 07:44
03cfeea Update translation stats - def-
Avatar
u dont have a script or smth
07:46
idk how it works
Avatar
Avatar
deen
The proper fix is to always rebuild antibot when we rebuild ddnet-server
david loves Jellycar Worlds 2025-02-20 07:49
whats antibot?
Avatar
GitHub BOT 2025-02-20 08:02
b436eed fix(editor): fix issue where 'allow unused' shortcut caused button hiding to fail - ZerolAcqua e0e6d2c Merge pull request #9723 from ZerolAcqua/master - def-
08:03
bd104c9 Update spanish.txt for 19.0 - n0Ketchp 0b9f589 Merge pull request #9722 from n0Ketchp/patch-25 - def-
08:09
552f5dd Update Chinese translations for 19.0 - Pioooooo fd81b67 Merge pull request #9721 from Pioooooo/chinese-19.0 - def-
Avatar
Avatar
Ryozuki
idk how it works
me neither, I just ping Learath2 or heinrich5991 to build the antibot again 😄 We should add it to the script we have in ~/src/build.sh
Avatar
PRO_Gaming1921 2025-02-20 09:20
we could try spam websites with the simular cheat names so it dissapear so its hard to find.
Avatar
today rust 2024 releases
09:21
probs around morning
09:24
this will be in
09:24
async closures
Avatar
oh shit
09:35
i messed up the branch
09:35
anyway the pr was stale
Avatar
GitHub BOT 2025-02-20 09:45
Would be neat if the file-size is displayed next to the image-size.
Avatar
Zerol Acqua 2025-02-20 09:50
i just realized that the method in my commit is not in upper camel case frozen
Avatar
custom clients don't need to be open source right?
Avatar
Avatar
Assa
custom clients don't need to be open source right?
Nope!
Permission is granted to anyone to use this software for any purpose, including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions: 1. The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation would be appreciated but is not required. 2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software. 3. This notice may not be removed or altered from any source distribution.
(edited)
Avatar
oh this even allows for commercial use
Avatar
Avatar
Assa
oh this even allows for commercial use
Even the GPL allows for commercial use lol
Avatar
non commercial licences of an open source project are uncommon
Avatar
there is a lot of caveats, we have software that uses the aGPL, which HAS to be open sourced even with modifications, i am not a lawyer
Avatar
teeworlds is basically just MIT afaik
10:44
similar for ddnet
10:44
some of the libraries included in ddnet however are not, so if you ship with the demo renderer it needs to be open source I think
Avatar
it's a bit more restrictive then MIT, MIT just states: Here is code, IDGAF, no warranty
Avatar
in what way is it more restrictive
Avatar
Avatar
risu
Nope!
Permission is granted to anyone to use this software for any purpose, including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions: 1. The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation would be appreciated but is not required. 2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software. 3. This notice may not be removed or altered from any source distribution.
(edited)
^in this way
Avatar
nothing in there is more restrictive than MIT unless you consider to ability to lie about making the source code
Avatar
which is a restriction?
Avatar
Avatar
Assa
there is a lot of caveats, we have software that uses the aGPL, which HAS to be open sourced even with modifications, i am not a lawyer
Jupstar ✪ 2025-02-20 10:46
we don't use AGPL code
10:46
how are you in that impression?
Avatar
yes I know
Avatar
Jupstar ✪ 2025-02-20 10:47
but enabling ffmpeg feature makes the distribution GPL
Avatar
Avatar
Assa
which is a restriction?
I think it's actually less restrictive than MIT because it doesn't say you need to include the notice if you don't distribute the source, which MIT does
Avatar
Jupstar ✪ 2025-02-20 10:47
so your closed source client cannot use it
Avatar
I read too many licenses and got confused, happens from time to time
Avatar
Avatar
Jupstar ✪
but enabling ffmpeg feature makes the distribution GPL
DDNet requires the strictly GPL parts of FFmpeg?
Avatar
Jupstar ✪ 2025-02-20 10:48
yes
10:48
x264 & mp4 are not even free formats afaik
Avatar
oh yeah...
Avatar
Jupstar ✪ 2025-02-20 10:48
it's bit of grey zone
Avatar
audio and video formats are just so ass
10:49
with their licensing
Avatar
Jupstar ✪ 2025-02-20 10:49
there are royalty free formats from google
10:49
vp9 or whatever they call it
10:49
we could use that
Avatar
I thought mp4 patents are expired? or they will this year
Avatar
thing is mp4 is way more accessible for the default dummy user
Avatar
Jupstar ✪ 2025-02-20 10:50
i'd say vp9 is fine, since it's supported by browsers
10:50
brower formats are usually fine
Avatar
Avatar
Tater
I thought mp4 patents are expired? or they will this year
I thought this happened in 2023 tbh
Avatar
Jupstar ✪ 2025-02-20 10:50
webm is a subset of mkv
Avatar
Avatar
Jupstar ✪
i'd say vp9 is fine, since it's supported by browsers
yeah as long as their default media player plays it and it embeds nicely on Discord it's fine
10:53
I assume the embedding should be similar on other platforms
Avatar
Avatar
Jupstar ✪
x264 & mp4 are not even free formats afaik
checked, mp4 itself is not the issue, but the h.264 codec
Avatar
Avatar
Tater
I thought this happened in 2023 tbh
Avatar
Avatar
Jupstar ✪
vp9 or whatever they call it
vp8 & webP, and now I read enough about this topic to be able to follow you and agree. We are now at vp9 (edited)
Avatar
Jupstar ✪ 2025-02-20 10:58
av1 is based
10:58
sad my gpu doesnt support it xd
Avatar
so it's still mp4, and the licensefeefree codec would be vp9, also supports WebM
10:59
thank you, noted this down for other projects ;_;
Avatar
Jupstar ✪ 2025-02-20 11:00
be aware that hardware en-/decoding is most likely worse tho xd
Avatar
chillerdragon BOT 2025-02-20 11:17
Open Source it Ill add
Replying to @deen me neither, I just ping Learath2 or heinrich5991 to build the antibot ag…
Avatar
do you think an open source antibot would be effective?
Avatar
chillerdragon BOT 2025-02-20 11:20
The script
brownbear 1
11:20
Don’t need the antibot
11:22
oh til you can click the "Replying to" blue hyper link in the bridge to see the message
Avatar
GitHub BOT 2025-02-20 11:36
d81aa14 Add 77.77 € funding by Stouls - def-
7️⃣ 12
💸 8
Avatar
Avatar
david loves Jellycar Worlds
fake packet receved data is ff ff ff ff ff ff ff ff ff ff 69 65 78 74 2d 31 00 30 2e 36 2e 34 2c 20 31 39 2e 30 00 44 44 4e 65 74 20 55 53 41 31 20 2d 20 4e 6f 76 69 63 65 00 4c 69 6e 65 61 72 00 2d 32 38 32 31 36 38 36 32 39 00 31 38 37 31 36 35 00 44 44 72 61 63 65 4e 65 74 77 6f 72 6b 00 30 00 31 33 00 36 33 00 31 33 00 36 33 00 00 2025-02-19 20:24:52 I assert: /home/david/ddnet/src/base/system.cpp(1174): unknown NETADDR type 0 Illegal instruction (core dumped)
Do you also generate random addresses for your packets? If so, then that assertion error would probably be a bug in your testing code, because addresses should never have an unknown type. Else, if the invalid address is unpacked from packet data or the result of handling a message then it's a bug in DDNet code and should be fixed. Can you get the stack trace of the crash? (edited)
Avatar
mod test { extern fn malloc(size: u64) -> *mut u8; extern fn puts(ptr: *mut u8) -> i32; #[langitem = "String"] struct String { ptr: *mut u8, len: u64, cap: u64, } fn main() -> u64 { let x: String = "hello \nworld"; puts(x.ptr); return 0; } } @MilkeeyCat i got strings, and so i got prints
15:33
they all heap allocated for now tho
15:33
xd
Avatar
MilkeeyCat 2025-02-20 15:33
epyc
Avatar
GitHub BOT 2025-02-20 15:39
I believe it's a bug (not sure). So I finally figured out why the default eyes setting stopped working. In my 'run on join' I had: "showothers 1;" (the semicolon left from me testing some other command). If I remove the semicolon at the end, the default eyes setting works fine. Since the commands are separated by semicolons, I think it's OK if a user leaves it at the end, it shouldn't prevent other settings from working. Lumpy ◐ω◑
Avatar
GitHub BOT 2025-02-20 15:48

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...
16:27
f4c95b5 Update translation stats - def-
Avatar
GitHub BOT 2025-02-20 16:34
6ad27e9 Update Turkish translations for 19.0 - GokturkTalha 57a2c00 Update Azerbaijani translations for 19.0 - GokturkTalha 02a5c0c Update Azerbaijani translations for 19.0 - GokturkTalha 6115542 Merge pull request #9726 from GokturkTalha/master - def-
Avatar
i think the spec count should have a delay before someone is being spectated
16:39
so someone cant spam spec and the eye will pop up and hide continuously
16:39
idk whats best way to implement it tho
Avatar
GitHub BOT 2025-02-20 17:06
c9097fe Update brazilian_portuguese.txt - rffontenelle a4d634b slinack is Isadora nick - rffontenelle be323b5 Merge pull request #9727 from rffontenelle/patch-4 - def-
Avatar
Avatar
kebs
idk whats best way to implement it tho
just update it every 1s?
17:10
like debouncing
Avatar
snaps are sent instantly
17:10
im coding it rn so its client side 1s delay
Avatar
update it clientside every 1s i mean
Avatar
if count >0
17:10
yea
Avatar
смитекс чабк🎀🎄 2025-02-20 17:24
17:24
Avatar
GitHub BOT 2025-02-20 17:27
While the feature feels nice, there are some things I noticed when playing on servers with it: It felt distracting when someone in spectator mode swept their mouse across the screen or spammed the spectate button, causing the icon to repeatedly pop up and disappear. So I added a clientside 1 second delay. Also added, so the server won’t count afk players

Checklist

  • [x] Tested the change ingame
  • [ ] Provided screenshots if it is a visual change
  • [ ] Tested in combination with p...
Avatar
MilkeeyCat 2025-02-20 17:43
wtf pepeW
Avatar
Avatar
MilkeeyCat
wtf pepeW
Jupstar ✪ 2025-02-20 17:44
is your wifi on again? xdd
Avatar
MilkeeyCat 2025-02-20 17:44
no
Avatar
Avatar
смитекс чабк🎀🎄
Click to see attachment 🖼️
смитекс чабк🎀🎄 2025-02-20 17:44
help(
Avatar
Avatar
MilkeeyCat
wtf pepeW
the language of the godfs
Avatar
MilkeeyCat 2025-02-20 17:44
i connected using ethernet from last time
Avatar
Avatar
смитекс чабк🎀🎄
Click to see attachment 🖼️
we need the "previous" error.
Avatar
MilkeeyCat 2025-02-20 17:45
and still use it
Avatar
Avatar
смитекс чабк🎀🎄
Click to see attachment 🖼️
Jupstar ✪ 2025-02-20 17:45
here
17:45
program not found
17:45
installation mistake
Avatar
MilkeeyCat 2025-02-20 17:45
but for some reason i feel like my game got more laggy since I updated firefox -.-
justatest 1
Avatar
Avatar
MilkeeyCat
but for some reason i feel like my game got more laggy since I updated firefox -.-
Jupstar ✪ 2025-02-20 17:45
lmao
Avatar
read the note: - it tells you that you're missing something important - i assume you didnt download the msvc build tools
Avatar
Jupstar ✪ 2025-02-20 17:45
@MilkeeyCat do you run on battery rn?
Avatar
Avatar
Jupstar ✪
installation mistake
смитекс чабк🎀🎄 2025-02-20 17:45
and what to do
Avatar
Avatar
смитекс чабк🎀🎄
and what to do
Jupstar ✪ 2025-02-20 17:45
i dunno xd
17:46
ask microsoft support
Avatar
Avatar
смитекс чабк🎀🎄
and what to do
did you read the readme?
17:46
on github?
Avatar
Avatar
meloƞ
did you read the readme?
смитекс чабк🎀🎄 2025-02-20 17:46
yes
Avatar
Avatar
meloƞ
did you read the readme?
смитекс чабк🎀🎄 2025-02-20 17:46
Before I reinstalled Windows everything was fine with me
Avatar
did you follow all steps that i carefully wrote down?
Avatar
смитекс чабк🎀🎄 2025-02-20 17:46
hmm
17:46
yes?
Avatar
Avatar
Jupstar ✪
@MilkeeyCat do you run on battery rn?
MilkeeyCat 2025-02-20 17:47
my laptop is charging rn
Avatar
did you download: msvc build tools python rust cmake did you: set the right rust toolchain?
Avatar
Avatar
meloƞ
did you download: msvc build tools python rust cmake did you: set the right rust toolchain?
смитекс чабк🎀🎄 2025-02-20 17:47
uh
17:47
msvc
17:47
ok im stuped
Avatar
Avatar
MilkeeyCat
wtf pepeW
MilkeeyCat 2025-02-20 17:47
why it jumps to 555 fps when i have it capped to 200
Avatar
Avatar
MilkeeyCat
why it jumps to 555 fps when i have it capped to 200
Jupstar ✪ 2025-02-20 17:47
that can happen, it tries to stabilize the fps
Avatar
Jupstar ✪ 2025-02-20 17:48
if it really jumps to 0 then it might go beyond your limit
Avatar
MilkeeyCat 2025-02-20 17:48
btw what are these squares in debug mode?
HUHH 1
Avatar
color go brrrr?
Avatar
If it tries to reach a given average FPS I could see it leading into an oscillation where it repeatedly overcorrects
17:49
but it doesn't seem super likely?
17:49
like, an issue like that should be obvious enough that it wouldn't exist anymore...
Avatar
Avatar
MilkeeyCat
btw what are these squares in debug mode?
Jupstar ✪ 2025-02-20 17:49
which version do you run, steam, website, selfcompiled?
Avatar
MilkeeyCat 2025-02-20 17:49
self compiled latest commit
17:50
Avatar
i saw a bigger commit from roby considering skins
17:50
something something 0.7 maybe
Avatar
Avatar
MilkeeyCat
Click to see attachment 🖼️
Jupstar ✪ 2025-02-20 17:50
ig it's just the blood color or smth
17:50
but that has nothing to do with your ping jumps
Avatar
https://github.com/ddnet/ddnet/pull/9700 maybe something from this - i didnt read the PR tho (edited)
Skin loading and refreshing Add CSkinDescriptor class to describe the information related to the skin textures of a CTeeRenderInfo so the skin textures can be refreshed independently from the other...
Avatar
Jupstar ✪ 2025-02-20 17:51
fps*
Avatar
Avatar
Jupstar ✪
but that has nothing to do with your ping jumps
MilkeeyCat 2025-02-20 17:51
i just never opened settings in debug mode
17:51
so i never saw it xd
Avatar
ah wait so its not something new? forget what i said then kekw
Avatar
Jupstar ✪ 2025-02-20 17:52
@MilkeeyCat if u find a fix other than restarting your OS, which fixes all problems and would be way too easy, let me know
justatest 1
Avatar
MilkeeyCat 2025-02-20 17:53
restart doesn't help pepeW
17:54
it's been like that for a few days already
Avatar
Jupstar ✪ 2025-02-20 17:54
@MilkeeyCat MESA_LOADER_DRIVER_OVERRIDE=zink ./DDNet "gfx_backend OpenGL; gfx_gl_major 3; gfx_gl_minor 3"
17:54
OpenGL on Vulkan
Avatar
clearly what we need is opengl on d3d on vulkan
Avatar
Jupstar ✪ 2025-02-20 17:56
i mean i lately tried vulkan to dx12 i dunno if wine wouldn't automatically then do dx12 to vulkan
17:56
nice round trip
Avatar
Avatar
MilkeeyCat
btw what are these squares in debug mode?
i guess average color of skin?
18:00
so when u kill partciles are of this color
Avatar
MilkeeyCat 2025-02-20 18:02
and now I looked at console and see this, wtf is going on
Avatar
spectator count and cursor is in ddnetspectatorinfo (edited)
18:03
probably smth related
Avatar
GitHub BOT 2025-02-20 18:08
a617972 Add delay to spectator count and exclude afk players - KebsCS 4a2b895 Merge pull request #9728 from KebsCS/pr-spec-count-delay - def-
Avatar
MilkeeyCat 2025-02-20 18:13
can anyone join ddnet://45.141.57.31:8384 and tell if you have different fps than on other servers? xd
Avatar
45.141.57.31:8384[🇪🇺] is an official DDraceNetwork (Type: DDrace) server. Quick join: https://ddnet.org/connect-to/?addr=45.141.57.31:8384/
Avatar
Avatar
MilkeeyCat
and now I looked at console and see this, wtf is going on
what was the server
18:16
and your client version
Avatar
Avatar
DDNet
45.141.57.31:8384[🇪🇺] is an official DDraceNetwork (Type: DDrace) server. Quick join: https://ddnet.org/connect-to/?addr=45.141.57.31:8384/
MilkeeyCat 2025-02-20 18:16
this server
18:16
and latest commit
Avatar
cant reproduce
Avatar
Ah ok, now I get the message. I had to enable debug logging as well. console_output_level 1
Avatar
oh yea
18:20
same with this command
18:22
server isnt on spec count commit
18:22
so something wrong with spectator cursor
18:24
doesnt happen on servers with commit: 1c9d584 for sure happens on 17198ea and below
Avatar
Well, m_SpectatorCount is bolted on to DDNetSpectatorInfo. But the server is sending the packet without that field, which means the parsing will fail.
Avatar
makes sense
Avatar
@deen so what happened with the antibot? What change bumped the abi without any of us noticing?
Avatar
can it be handled or is it fine since spec cursor has been only on nightly
Avatar
Avatar
Learath2
@deen so what happened with the antibot? What change bumped the abi without any of us noticing?
Avatar
I guess the "client" in the pr title meant no one double checked
18:30
damn
Avatar
@kebs You can add default value to m_SpectatorCount by adding a fourth argument to NetIntRange, which will fix the problem.
Avatar
ah ty, will make pr
18:41
yea that fixes it
Avatar
GitHub BOT 2025-02-20 18:49
Reported by @MilkeeyCat and thanks to @furo321 for helping me Fixes this client issue on servers that are running on commits between spectator cursor and spectator count !image

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 ...
Avatar
What's the policy on qol changes? I wanna make the fps counter less aggressive by averaging the fps over a few seconds
Avatar
i think the fps counter looks bad anyway
19:20
and moves the killfeed
Avatar
Avatar
kebs
i think the fps counter looks bad anyway
I mean, I was thinking of moving it to the left (edited)
19:24
and making it smaller
19:24
maybe I should just combine all of those into a single PR and see what others think
👍 1
Avatar
idk about moving it, but current counter is just annoying to have it on
Avatar
Avatar
kebs
idk about moving it, but current counter is just annoying to have it on
How would you change it then?
19:33
Aside from moving it to the top left (usually where other games have it) and making it smaller idk how it could be improved
19:33
and also averaging it over 5 seconds or smth to smooth it out
Avatar
yea probably that
Avatar
Avatar
Sans
What's the policy on qol changes? I wanna make the fps counter less aggressive by averaging the fps over a few seconds
Maybe consult @Jupstar ✪ on whether that's a good idea. Spikes are useful to see usually, averaging over a couple seconds would obliterate that
19:51
1% lows might be interesting to see
Avatar
the graph could still show the instantaneous value while the UI could show averaged value to prevent unreadable output
Avatar
MilkeeyCat 2025-02-20 20:19
I uninstalled some graphics related package and now I can't open new windows and even tty justatest
Avatar
ctrl+alt+f4 and there is your tty terminal
Avatar
MilkeeyCat 2025-02-20 20:22
it wasn't working
Avatar
try with other f keys
20:24
f1 and f2 are usually the window manager (edited)
Avatar
MilkeeyCat 2025-02-20 20:24
after installing a bunch of packages it works now xd
20:24
i can use any f key
Avatar
Avatar
Learath2
Maybe consult @Jupstar ✪ on whether that's a good idea. Spikes are useful to see usually, averaging over a couple seconds would obliterate that
Jupstar ✪ 2025-02-20 20:29
everything has pros and cons, idc xdd averaging is always late to the party
Avatar
smooth fps overall, no smoothing when in debug mode? (edited)
Avatar
Dunno anyone else smooth fps
Avatar
Avatar
kebs
smooth fps overall, no smoothing when in debug mode? (edited)
Jupstar ✪ 2025-02-20 20:35
in debug the fps are never smooth
20:36
tbh just use the steam fps or mangohud if u want more detailed fps lmao
20:36
@Sans do you use steam version?
Avatar
Avatar
Jupstar ✪
@Sans do you use steam version?
Nope, I use a modified version by @Fussel
20:37
pretty sure it's based on the website client
20:38
might I ask why?
Avatar
Rust programs written entirely in Rust. Contribute to sunfishcode/eyra development by creating an account on GitHub.
Avatar
Avatar
kebs
smooth fps overall, no smoothing when in debug mode? (edited)
There's a separate debug mode fps counter
20:40
20:40
very smol
Avatar
Avatar
MilkeeyCat
I uninstalled some graphics related package and now I can't open new windows and even tty justatest
MilkeeyCat 2025-02-20 20:40
it uninstalled xorg pepeW maybe deleting packages was a bad idea after all
Avatar
Avatar
Robyt3
Do you also generate random addresses for your packets? If so, then that assertion error would probably be a bug in your testing code, because addresses should never have an unknown type. Else, if the invalid address is unpacked from packet data or the result of handling a message then it's a bug in DDNet code and should be fixed. Can you get the stack trace of the crash? (edited)
david loves Jellycar Worlds 2025-02-20 21:06
yea one sec
21:07
let me just make it crash when it happens drectly instead of indrectly with a invlaid instructson
Avatar
david loves Jellycar Worlds 2025-02-20 21:17
#0 0x55cff7946c9e in net_addr_str(NETADDR const*, char*, int, bool) /home/david/ddnet/src/base/system.cpp:1174 #1 0x55cff66011c4 in CClient::ProcessServerInfo(int, NETADDR*, void const*, int) /home/david/ddnet/src/engine/client/client.cpp:1237 #2 0x55cff6604d39 in CClient::ProcessConnlessPacket(CNetChunk*) /home/david/ddnet/src/engine/client/client.cpp:1206 #3 0x55cff66058f0 in CClient::PumpNetwork() /home/david/ddnet/src/engine/client/client.cpp:2577 #4 0x55cff6607160 in CClient::Update() /home/david/ddnet/src/engine/client/client.cpp:2661 #5 0x55cff6610359 in CClient::Run() /home/david/ddnet/src/engine/client/client.cpp:3248 #6 0x55cff61f5aa4 in main /home/david/ddnet/src/engine/client/client.cpp:4951 #7 0x7fad0a8fc1c9 in __libc_start_call_main ../sysdeps/nptl/libc_start_call_main.h:58 #8 0x7fad0a8fc28a in __libc_start_main_impl ../csu/libc-start.c:360 #9 0x55cff6202ea4 in _start (/home/david/ddnet/build/DDNet+0x12aea4) (BuildId: 1043ffce204214dd61d0eb439242ead75d39e3c5) ignore the line of the final crash also the lines of the client.cpp will be off due to my fuzzing code
21:17
@Robyt3
21:17
and no i dont generate random addresses for my packets
Avatar
Thanks, looks like the wrong address comes from server info. You can open an issue about that.
Avatar
david loves Jellycar Worlds 2025-02-20 21:20
ok
Avatar
GitHub BOT 2025-02-20 21:24
when sending a server info packet to the client with a invalid NETADDR type the client will crash due to a assert in net_addr_str(NETADDR const, char, int, bool) about a invalid NETADDR type.
Avatar
Avatar
Sans
might I ask why?
Jupstar ✪ 2025-02-20 21:24
well steam would offer a different fps counter
Avatar
Avatar
Robyt3
Thanks, looks like the wrong address comes from server info. You can open an issue about that.
david loves Jellycar Worlds 2025-02-20 21:24
done
Avatar
MilkeeyCat 2025-02-20 21:33
@Jupstar ✪ i have good news and bad news. good news is that I think my fps is fixed, bad news - for some reason map rendering is fucked up 😬 upd. i didn't fix anything, only broke the game (edited)
Avatar
this is sexy
22:04
best fps counter the world has ever seen
22:04
(ignore the fact that i forgot to shift the info messages upwards)
Avatar
GitHub BOT 2025-02-20 22:05
a720861 Fix DDNetSpectatorInfo unpack error - KebsCS a45a04d Merge pull request #9729 from KebsCS/pr-spec-count-delay - def-
Avatar
Avatar
MilkeeyCat
@Jupstar ✪ i have good news and bad news. good news is that I think my fps is fixed, bad news - for some reason map rendering is fucked up 😬 upd. i didn't fix anything, only broke the game (edited)
Jupstar ✪ 2025-02-20 22:22
what's bad about the rendering
22:22
maybe the map is broken xD
Avatar
Avatar
Sans
(ignore the fact that i forgot to shift the info messages upwards)
PRO_Gaming1921 2025-02-20 22:39
Updating the fps? Looks clean
Avatar
Avatar
PRO_Gaming1921
Updating the fps? Looks clean
ty :3
22:40
I also want to move the prediction value next to it but I can't figure it out
22:42
nevermind, i forgot some parens
22:42
nouis
22:50
Done
22:51
I think it looks nice
Avatar
PRO_Gaming1921 2025-02-20 22:52
It does. 12k fps is insane. What specs?
Avatar
Pred = ping or what?
22:55
nvm its cl_showpred
Avatar
i just saw a "chatgptee"
22:58
how can i connect a bot to a ddnet server
22:58
i tried this "https://www.npmjs.com/package/teeworlds" but doesnt work on ddnet (edited)
Avatar
Avatar
PRO_Gaming1921
It does. 12k fps is insane. What specs?
extra 0 to test something
👍 2
Avatar
Avatar
kebs
nvm its cl_showpred
yup
23:00
im not too keen on the text tho, but without it players might mistake it for ping
23:00
which tbh is about the same value
23:00
¯\_(ツ)_/¯
Avatar
david loves Jellycar Worlds 2025-02-20 23:46
bruh... it works fine without afl++
Exported 683 message(s)
Timezone: UTC+0