02:12 <+bridge> [ddnet] @Learath2 can it be that extended net messages differ in their uuid? 02:12 <+bridge> [ddnet] because i cant seem to send a ddnet client the capabilities msg 02:12 <+bridge> [ddnet] and i cant seem to receive the show distance msg from a ddnet client 02:12 <+bridge> [ddnet] (it worked before, i dunno why i cant receive it) 02:33 <+bridge> [ddnet] i am out of ideas, for real :D 02:52 <+bridge> [ddnet] ofc not 02:52 <+bridge> [ddnet] the uuids stay the same 02:59 <+bridge> [ddnet] ye i mean 02:59 <+bridge> [ddnet] idk xd 03:19 <+bridge> [ddnet] debug what exactly you receive on the client when you send it e.g. capabilities 03:19 <+bridge> [ddnet] I'd print a hex dump dbg_msg 07:15 <+bridge> [ddnet] <Дядя Женя> Why won't you just send ddnet version as one number, so check if it's greater then X, then it supports something 08:00 <+bridge> [ddnet] @Дядя Женя because we want to support other mods 08:01 <+bridge> [ddnet] <Дядя Женя> What do you mean by mods 08:01 <+bridge> [ddnet] modifications 10:03 <+bridge> [ddnet] Anyone here got an idea how people rename themselves from one name to the same? They trigger the message `'$name' changed name to '$name'`. This is printed in gamecontext.cpp:2183 if WouldClientNameChange returns true. That function returns `str_comp(m_aClients[ClientID].m_aName, aNameTry) != 0`. So I'm confused. The names are printed exactly the same in logs (verified with hexdump), not just similar. 10:07 <+bridge> [ddnet] but it also returns true somewhere else doesnt it 10:08 <+bridge> [ddnet] No 10:08 <+bridge> [ddnet] only if the `Set` parameter is true, which it isn't for WouldClientNameChange 10:08 <+bridge> [ddnet] i see the opposite 10:09 <+bridge> [ddnet] or better 10:09 <+bridge> [ddnet] i see it true when setclientname is set 10:09 <+bridge> [ddnet] what is setclientname? 10:10 <+bridge> [ddnet] a function that is called by the gamecontext on player mconnect mesage 10:10 <+bridge> [ddnet] But we only call that when WouldClientNameChange was true 10:11 <+bridge> [ddnet] not when NETMSGTYPE_CL_STARTINFO is set 10:11 <+bridge> [ddnet] ehm, we don't check that startinfo has been set already? 10:11 <+bridge> [ddnet] so you can only change the name by this packet? 10:12 <+bridge> [ddnet] ah, we do. first line is `if(pPlayer->m_IsReady) return;` 10:12 <+bridge> [ddnet] but maybe the name was set before 10:12 <+bridge> [ddnet] or is that impossible? 10:12 <+bridge> [ddnet] NETMSGTYPE_CL_CHANGEINFO does not check for ready 10:13 <+bridge> [ddnet] but i also not 100% into this whole code 10:14 <+bridge> [ddnet] could they keep renaming? I don't get it 10:14 <+bridge> [ddnet] maybe they have some bot client that changes skins or smth like that and spam the info directly 10:15 <+bridge> [ddnet] idk 10:15 <+bridge> [ddnet] as said i dunno how sensitive the server is with packets, bcs im not too much into it 10:15 <+bridge> [ddnet] but thats something i could imagine xd 10:24 <+bridge> [ddnet] the server doesnt care about NETMSGTYPE_CL_STARTINFO 10:25 <+bridge> [ddnet] if(m_aClients[ClientID].m_State == CClient::STATE_READY) 10:25 <+bridge> [ddnet] is outside of the return true 10:25 <+bridge> [ddnet] so i guess this is possible 10:39 <+bridge> [ddnet] ok it does check it indeed 10:47 <+ChillerDragon> @deen you mean the 'nameless tee' -> 'nameless tee' log messages right? Spammed all over the place by a few tees. As far as i remember those are usually clan or skin change binds bound to a and d for example 10:53 <+bridge> [ddnet] ChillerDragon: Yes, but why would a clan/skin change show up? 10:54 <+bridge> [ddnet] I can't reproduce it or understasnd how 10:56 <+bridge> [ddnet] yeah me neither now xd 10:57 <+bridge> [ddnet] Would be much easier if our professional pentesters also reported how they did their cheats 11:12 <+ChillerDragon> haha the front :D 11:14 <+ChillerDragon> hm i can also no longer reproduce it but i remember seeing my clan bind in my logs at some point 11:15 <+ChillerDragon> I really would love to see a nice pdf by pink rat documenting ddnet map skips :D 11:18 <+bridge> [ddnet] ok, got it 11:22 <+bridge> [ddnet] just wow 11:31 <+bridge> [ddnet] I'd like to deploy 3426 quickly. Someone got time to review? 11:56 <+bridge> [freenode] Okay, I've taken a look. 11:56 <+bridge> [ddnet] thanks 12:39 <+bridge> [ddnet] @deen here??? 12:47 <+bridge> [ddnet] @Roco sometimes 12:49 <+bridge> [ddnet] @deen apparently their server broke while hosting a tournament, he was asking whether we could host gctf for them again 12:54 <+bridge> [ddnet] <ᶰ°Konͧsti> :feelsbadman: 14:10 <+bridge> [ddnet] guys can any1 help out with servers? we need 4 servers, else we will cancel the tournament 14:39 <+bridge> [ddnet] <Дядя Женя> ping deen 15:13 <+bridge> [ddnet] I got it set up, was going to do it but I didn't have access on the computer I was on 16:44 <+ChillerDragon> @Roco sure i can help w servers 16:47 <+bridge> [ddnet] Learath2 already did 16:48 <+ChillerDragon> oh 18:50 <+bridge> [ddnet] Sorry, I wasn't home 19:30 <+bridge> [ddnet] The format of today's AoC looked 100% like a DCG, so I just used sed+prolog to run it: https://github.com/def-/adventofcode-2020/blob/master/day19.pl 19:35 <+bridge> [ddnet] whats this magick 19:36 <+bridge> [ddnet] https://www.metalevel.at/prolog/dcg 19:36 <+bridge> [ddnet] an easy way to define a grammar in prolog. You could do it without that, but it's a bit more syntax 19:36 <+bridge> [ddnet] 😯 19:38 <+bridge> [ddnet] Maybe I should consider this my sed-solution 😄 19:39 <+bridge> [ddnet] if u want a challenge program it for a GPU 19:40 <+bridge> [ddnet] I think this explains it better actually: https://en.wikipedia.org/wiki/Prolog_syntax_and_semantics#Definite_clause_grammars 19:40 <+bridge> [ddnet] I don't, I've gotten lazy and am searching for the easiest solutions now 😄 19:41 <+bridge> [ddnet] i also got lazy :pepeH: 19:41 <+bridge> [ddnet] I have some multiprocessing languages on my list, but felt like it's too stupid to split up these small problems into chunks 21:48 <+bridge> [ddnet] I actually had this grammar stuff in first semester.. too bad I already forgot everything 21:49 <+bridge> [ddnet] But I still remember the name of the algorithm 21:49 <+bridge> [ddnet] It's called CYK 21:50 <+bridge> [ddnet] We had to do the algorithm by hand in table from for the exam 21:50 <+bridge> [ddnet] We had to do the algorithm by hand in table form for the exam