02:24 <+bridge> [ddnet] may i ask someone check this cmakeerror 02:24 <+bridge> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/722245063459209226/message.txt 02:26 <+bridge> [ddnet] i have wavpack.h 02:26 <+bridge> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/722245737106243584/unknown.png 02:27 <+bridge> [ddnet] 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,` 02:27 <+bridge> [ddnet] `Не удаётся открыть файл включение` is the same as `could not open the include file` 02:27 <+bridge> [ddnet] pls someone 02:30 <+bridge> [ddnet] > 12:16 <+bridge> [ddnet] https://www.youtube.com/watch?v=_RIPrZtl_vw 12:16 <+bridge> [ddnet] 12:16 <+bridge> [ddnet] I don't get this vid 12:16 <+bridge> [ddnet] 😂 12:19 <+bridge> [ddnet] You can see me doing turkish translations in 2:44 13:28 <+bridge> [ddnet] @heinrich5991 does your wireshark dissector still work? 13:38 <+bridge> [ddnet] well at the very least packet_decode is completely unaware of these new packets 13:53 <+bridge> [ddnet] Ah I see why timakro kinda hacked around the token cache 13:53 <+bridge> [ddnet] wireshark dissector doesn't work for 0.7 packets, no 13:53 <+bridge> [ddnet] I don't implement the 0.7 protocol 13:53 <+bridge> [ddnet] I wonder if we can get the ddnet token protocol compatible with the token cache 13:54 <+bridge> [ddnet] what's the issue? 13:54 <+bridge> [ddnet] Issue is that I don't even know where I'd start that as it's two completely different approaches 13:55 <+bridge> [ddnet] e.g. the ddnet one doesn't have the concept of peer tokens 13:59 <+bridge> [ddnet] I don't even think we do tokens for our connless partners 14:01 <+bridge> [ddnet] yes, that's true, not a on the protocol level 14:01 <+bridge> [ddnet] yes, that's true, not on the protocol level 14:09 <+bridge> [ddnet] @heinrich5991 can you use a procedural macro on a binary program in rust? 14:09 <+bridge> [ddnet] yes, sure 14:09 <+bridge> [ddnet] a binary crate is not that different from a library one 14:09 <+bridge> [ddnet] but to use proc-macro 14:10 <+bridge> [ddnet] it requires [lib] 14:10 <+bridge> [ddnet] error: the `#[proc_macro_derive]` attribute is only usable with crates of the `proc-macro` crate type 14:10 <+bridge> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/722422829433487380/unknown.png 14:10 <+bridge> [ddnet] that's for declaring a proc macro 14:10 <+bridge> [ddnet] i want to declare a proc macro 14:10 <+bridge> [ddnet] and use it 14:10 <+bridge> [ddnet] you have to declare it in a separate crate 14:10 <+bridge> [ddnet] meh 14:11 <+bridge> [ddnet] that cannot be done in the same crate as the library/binary that uses it 14:11 <+bridge> [ddnet] why? 14:11 <+bridge> [ddnet] I'd guess because it'd cause a two-stage building process otherwise 14:12 <+bridge> [ddnet] 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 14:19 <+bridge> [ddnet] `[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 14:19 <+bridge> [ddnet] talked too soon 14:23 <+bridge> [ddnet] HAHAHA 14:24 <+bridge> [ddnet] okay cool 14:24 <+bridge> [ddnet] so now i am not the only one anymore having problems with 0.7 master 14:27 <+bridge> [ddnet] Mine more than likely stems from some token mess 14:56 <+bridge> [ddnet] see 15:09 <+bridge> [ddnet] aaand idk what's wrong 15:09 <+bridge> [ddnet] great 15:10 <+bridge> [ddnet] @deen Could you please add a score limit voting option to zCatch SA servers 🙂 Lots of people are requesting it 15:11 <+bridge> [ddnet] @fokkonaut do you know how I can disable all the masters but one so I can actually debug this? 15:12 <+bridge> [ddnet] nope haha 15:12 <+bridge> [ddnet] amazing usability by matricks 15:12 <+bridge> [ddnet] fine I'll patch it out 15:12 <+bridge> [ddnet] iptables 15:12 <+bridge> [ddnet] what is the point of a masters.cfg if you'll just ignore it... 15:13 <+bridge> [ddnet] idk lol 15:13 <+bridge> [ddnet] xD 15:16 <+bridge> [ddnet] it choses a master, gets a token, sends a heartbeat, has a stroke and asks for another token 15:23 <+bridge> [ddnet] yea, I saw a similar pattern in the pcap from the guy hosting @fokkonaut's servers 15:23 <+bridge> [ddnet] but if you could also put gdb to work, we can probably find the root cause @Learath2 15:23 <+bridge> [ddnet] maybe just patch MAX_MATSERVERSERS to 1 or so 15:23 <+bridge> [ddnet] Yeah already did that and used master4 so I can tcpdump on ddnet.tw if needed 15:24 <+bridge> [ddnet] not really necessary, you could tcpdump locally as well 15:24 <+bridge> [ddnet] but I doubt my issue is related to his, the fw?? never seems to make it to `CRegister` for me 15:25 <+bridge> [ddnet] could you log whether messages are dropped due to invalid tokesn? 15:27 <+bridge> [ddnet] hm, I don't understand what timakro did here, but I don't think the masterservers messages token is ever verified 15:28 <+bridge> [ddnet] @timakro ^ 15:29 <+bridge> [ddnet] Hm? 15:29 <+bridge> [ddnet] tbh I don't even know what token is going where anymore 15:30 <+bridge> [ddnet] @Learath2 connless packets contain two tokens 15:30 <+bridge> [ddnet] 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 15:31 <+bridge> [ddnet] one token for "how can you answer me" 15:31 <+bridge> [ddnet] and one token for "this authenticates that I do own the source address" 15:34 <+bridge> [ddnet] hm the fw?? never makes it out of Recv anyway 15:35 <+bridge> [ddnet] Ah 15:35 <+bridge> [ddnet] I even left a note for this, yes it's dropped for an invalid token 15:37 <+bridge> [ddnet] 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 15:38 <+bridge> [ddnet] As I inherited it from you, mine is also ugly 15:38 <+bridge> [ddnet] The UnpackPacket twice isn't too pretty either 15:38 <+bridge> [ddnet] It was the only way without major changes 15:38 <+bridge> [ddnet] but none of this mess is easy to clean up, I wasted like a month trying to clean it up 15:38 <+bridge> [ddnet] took a week to get things to here as soon as I gave up on the low level networking ever being clean 15:39 <+bridge> [ddnet] b 15:40 <+bridge> [ddnet] Okay, the random requests for token are still there though 15:40 <+bridge> [ddnet] but it registers 15:43 <+bridge> [ddnet] @ImJustANobody what numbers are reasonable? 10, 20, 600, 1000? 15:43 <+bridge> [ddnet] @heinrich5991 isn't this new connless protocol very noisy? Every time someone needs serverinfo they need a 520b token message 15:43 <+bridge> [ddnet] isnt that the point 15:43 <+bridge> [ddnet] that's the idea I think 15:43 <+bridge> [ddnet] to make it harder to ddos 15:43 <+bridge> [ddnet] the request has to be >= the response 15:44 <+bridge> [ddnet] to avoid amplification attacks ye 15:44 <+bridge> [ddnet] To this day I don't understand why the master server register protocol works without this line in 0.6 https://github.com/unique-clan/unique-race/commit/160d35d1bd3e90fe0ae89a1fae64122ab7e2d17a#diff-2b61fb3875a3e845adc670e15aa20fb7R308 15:45 <+bridge> [ddnet] The state machine is just broken without it 15:45 <+bridge> [ddnet] probably some race condition that's more often taking the correct path than not 15:46 <+bridge> [ddnet] I don't know if this fixed it but master server connections always time out and take like 3 tries to get going 15:46 <+bridge> [ddnet] Every teeworlds server log that ever existed constantly get those warning lines, and that's not udp packet loss 15:47 <+bridge> [ddnet] the masterserver is the worst coded part of teeworlds imho 15:48 <+bridge> [ddnet] here is to hoping we'll get http masters someday 15:48 <+bridge> [ddnet] someday 15:48 <+bridge> [ddnet] even if someone did it 15:48 <+bridge> [ddnet] it would be a slow process i think 15:48 <+bridge> [ddnet] and backwards comp 15:49 <+bridge> [ddnet] https://github.com/edg-l/teeworlds-master-server 15:50 <+bridge> [ddnet] i never finished it 15:50 <+bridge> [ddnet] cuz i dont think anyone would like it anyway 15:50 <+bridge> [ddnet] @deen 150, 300, 500, 800 Would Be fantastic 🙂 15:50 <+bridge> [ddnet] @ImJustANobody too late, added different values already 😄 15:50 <+bridge> [ddnet] 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 15:51 <+bridge> [ddnet] What are those magic numbers? ^^ 15:54 <+bridge> [ddnet] If a couple of you have time can you join my server? 15:54 <+bridge> [ddnet] @deen Awesome ! Thank you so much 🙂 Appreciate it 15:55 <+bridge> [ddnet] @Learath2 What's the ip? 15:56 <+bridge> [ddnet] learath2.info 15:56 <+bridge> [ddnet] nice maintainance 15:56 <+bridge> [ddnet] i think it has been under maintainance for 4 years 15:56 <+bridge> [ddnet] I've got time, just finished a difficult exercise sheet for uni. Got to get me head free 15:56 <+bridge> [ddnet] :poggers: 15:57 <+bridge> [ddnet] @timakro Well done ! 15:57 <+bridge> [ddnet] Thanks xD 16:01 <+bridge> [ddnet] @Learath2 the 520b packet for serverinfo was added late and in a rush 16:01 <+bridge> [ddnet] I don't see a better solution, except putting it somewhere else like http masters 16:13 <+bridge> [ddnet] I just found the weirdest bug 16:14 <+bridge> [ddnet] which is? 🙂 16:14 <+bridge> [ddnet] somehow when someone leaves and someone else joins they use the wrong info 16:17 <+bridge> [ddnet] another impossible to debug one, two in a day 16:17 <+bridge> [ddnet] "info"? 16:17 <+bridge> [ddnet] the guy who joined had the other guys name, skin, etc 16:18 <+bridge> [ddnet] Doesn't sound familiar, sorry 16:18 <+bridge> [ddnet] I'd like it to be easy every once in a while 😛 16:19 <+bridge> [ddnet] Make sure you have no "delta unpack failed" in the client logs. I tracked down a problem with spectator mode to the snapshot level, wasn't fun. 16:19 <+bridge> [ddnet] 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. 16:20 <+bridge> [ddnet] I have a dbg_break on delta unpack failed just for that reason 16:20 <+bridge> [ddnet] 👍 16:21 <+bridge> [ddnet] I've had my fair share of fun with snapshots, especially combined with UB 16:21 <+bridge> [ddnet] it worked perfectly on macOS half worked on linux 😄 16:24 <+bridge> [ddnet] Hm, I wonder why matricks didn't generate the engine level protocol aswell 16:56 <+bridge> [ddnet] @timakro https://github.com/ddnet/ddnet/pull/2256/commits/29d0b1f52399ca218f7096da4dd29213d128cb15 16:56 <+bridge> [ddnet] Turns out you can even cherry pick this, I don't know how to generate this part of the protocol easily 16:57 <+bridge> [ddnet] Oh thats short 16:57 <+bridge> [ddnet] Nice 17:12 <+bridge> [ddnet] @timakro do you remember how you handled joining after spectating? 17:12 <+bridge> [ddnet] The join button just says "locked" : 17:13 <+bridge> [ddnet] maybe the client thinks there are 0 players ingame allowed 17:14 <+bridge> [ddnet] in one version we sent spectator slots in the other version we send ingame slots 17:14 <+bridge> [ddnet] i think in 0.6 it used to be sv_spectator_slots and now its sv_player_slots or smth similar 17:15 <+bridge> [ddnet] Aha, only 0 active players are allowed 17:15 <+bridge> [ddnet] I guess I need to send a `NETMSGTYPE_SV_SERVERSETTINGS` 17:18 <+bridge> [ddnet] I keep forgetting the new messages 18:08 <+bridge> [ddnet] Okay, this is all the bugs I could track down. The rest will take some people to actually test this 18:08 <+bridge> [ddnet] I couldn't reproduce the teeinfo thing so there is atleast one bug I couldn't find 18:10 <+bridge> [ddnet] what teeinfo Bug? 18:10 <+bridge> [ddnet] When a tee leaves and another joins, it sometimes takes another tees information 18:11 <+bridge> [ddnet] 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 18:16 <+bridge> [ddnet] @heinrich5991 I have a cmake question 18:16 <+bridge> [ddnet] Sv_ClientInfo and Sv_ClientDrop 18:17 <+bridge> [ddnet] 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 18:19 <+bridge> [ddnet] Ah I'm not sending Sv_ClientDrop at all 18:19 <+bridge> [ddnet] xd 18:19 <+bridge> [ddnet] its on OnClientDrop 18:19 <+bridge> [ddnet] in* 18:20 <+bridge> [ddnet] Yeah I missed it, works surprisingly well without 😄 18:20 <+bridge> [ddnet] :D 18:25 <+bridge> [ddnet] Here I go digging into cmake documentation again 😦 18:37 <+bridge> [ddnet] #2256 18:43 <+bridge> [ddnet] Okay, that fixes CI. I'm done with it for now, it just requires more testing by more people 18:44 <+bridge> [ddnet] I'll work on more QoL changes like the chat commands 19:05 <+bridge> [ddnet] @Learath2 question resolved? 19:10 <+bridge> [ddnet] @heinrich5991 if `find_package(PythonInterp 3)` does what I think it does 19:25 <+bridge> [ddnet] @Learath2 This seems useless https://github.com/ddnet/ddnet/pull/2256/commits/29d0b1f52399ca218f7096da4dd29213d128cb15#diff-25bcc1bcfab43c7e0957ca2fa89fe34fR1260 19:25 <+bridge> [ddnet] 14 & 15 is NETMSG_RCON_CMD_ADD and NETMSG_RCON_CMD_REM which is only sent by 0.7 servers 19:32 <+bridge> [ddnet] Oh, yeah not really important at all, was just on autopilot :D 20:02 <+bridge> [ddnet] @Learath2 what is rcon login name? 20:04 <+bridge> [ddnet] On vanilla you can only connect to rcon if there is a default_admin/mod/helper 20:04 <+bridge> [ddnet] You can only use a username with a ddnet client 20:04 <+bridge> [ddnet] ok didn't know ddnet had usernames 20:05 <+bridge> [ddnet] Ah `CAuthManager` handles that 20:05 <+bridge> [ddnet] `// login name, now used` so the protocol always had it but ddnet used it and then they removed it in 0.7 i guess? 20:06 <+bridge> [ddnet] Yep 20:06 <+bridge> [ddnet] silly 20:11 <+bridge> [ddnet] I thought so too 20:39 <+bridge> [ddnet] @Learath2 yes, that works 21:47 <+bridge> [ddnet] <ᶰ°Konͧsti> Merged, send developer role for me :danAmazing: 22:00 <+ChillerDragon> meh why doesnt cmake find my python3 isnt that a common name for python 3.x? 22:01 <+ChillerDragon> or do i have to replace my /usr/bin/python w python3 ? 22:02 <+ChillerDragon> What merge konsti? Are u ddnet dev now? :D 22:07 <+ChillerDragon> https://zillyhuhn.com/cs/.1592338010.png omg not even virtual env works 22:24 <+bridge> [ddnet] <ᶰ°Konͧsti> @ChillerDragon no but i suggested the turn off entities tile for front layer cuz it worked but wasnt shown in editor xd