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 2020-06-16 00:00:00Z and 2020-06-17 00:00:00Z
Avatar
justabutterflier 2020-06-16 00:24:01Z
may i ask someone check this cmakeerror
00:26
i have wavpack.h
00:27
but he say C:\Users\cen940k\source\repos\cen94ok\xpanic\build\CMakeFiles\CMakeTmp\CheckSymbolExists.c(2): fatal error C1083: Не удается открыть файл включение: wavpack.h: No such file or directory,
00:27
Не удаётся открыть файл включение is the same as could not open the include file
00:27
pls someone
10:16
😂
Avatar
You can see me doing turkish translations in 2:44
Avatar
@heinrich5991 does your wireshark dissector still work?
Avatar
well at the very least packet_decode is completely unaware of these new packets
Avatar
Ah I see why timakro kinda hacked around the token cache
Avatar
wireshark dissector doesn't work for 0.7 packets, no
11:53
I don't implement the 0.7 protocol
Avatar
I wonder if we can get the ddnet token protocol compatible with the token cache
Avatar
what's the issue?
Avatar
Issue is that I don't even know where I'd start that as it's two completely different approaches
11:55
e.g. the ddnet one doesn't have the concept of peer tokens
11:58
I don't even think we do tokens for our connless partners
Avatar
yes, that's true, not on the protocol level (edited)
Avatar
@heinrich5991 can you use a procedural macro on a binary program in rust?
Avatar
yes, sure
12:09
a binary crate is not that different from a library one
Avatar
but to use proc-macro
12:10
it requires [lib]
12:10
error: the #[proc_macro_derive] attribute is only usable with crates of the proc-macro crate type
12:10
Avatar
that's for declaring a proc macro
Avatar
i want to declare a proc macro
12:10
and use it
Avatar
you have to declare it in a separate crate
Avatar
that cannot be done in the same crate as the library/binary that uses it
Avatar
I'd guess because it'd cause a two-stage building process otherwise
12:12
if it were declared in the same crate as it's used, you'd first have to compile the proc macro code to be able to read the rest of the crate
Avatar
[regsixup]: WARNING: No master servers. Retrying in 60 seconds this is one part I didn't think would require any work given I didn't touch it
12:19
talked too soon
Avatar
HAHAHA
12:23
okay cool
12:24
so now i am not the only one anymore having problems with 0.7 master
Avatar
Mine more than likely stems from some token mess
Avatar
Mine comes from the rcon login
12:28
because it sends all the rcon cmds
12:28
maybe thats a reason for u too
Avatar
Nah, found it, I'm having trouble with the 50 different kinds of token that need to be juggled around
12:31
[2020-06-16 15:31:29][regsixup]: chose 'master3.teeworlds.com' as master, sending heartbeats \o/
Avatar
good job @Learath2
Avatar
@Learath2 wdym
Avatar
teehistorian-created demos contain no map file, so they fail to load, but nothing is shown to the user: ``` [2020-06-16 14:38:43][client]: loading map, map=Barren wanted sha256=7f43f924a26a9a25b2c009bba48bd019fde0e8bdf36f83d6f4ecf8280b2aa000 crc=30082080 [2020-06-16 14:38:43][datafile]: loading. filename='maps/Barren.map' [2020-06-16 14:38:43][datafile]: could not open 'maps/Barren.map' [2020-06-16 14:38:43][datafile]: loading. filename='downloadedmaps/Barren_30082080_7f43f924a26a9a25b...
Avatar
@fokkonaut when you Recv a message, there is the peertoken, there is your token, there is the ddnet token
12:44
I was sending the wrong one along to the register code
Avatar
nooooo the FWOK is lost 😄
Avatar
aaand idk what's wrong
13:09
great
Avatar
@deen Could you please add a score limit voting option to zCatch SA servers 🙂 Lots of people are requesting it
Avatar
@fokkonaut do you know how I can disable all the masters but one so I can actually debug this?
Avatar
nope haha
Avatar
amazing usability by matricks
13:12
fine I'll patch it out
Avatar
what is the point of a masters.cfg if you'll just ignore it...
Avatar
it choses a master, gets a token, sends a heartbeat, has a stroke and asks for another token
Avatar
yea, I saw a similar pattern in the pcap from the guy hosting @fokkonaut's servers
13:23
but if you could also put gdb to work, we can probably find the root cause @Learath2
13:23
maybe just patch MAX_MATSERVERSERS to 1 or so
Avatar
Yeah already did that and used master4 so I can tcpdump on ddnet.tw if needed
Avatar
not really necessary, you could tcpdump locally as well
Avatar
but I doubt my issue is related to his, the fw?? never seems to make it to CRegister for me
Avatar
could you log whether messages are dropped due to invalid tokesn?
Avatar
hm, I don't understand what timakro did here, but I don't think the masterservers messages token is ever verified
Avatar
@timakro ^
Avatar
tbh I don't even know what token is going where anymore
Avatar
@Learath2 connless packets contain two tokens
Avatar
Me neither, in the beginning I tried choosing two consistent names for the client and server tokens but I gave up after a while so if it's called ReponseToken or SecurityToken or Token, it means nothing
Avatar
one token for "how can you answer me"
13:31
and one token for "this authenticates that I do own the source address"
Avatar
hm the fw?? never makes it out of Recv anyway
13:35
Ah
13:35
I even left a note for this, yes it's dropped for an invalid token
Avatar
The way I get the tokens (don't ask me which one I don't remember) from the NetworkServer::Recv function to the CServer::PumpNetwork function is ugly
Avatar
As I inherited it from you, mine is also ugly
13:38
The UnpackPacket twice isn't too pretty either
Avatar
It was the only way without major changes
Avatar
but none of this mess is easy to clean up, I wasted like a month trying to clean it up
13:38
took a week to get things to here as soon as I gave up on the low level networking ever being clean
13:40
Okay, the random requests for token are still there though
13:40
but it registers
Avatar
@TwItCh what numbers are reasonable? 10, 20, 600, 1000?
Avatar
@heinrich5991 isn't this new connless protocol very noisy? Every time someone needs serverinfo they need a 520b token message
Avatar
isnt that the point
Avatar
that's the idea I think
Avatar
to make it harder to ddos
Avatar
the request has to be >= the response
Avatar
to avoid amplification attacks ye
13:45
The state machine is just broken without it
Avatar
probably some race condition that's more often taking the correct path than not
Avatar
I don't know if this fixed it but master server connections always time out and take like 3 tries to get going
13:46
Every teeworlds server log that ever existed constantly get those warning lines, and that's not udp packet loss
Avatar
the masterserver is the worst coded part of teeworlds imho
13:48
here is to hoping we'll get http masters someday
Avatar
someday
13:48
even if someone did it
13:48
it would be a slow process i think
13:48
and backwards comp
13:49
HTTPS Teeworlds master server implemented in Go. Contribute to edg-l/teeworlds-master-server development by creating an account on GitHub.
13:50
i never finished it
13:50
cuz i dont think anyone would like it anyway
Avatar
@deen 150, 300, 500, 800 Would Be fantastic 🙂
Avatar
@TwItCh too late, added different values already 😄
Avatar
The masterserver code also had very little changes over the years. When I was working on the 0.7 masterserver stuff I compared to 0.7 and there are hardly any differences between ddnets outdated 0.6 and 0.7 there
13:51
What are those magic numbers? ^^
Avatar
If a couple of you have time can you join my server?
Avatar
@deen Awesome ! Thank you so much 🙂 Appreciate it
13:55
@Learath2 What's the ip?
Avatar
learath2.info
Avatar
nice maintainance
13:56
i think it has been under maintainance for 4 years
Avatar
I've got time, just finished a difficult exercise sheet for uni. Got to get me head free
Avatar
@timakro Well done !
Avatar
Thanks xD
Avatar
@Learath2 the 520b packet for serverinfo was added late and in a rush
14:01
I don't see a better solution, except putting it somewhere else like http masters
Avatar
I just found the weirdest bug
Avatar
which is? 🙂
Avatar
somehow when someone leaves and someone else joins they use the wrong info
14:17
another impossible to debug one, two in a day
Avatar
"info"?
Avatar
the guy who joined had the other guys name, skin, etc
Avatar
Doesn't sound familiar, sorry
Avatar
I'd like it to be easy every once in a while 😛
Avatar
Make sure you have no "delta unpack failed" in the client logs before you do testing. I tracked down a problem with spectator mode to the snapshot level, wasn't fun. (edited)
Avatar
I have a dbg_break on delta unpack failed just for that reason
Avatar
I've had my fair share of fun with snapshots, especially combined with UB
14:21
it worked perfectly on macOS half worked on linux 😄
14:24
Hm, I wonder why matricks didn't generate the engine level protocol aswell
14:56
Turns out you can even cherry pick this, I don't know how to generate this part of the protocol easily
Avatar
Oh thats short
14:57
Nice
Avatar
@timakro do you remember how you handled joining after spectating?
15:12
The join button just says "locked" :
Avatar
maybe the client thinks there are 0 players ingame allowed
15:14
in one version we sent spectator slots in the other version we send ingame slots
15:14
i think in 0.6 it used to be sv_spectator_slots and now its sv_player_slots or smth similar
Avatar
Aha, only 0 active players are allowed
15:15
I guess I need to send a NETMSGTYPE_SV_SERVERSETTINGS
15:18
I keep forgetting the new messages
Avatar
Okay, this is all the bugs I could track down. The rest will take some people to actually test this
16:08
I couldn't reproduce the teeinfo thing so there is atleast one bug I couldn't find
Avatar
what teeinfo Bug?
Avatar
When a tee leaves and another joins, it sometimes takes another tees information
16:11
I'm thinking I'm missing one of the new messages somewhere that should be sent to sixup when someone joins but I don't see it
16:16
@heinrich5991 I have a cmake question
Avatar
Sv_ClientInfo and Sv_ClientDrop
Avatar
It's been there since the beginning but I forgot about it. With this I now require Python3 and I'm using cmakes builtin FindPython3, but that bumps the cmake requirement all the way up to 3.12
16:19
Ah I'm not sending Sv_ClientDrop at all
16:19
its on OnClientDrop
16:19
in*
Avatar
Yeah I missed it, works surprisingly well without 😄
Avatar
Here I go digging into cmake documentation again 😦
Avatar
#2256
16:42
Okay, that fixes CI. I'm done with it for now, it just requires more testing by more people
16:44
I'll work on more QoL changes like the chat commands
Avatar
@Learath2 question resolved?
Avatar
@heinrich5991 if find_package(PythonInterp 3) does what I think it does
Avatar
@Learath2 This seems useless https://github.com/ddnet/ddnet/pull/2256/commits/29d0b1f52399ca218f7096da4dd29213d128cb15#diff-25bcc1bcfab43c7e0957ca2fa89fe34fR1260 14 & 15 is NETMSG_RCON_CMD_ADD and NETMSG_RCON_CMD_REM which is only sent by 0.7 servers
Avatar
Oh, yeah not really important at all, was just on autopilot :D
Avatar
@Learath2 what is rcon login name?
Avatar
On vanilla you can only connect to rcon if there is a default_admin/mod/helper
18:04
You can only use a username with a ddnet client
Avatar
ok didn't know ddnet had usernames
Avatar
Ah CAuthManager handles that
Avatar
// login name, now used so the protocol always had it but ddnet used it and then they removed it in 0.7 i guess?
Avatar
I thought so too
Avatar
@Learath2 yes, that works
Avatar
2d0340b Add Entites off sign to front layer (fixes #2261) - def- c4d71c7 Merge #2264 - bors[bot]
Avatar
ᶰ°Konͧsti 2020-06-16 19:47:03Z
Merged, send developer role for me danAmazing
Avatar
[quakenet] ChillerDragon BOT 2020-06-16 20:00:56Z
meh why doesnt cmake find my python3 isnt that a common name for python 3.x?
20:01
or do i have to replace my /usr/bin/python w python3 ?
20:02
What merge konsti? Are u ddnet dev now? :D
20:07
https://zillyhuhn.com/cs/.1592338010.png omg not even virtual env works
Avatar
ᶰ°Konͧsti 2020-06-16 20:24:47Z
@ChillerDragon no but i suggested the turn off entities tile for front layer cuz it worked but wasnt shown in editor xd
Exported 196 message(s)