09:31 <+bridge> [ddnet] ```cpp 09:31 <+bridge> [ddnet] mem_copy(&pPacket->m_aChunkData[pPacket->m_DataSize], &SecurityToken, sizeof(SecurityToken));``` 09:31 <+bridge> [ddnet] m_aChunkData is a unsigned char 09:31 <+bridge> [ddnet] and securitytoken is a int 09:31 <+bridge> [ddnet] is securitytoken never over 256? 09:31 <+bridge> [ddnet] or how this works 09:32 <+bridge> [ddnet] it probably just interprets each of the four bytes of the integer as separate characters 09:32 <+bridge> [ddnet] why not use a variableint for this 09:32 <+bridge> [ddnet] i guess... 09:32 <+bridge> [ddnet] but if it would do that 09:32 <+bridge> [ddnet] if securitytoken is 0x11223344 then chunkdata = { 0x11, 0x22, 0x33, 0x44 09:32 <+bridge> [ddnet] a variableint would be better i think 09:32 <+bridge> [ddnet] or reverse if endian 09:32 <+bridge> [ddnet] idk how variable int works but thats how memcpy works 09:33 <+bridge> [ddnet] variableint is whats used to pack ints 09:33 <+bridge> [ddnet] idk why it doesnt use it on security token 09:33 <+bridge> [ddnet] 09:33 <+bridge> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/500209422757527552/unknown.png 09:33 <+bridge> [ddnet] it uses memcpy 09:33 <+bridge> [ddnet] yes 09:33 <+bridge> [ddnet] so i guess securitytoken is never over 256 09:34 <+bridge> [ddnet] or i dont understand 09:34 <+bridge> [ddnet] wat 09:34 <+bridge> [ddnet] it separates it to 4 bytes? 09:34 <+bridge> [ddnet] with magick 09:34 <+bridge> [ddnet] ? 09:34 <+bridge> [ddnet] [2:32 AM] onby: if securitytoken is 0x11223344 then chunkdata = { 0x11, 0x22, 0x33, 0x44 09:34 <+bridge> [ddnet] u sure memcpy does that 09:34 <+bridge> [ddnet] with pointer arithmetic i believe memcpy typecasts everything to some char type internally 09:34 <+bridge> [ddnet] im almost 100% sure 09:34 <+bridge> [ddnet] it might be the opposite order but same idea 09:35 <+bridge> [ddnet] i could do that 09:35 <+bridge> [ddnet] but i dont know if i have to do it big endian or little endian 09:35 <+bridge> [ddnet] whats wrong with how it works currently 09:35 <+bridge> [ddnet] or system endianness? 09:35 <+bridge> [ddnet] nothing, i want to know endianess used for this 09:35 <+bridge> [ddnet] now 09:35 <+bridge> [ddnet] xD 09:35 <+bridge> [ddnet] system endianess? 09:35 <+bridge> [ddnet] what if server is big endian 09:35 <+bridge> [ddnet] and u little endian 09:35 <+bridge> [ddnet] i dont understand 09:36 <+bridge> [ddnet] variableint solves that 09:36 <+bridge> [ddnet] from what i read here 09:37 <+bridge> [ddnet] ` unsigned char a[4] = { 0 }; 09:37 <+bridge> [ddnet] unsigned int b = 0x11223344; 09:37 <+bridge> [ddnet] memcpy(a, &b, sizeof(b)); 09:37 <+bridge> [ddnet] printf("%x %x %x %x\n", a[0], a[1], a[2], a[3]);` 09:37 <+bridge> [ddnet] 09:37 <+bridge> [ddnet] prints 09:37 <+bridge> [ddnet] `44 33 22 11` 09:37 <+bridge> [ddnet] xd 09:37 <+bridge> [ddnet] u are little endian 09:37 <+bridge> [ddnet] most systems are little endian nowadays 09:37 <+bridge> [ddnet] no u 09:37 <+bridge> [ddnet] ok so ill do that 09:37 <+bridge> [ddnet] ive never seen a big endian system before 09:38 <+bridge> [ddnet] i know it exists but still 09:38 <+bridge> [ddnet] struck.pack on python 09:38 <+bridge> [ddnet] why py 09:38 <+bridge> [ddnet] i want to make a headless client on python 09:38 <+bridge> [ddnet] and learn machine learning 09:38 <+bridge> [ddnet] xddd 09:38 <+bridge> [ddnet] why not c++? sounds cool tho 09:38 <+bridge> [ddnet] idk 09:39 <+bridge> [ddnet] i think python is better for this 09:39 <+bridge> [ddnet] cuz its more used in scienctific things 09:39 <+bridge> [ddnet] or idk 09:39 <+bridge> [ddnet] anyway im using python 09:40 <+bridge> [ddnet] https://www.tensorflow.org/tutorials/ 09:40 <+bridge> [ddnet] this famous ml lib uses python 09:40 <+bridge> [ddnet] ahh 09:40 <+bridge> [ddnet] are u making a bot :troll: 09:41 <+bridge> [ddnet] im making the smartest bot 09:41 <+bridge> [ddnet] :troll: 09:41 <+bridge> [ddnet] :feelsamazingman: :banhammer: 09:41 <+bridge> [ddnet] tho first i have to get through actually connecting to a sv xd 09:42 <+bridge> [ddnet] yesterday spent 2 hours porting huffman 09:42 <+bridge> [ddnet] pain 09:42 <+bridge> [ddnet] i made a ~800 line textonly client but its kinda fucky 09:42 <+bridge> [ddnet] but c++ so i could copy everything from tw that i needed lool 09:42 <+bridge> [ddnet] but u used teeworlds code right 09:43 <+bridge> [ddnet] yeah 09:43 <+bridge> [ddnet] yea 09:45 <+bridge> [ddnet] :toptri: 09:45 <+bridge> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/500212315430453248/unknown.png 09:45 <+bridge> [ddnet] 👍 09:47 <+bridge> [ddnet] i guess security token is always packed with 4 bytes even if it doesnt need to? 09:47 <+bridge> [ddnet] yes sizeof(securitytoken) always same size 09:47 <+bridge> [ddnet] k 09:48 <+bridge> [ddnet] im just gonna ask this here 09:48 <+bridge> [ddnet] does anyone know how does teeworlds apply color to a tee 09:48 <+bridge> [ddnet] with love 09:48 <+bridge> [ddnet] settings->tee 09:48 <+bridge> [ddnet] ... 09:48 <+bridge> [ddnet] :pepeH: 09:48 <+bridge> [ddnet] like the game code 09:49 <+bridge> [ddnet] does it apply some kind of a mask or what 09:49 <+bridge> [ddnet] and how does it get color codes 09:49 <+bridge> [ddnet] u mean how is the color stored? or sent? or rendered? 09:49 <+bridge> [ddnet] rendered 09:49 <+bridge> [ddnet] oh 09:49 <+bridge> [ddnet] idfk lol 09:50 <+bridge> [ddnet] blend? 09:50 <+bridge> [ddnet] idk 09:50 <+bridge> [ddnet] i didnt see much rendering code 09:50 <+bridge> [ddnet] maybe look at the opengl shaders or smth 09:50 <+bridge> [ddnet] or look at src/base/color.h ? 09:50 <+bridge> [ddnet] lemme try somethin 09:51 <+bridge> [ddnet] @Lack o' Jantern 09:51 <+bridge> [ddnet] `vec3 CSkins::GetColorV3(int v) 09:51 <+bridge> [ddnet] { 09:51 <+bridge> [ddnet] return HslToRgb(vec3(((v>>16)&0xff)/255.0f, ((v>>8)&0xff)/255.0f, 0.5f+(v&0xff)/255.0f*0.5f)); 09:51 <+bridge> [ddnet] } 09:51 <+bridge> [ddnet] 09:51 <+bridge> [ddnet] vec4 CSkins::GetColorV4(int v) 09:51 <+bridge> [ddnet] { 09:51 <+bridge> [ddnet] vec3 r = GetColorV3(v); 09:51 <+bridge> [ddnet] return vec4(r.r, r.g, r.b, 1.0f); 09:51 <+bridge> [ddnet] }` 09:51 <+bridge> [ddnet] thats helpful 09:51 <+bridge> [ddnet] @onby cancer 09:51 <+bridge> [ddnet] `const int TeamColors[2] = {65387, 10223467}; 09:51 <+bridge> [ddnet] if(m_Team >= TEAM_RED && m_Team <= TEAM_BLUE) 09:51 <+bridge> [ddnet] { 09:51 <+bridge> [ddnet] m_RenderInfo.m_ColorBody = g_GameClient.m_pSkins->GetColorV4(TeamColors[m_Team]); 09:51 <+bridge> [ddnet] m_RenderInfo.m_ColorFeet = g_GameClient.m_pSkins->GetColorV4(TeamColors[m_Team]); 09:52 <+bridge> [ddnet] }` 09:52 <+bridge> [ddnet] kinda 09:52 <+bridge> [ddnet] @onby use triple backsticks 09:52 <+bridge> [ddnet] u 09:52 <+bridge> [ddnet] omg 09:52 <+bridge> [ddnet] also yeah triple backticks xd 09:52 <+bridge> [ddnet] @onby ```cpp 09:52 <+bridge> [ddnet] no u 09:52 <+bridge> [ddnet] ``` 09:52 <+bridge> [ddnet] ```const int TeamColors[2] = {65387, 10223467}; 09:52 <+bridge> [ddnet] if(m_Team >= TEAM_RED && m_Team <= TEAM_BLUE) 09:52 <+bridge> [ddnet] { 09:52 <+bridge> [ddnet] m_RenderInfo.m_ColorBody = g_GameClient.m_pSkins->GetColorV4(TeamColors[m_Team]); 09:53 <+bridge> [ddnet] m_RenderInfo.m_ColorFeet = g_GameClient.m_pSkins->GetColorV4(TeamColors[m_Team]); 09:53 <+bridge> [ddnet] }``` 09:53 <+bridge> [ddnet] @Lack o' Jantern 09:53 <+bridge> [ddnet] ```vec3 CSkins::GetColorV3(int v) 09:53 <+bridge> [ddnet] { 09:53 <+bridge> [ddnet] return HslToRgb(vec3(((v>>16)&0xff)/255.0f, ((v>>8)&0xff)/255.0f, 0.5f+(v&0xff)/255.0f*0.5f)); 09:53 <+bridge> [ddnet] } 09:53 <+bridge> [ddnet] 09:53 <+bridge> [ddnet] vec4 CSkins::GetColorV4(int v) 09:53 <+bridge> [ddnet] { 09:53 <+bridge> [ddnet] vec3 r = GetColorV3(v); 09:53 <+bridge> [ddnet] return vec4(r.r, r.g, r.b, 1.0f); 09:53 <+bridge> [ddnet] }``` 09:53 <+bridge> [ddnet] fine 09:54 <+bridge> [ddnet] now im trying to apply some color to a tee in css 09:55 <+bridge> [ddnet] anyone knows if the high res time from time_get() on system.h is in ns or s 09:56 <+bridge> [ddnet] @onby ! 09:56 <+bridge> [ddnet] it depends on ur OS 09:56 <+bridge> [ddnet] but how it stores at the end 09:56 <+bridge> [ddnet] teeworlds 09:56 <+bridge> [ddnet] on mac it is `long long time_freq() { return 1000000000; }` 09:56 <+bridge> [ddnet] on linux it is `long long time_freq() { return 1000000; }` 09:56 <+bridge> [ddnet] and then windows is sum other shit 09:57 <+bridge> [ddnet] windows is this 09:57 <+bridge> [ddnet] https://msdn.microsoft.com/en-us/library/windows/desktop/ms644904%28v=vs.85%29.aspx?f=255&MSPPError=-2147217396 09:57 <+bridge> [ddnet] it uses this 09:58 <+bridge> [ddnet] ill just use ns on python 09:58 <+bridge> [ddnet] 👍 10:15 <+bridge> [ddnet] @onby 10:15 <+bridge> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/500219901810573319/unknown.png 10:15 <+bridge> [ddnet] tw code xD 10:15 <+bridge> [ddnet] lmao 10:15 <+bridge> [ddnet] i saw this 10:15 <+bridge> [ddnet] in network.cpp or something right 10:15 <+bridge> [ddnet] network_conn 10:15 <+bridge> [ddnet] lolol 10:18 <+bridge> [ddnet] @onby on a ringbuffer u append or prepend new data? 10:18 <+bridge> [ddnet] i guess append 10:18 <+bridge> [ddnet] i think append makes more sense right 10:19 <+bridge> [ddnet] then u can start from the bginning 10:19 <+bridge> [ddnet] i havent done too much with ring buffer tho 10:20 <+bridge> [ddnet] this is my ringbuffer on python 10:20 <+bridge> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/500221203730923521/unknown.png 10:20 <+bridge> [ddnet] so ez 10:20 <+bridge> [ddnet] thats it? 10:20 <+bridge> [ddnet] yes 10:21 <+bridge> [ddnet] a deque with max length 10:21 <+bridge> [ddnet] if u append and it goes over max len it deletes first 10:21 <+bridge> [ddnet] ohh cool 10:21 <+bridge> [ddnet] i ws wondering how it was a ring lol 10:21 <+bridge> [ddnet] xd 10:21 <+bridge> [ddnet] ringbuffer.h on tw 10:21 <+bridge> [ddnet] its lot more code tho xD 10:22 <+bridge> [ddnet] yes i saw xd 10:22 <+bridge> [ddnet] lucky i dont have to implement it 10:23 <+bridge> [ddnet] neither do i because i stole the code :troll: 10:26 <+bridge> [ddnet] :feelsgoodman: 12:52 <+bridge> [ddnet] well in case you still need to do the master/server info stuff for your python client: 12:52 <+bridge> [ddnet] https://github.com/DaRealFreak/Teeworlds-ServerInfo 13:22 <+bridge> [ddnet] teeworlds 0.7 release when?? 13:22 <+bridge> [ddnet] its friday:thonkery: 13:42 <+bridge> [ddnet] @Dev so what exactly happened to ddnet in 11.4.4? the client gets this freeze on almost done loadign the browser for 4 times. but since i updated to 11.4.4 its also on older clients. how is it connected and when will it be fixed? 13:43 <+bridge> [ddnet] I'm guessing it's because of the master server issue 13:43 <+bridge> [ddnet] It'll probably be fixed when one of us can reproduce it and profile it. 13:44 <+bridge> [ddnet] I'd also be up to fixing it if someone gets me some profiling data 13:44 <+bridge> [ddnet] @onby found more gold 13:44 <+bridge> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/500272558382514181/unknown.png 13:44 <+bridge> [ddnet] hahhahaha 13:47 <+bridge> [ddnet] @Learath2 what do you need? 13:48 <+bridge> [ddnet] @Ryozuki xd 13:48 <+bridge> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/500273544211595264/Screen_Shot_2018-10-12_at_6.48.12_AM.png 13:48 <+bridge> [ddnet] xD 13:49 <+bridge> [ddnet] @onby 13:49 <+bridge> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/500273755868626945/unknown.png 13:49 <+bridge> [ddnet] Well you can try gprof 13:49 <+bridge> [ddnet] lmao 13:49 <+bridge> [ddnet] 13:49 <+bridge> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/500273890753511455/Screen_Shot_2018-10-12_at_6.49.41_AM.png 13:49 <+bridge> [ddnet] @Learath2 whats gprof? 13:49 <+bridge> [ddnet] good profiler 13:50 <+bridge> [ddnet] for linux 13:50 <+bridge> [ddnet] @onby coder was not smart when he did it apparently 13:50 <+bridge> [ddnet] in case u cant tell by the code 13:50 <+bridge> [ddnet] @Learath2 dont you have that issue? 13:51 <+bridge> [ddnet] Nope. But it might just be that all the computers I have are too strong for it to be noticable 13:51 <+bridge> [ddnet] i have a pretty good computer aswell, wonder how that could be the difference 😄 13:52 <+bridge> [ddnet] I also compile my own copy of the client. That could be it. 13:53 <+bridge> [ddnet] for me its also on self-compiled client 13:53 <+bridge> [ddnet] Release profile? 13:53 <+bridge> [ddnet] but maybe because 11.4.4 fcked something up, as i said now older clients from me have it too. 13:53 <+bridge> [ddnet] yes, sure 13:54 <+bridge> [ddnet] If the older clients have it too I doubt its a client issue at all 13:54 <+bridge> [ddnet] Maybe we have a blocking network call somewhere 13:54 <+bridge> [ddnet] but its somehow introduced in 11.4.4 13:54 <+bridge> [ddnet] and: ive used a seperate config directory for the older client i tested 13:54 <+bridge> [ddnet] it was 11.3 or so 13:55 <+bridge> [ddnet] Bugs are not infectious diseases :P 13:55 <+bridge> [ddnet] what do you mean by that? 13:56 <+bridge> [ddnet] If the bug was introduced in 11.4.4 it cant affect any version before. 13:56 <+bridge> [ddnet] how is it possible then? 😄 13:57 <+bridge> [ddnet] oh 13:57 <+bridge> [ddnet] wait a sec learath 13:57 <+bridge> [ddnet] That's why I said maybe its the DoS on the masters and we have a blocking network call somewhere 13:58 <+bridge> [ddnet] its not about pc speed 13:58 <+bridge> [ddnet] i dont know what i did yesterday, but ive just tested it with 11.3.1 again and it seems like there are no freezes 13:58 <+bridge> [ddnet] my pc is new too 13:58 <+bridge> [ddnet] if, then network 13:58 <+bridge> [ddnet] Well doesn't happen on mine. Could be network 13:58 <+bridge> [ddnet] Maybe you disabled gfx threaded? 13:58 <+bridge> [ddnet] nah xd 13:59 <+bridge> [ddnet] well my network isnt bad either 13:59 <+bridge> [ddnet] but could be the routing 14:00 <+bridge> [ddnet] i might be on to something 14:00 <+bridge> [ddnet] give me 5 minutes 14:00 <+bridge> [ddnet] have u turned off all filter @Learath2 ? 14:00 <+bridge> [ddnet] so all 600servers showing 14:01 <+bridge> [ddnet] I'm outside now 14:01 <+bridge> [ddnet] ok 14:01 <+bridge> [ddnet] But yes I had unchecked it 14:01 <+bridge> [ddnet] mh ok 14:01 <+bridge> [ddnet] At which stage does it seem to lag? 14:02 <+bridge> [ddnet] at the end 14:02 <+bridge> [ddnet] While sending out the serverinfo requests? Or initially talkikg to the masters? 14:02 <+bridge> [ddnet] more when all servers are loaded already 14:02 <+bridge> [ddnet] thats why i wondered if there is some request to the master server that is blocking 14:02 <+bridge> [ddnet] Hmm maybe the bubblesort? 14:03 <+bridge> [ddnet] well the profiler shows that 14:03 <+bridge> [ddnet] but i never had this insane lag before 14:03 <+bridge> [ddnet] 11.3 14:03 <+bridge> [ddnet] was it altered lately? 14:03 <+bridge> [ddnet] Nope 14:03 <+bridge> [ddnet] Well you could try not sorting the serverlist 14:04 <+bridge> [ddnet] yeah the lag is smaller but still there 14:07 <+bridge> [ddnet] hah 14:07 <+bridge> [ddnet] got it 14:07 <+bridge> [ddnet] sec 14:08 <+bridge> [ddnet] its the sorting for sure 14:08 <+bridge> [ddnet] but the question is what was different in 11.3 14:09 <+bridge> [ddnet] maybe its because all servers are filled up with those spoof tees? 14:09 <+bridge> [ddnet] you mean client side? 14:10 <+bridge> [ddnet] maybe the client sorts the players from the serverinfo? 14:10 <+bridge> [ddnet] yes 14:10 <+bridge> [ddnet] thats why i wonder 14:10 <+bridge> [ddnet] if they are added client sided 14:10 <+bridge> [ddnet] okay so 14:10 <+bridge> [ddnet] then this would be the reason 14:10 <+bridge> [ddnet] bcs the lag happens if i sort to player count 14:10 <+bridge> [ddnet] i have this issue also on older clients. if i use my normal config directory. 14:10 <+bridge> [ddnet] i have many friends added and that seems to affect it a bit 14:11 <+bridge> [ddnet] i also noticed the lag, i always sort by player count 14:11 <+bridge> [ddnet] and if i use a plain settings file there is no such freeze 14:11 <+bridge> [ddnet] i dunno @fokkonaut i use 11.3 and 11.4 right now both same config 14:11 <+bridge> [ddnet] lag only happens in 11.4 14:11 <+bridge> [ddnet] for me also on 11.3.1 14:11 <+bridge> [ddnet] i mean a very smal lag is ok 14:11 <+bridge> [ddnet] some kind of 14:11 <+bridge> [ddnet] but in 11.4 its insane 14:12 <+bridge> [ddnet] no its not related to sorting by players 14:12 <+bridge> [ddnet] that would be strange indeed 14:12 <+bridge> [ddnet] but i get less lag if i sort to server name 14:13 <+bridge> [ddnet] my guess is that its just always sorting the player list for each server and thats causing the lag since the spoof attack 14:13 <+bridge> [ddnet] this bug definitely has to do with the spoof 14:13 <+bridge> [ddnet] it's for sure the sorting 14:13 <+bridge> [ddnet] if you turn on every single filter, thereare no freezes 14:13 <+bridge> [ddnet] but why not in 11.3 @timakro testing right now 14:13 <+bridge> [ddnet] was there a client side change? 14:13 <+bridge> [ddnet] let me test older versions as well 14:14 <+bridge> [ddnet] @timakro for me its also in 11.3.1 14:14 <+bridge> [ddnet] compiling 1.13 ... 14:15 <+bridge> [ddnet] 11.3* 14:15 <+bridge> [ddnet] and @Jupstar ✪ i noticed if you have every filter enabled (or almost every) and refresh and then untick some AFTER you have refrshed, the lag will happen then 14:15 <+bridge> [ddnet] yeah that would make sense if the sorting happens again 14:15 <+bridge> [ddnet] @Jupstar ✪ dont you have that bug in 11.3?= 14:16 <+bridge> [ddnet] i mean the sorting is shit, a small lag is legit 14:16 <+bridge> [ddnet] not that strong 14:16 <+bridge> [ddnet] just the normal fps drops 14:16 <+bridge> [ddnet] i will give you my config, try it again 14:16 <+bridge> [ddnet] in 11.4 i have freezes 14:16 <+bridge> [ddnet] i will profile it with valgrind 14:16 <+bridge> [ddnet] well i did too, it showed the sorting algorithm 14:16 <+bridge> [ddnet] yes same problem on 11.3 14:17 <+bridge> [ddnet] it's funny that you seem to have the same lags, on 11.4 i get much stronger ones xD 14:17 <+bridge> [ddnet] @timakro did you test with default config or your own? 14:17 <+bridge> [ddnet] if they would have been in older version i would have noticed i think 14:18 <+bridge> [ddnet] for me the lags began with 11.4.4, also on older clients. but maybe because in that time the spoofing began again 14:18 <+bridge> [ddnet] my own 14:18 <+bridge> [ddnet] @timakro try with defaulkt 14:18 <+bridge> [ddnet] 14:18 <+bridge> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/500281090242773003/settings_ddnet.cfg 14:18 <+bridge> [ddnet] yes the attacker didn't fill up the servers all the time 14:18 <+bridge> [ddnet] @timakro try with default 14:19 <+bridge> [ddnet] and this bug only happens on the INTERNET tab 14:20 <+bridge> [ddnet] never tried ddnet with valgrind 14:20 <+bridge> [ddnet] cant get it to work 14:20 <+bridge> [ddnet] oh maybe just super slow 14:20 <+bridge> [ddnet] yeah 14:20 <+bridge> [ddnet] its insanly slow xD 14:20 <+bridge> [ddnet] because SDL leaks too much xd 14:21 <+bridge> [ddnet] wow i have like 2 fps in the menus 14:22 <+bridge> [ddnet] NASA PC 14:23 <+bridge> [ddnet] well got a 4 core 3.2ghz Phenom processor 14:23 <+bridge> [ddnet] 😄 14:23 <+bridge> [ddnet] for my ancient motherboard 14:23 <+bridge> [ddnet] @fokkonaut what CPU do u have? 14:24 <+bridge> [ddnet] maybe u don't notice the difference between 11.4 adn 11.3 14:24 <+bridge> [ddnet] Intel Core i5-7500, 3.4ghz 14:24 <+bridge> [ddnet] mhh so also pretty old 14:24 <+bridge> [ddnet] or weak 14:24 <+bridge> [ddnet] its good 14:24 <+bridge> [ddnet] 1.5 years old 14:24 <+bridge> [ddnet] or max 2 14:24 <+bridge> [ddnet] but could be your RAM too 14:24 <+bridge> [ddnet] have 16gb 14:24 <+bridge> [ddnet] but what speed /latency xd 14:25 <+bridge> [ddnet] what u mean 14:25 <+bridge> [ddnet] nvm dude 14:25 <+bridge> [ddnet] its just weird that i am pretty sure 11.3 runs better 14:25 <+bridge> [ddnet] i also tested clang instead of gcc to be sure its not some compiler optimazation missing 14:25 <+bridge> [ddnet] 14:25 <+bridge> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/500282986164518933/unknown.png 14:26 <+bridge> [ddnet] 14:26 <+bridge> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/500283062890790912/callgrind.out.13884 14:26 <+bridge> [ddnet] 14:26 <+bridge> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/500283175436812289/unknown.png 14:27 <+bridge> [ddnet] getfriendstate looks pretty bad 14:28 <+bridge> [ddnet] as i said, removing all my friends did work better 14:30 <+bridge> [ddnet] aaaah, it's probably iterating over all players to find friends 14:30 <+bridge> [ddnet] indeed 14:30 <+bridge> [ddnet] yeah, should be optimized with the ongoing attack 14:30 <+bridge> [ddnet] I had a similar problem wiht ddnet.tw/status getting slowed down 😃 14:30 <+bridge> [ddnet] hmm i tried just returning 0 from that function but it doesnt fix it completely 14:30 <+bridge> [ddnet] i'll try the skin scan as well 14:31 <+bridge> [ddnet] but @deen why should 11.3 run smoother? lol 14:31 <+bridge> [ddnet] it doesnt for me at least 14:31 <+bridge> [ddnet] 😵 14:31 <+bridge> [ddnet] but your callgrind looks also different 14:31 <+bridge> [ddnet] 14:31 <+bridge> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/500284475822047232/unknown.png 14:32 <+bridge> [ddnet] mine shows alot more usage in the filter 14:32 <+bridge> [ddnet] this filteredbla...? 14:32 <+bridge> [ddnet] well the sort already 14:32 <+bridge> [ddnet] in your case the two threads just run differently or smth 14:33 <+bridge> [ddnet] or the start just took to long for u xD 14:33 <+bridge> [ddnet] depends on what you do while its running probably 14:33 <+bridge> [ddnet] it took forever 14:33 <+bridge> [ddnet] so it could be that for u both lag, but you dont notice 11.4 lags longer xD 14:34 <+bridge> [ddnet] that's the only explaination i would have tbh xd 14:34 <+bridge> [ddnet] ok so i tried not running the functions 14:34 <+bridge> [ddnet] - the friends function GetFriendState was a huge improvement 14:34 <+bridge> [ddnet] - the skin function SkinScan changed nothing i could notice 14:34 <+bridge> [ddnet] still it doesn't fix it completely for my pc 14:35 <+bridge> [ddnet] are you sure you tested 11.3 with the attacks going on 14:35 <+bridge> [ddnet] @timakro you have gfx_asyncrender_old 1 I hope 14:36 <+bridge> [ddnet] its 1 for me yes 14:36 <+bridge> [ddnet] ok 14:36 <+bridge> [ddnet] what is that setting? 14:36 <+bridge> [ddnet] i tested both right now 14:37 <+bridge> [ddnet] 0 could make the GUI rendering wait for CPU thread to be done 14:37 <+bridge> [ddnet] it's either a new compiler version or new code 14:37 <+bridge> [ddnet] i use the website releases 14:37 <+bridge> [ddnet] i compiled myself with clang and gcc 14:37 <+bridge> [ddnet] 11.3 runs better 14:37 <+bridge> [ddnet] and i made sure im in release build xDDDDDD 14:38 <+bridge> [ddnet] tbh i didn't pay attention to how bad it is really 14:38 <+bridge> [ddnet] but i have the problem in both versions 14:40 <+bridge> [ddnet] quick fix would be just not doing the friends check for "(connecting)" 14:40 <+bridge> [ddnet] yes 14:41 <+bridge> [ddnet] ill try that 14:41 <+bridge> [ddnet] https://github.com/ddnet/ddnet-scripts/blob/master/servers/scripts/ddnet.py#L158 14:41 <+bridge> [ddnet] 😉 14:41 <+bridge> [ddnet] hehe 14:41 <+bridge> [ddnet] https://github.com/ddnet/ddnet-scripts/blob/master/servers/scripts/ddnet.py#L405 14:41 <+bridge> [ddnet] actually that one 14:41 <+bridge> [ddnet] is that the website serverstatus? 14:41 <+bridge> [ddnet] yeah 14:42 < ddnet-commits> [ddnet] def- pushed 1 new commit to master: https://git.io/fx4cr 14:42 < ddnet-commits> ddnet/master e02a995 Dennis Felsing: Remove unused cl_eventthread 14:44 <+bridge> [ddnet] i don't remember the lag beeing that bad, whats going on 14:44 <+bridge> [ddnet] @Jupstar ✪ did you check that the compiler flags are the same when compiling? Otherwise I guess some new feature made it worse 14:45 <+bridge> [ddnet] or how bad it is varies over time, depending on how many servers are getting attacked right now 14:46 <+bridge> [ddnet] i'm not sure anymore if that fix works at all, now its terrible i feel like its getting worse each time i test 14:47 <+bridge> [ddnet] there is a "filter connecting players" in client already btw 14:49 <+bridge> [ddnet] yes 14:50 <+bridge> [ddnet] its seems to be on default 14:50 <+bridge> [ddnet] yeah 14:50 <+bridge> [ddnet] so that was changed xD 14:50 <+bridge> [ddnet] does it help though? 14:50 <+bridge> [ddnet] 11.3 does have it 14:50 <+bridge> [ddnet] thx 14:50 <+bridge> [ddnet] it helps by not showing you thousands of (connecting) 14:50 <+bridge> [ddnet] now i can die in peace 14:51 <+bridge> [ddnet] doesnt* 14:51 <+bridge> [ddnet] why is it turned off for you in 1.14? 14:51 <+bridge> [ddnet] its on 14:51 <+bridge> [ddnet] 11.4 14:51 <+bridge> [ddnet] but 11.3 doesnt have the option 14:51 <+bridge> [ddnet] that's probs the root of the lag 14:51 <+bridge> [ddnet] oh 14:51 <+bridge> [ddnet] ah 14:51 <+bridge> [ddnet] but 14:51 <+bridge> [ddnet] it's no difference if on or off 14:52 <+bridge> [ddnet] in 11.4 14:52 <+bridge> [ddnet] in perfoirmance ofc 14:52 <+bridge> [ddnet] you can also turn it off and it doesnt refresh players and it just shows (connecting) 14:52 <+bridge> [ddnet] it might just be about whats displayed and not stop those heavy calculations 14:53 <+bridge> [ddnet] well but when i turn it off, shouldnt the behauvior be like in 11.3? 14:54 <+bridge> [ddnet] the flags are the same @deen 14:56 <+bridge> [ddnet] https://github.com/ddnet/ddnet/commit/e2eb4a66dc5face70840e655082799eaa87f738e 14:56 <+bridge> [ddnet] That's the change 14:56 <+bridge> [ddnet] I guess calling FilteredPlayers() at all is already expensive 14:56 <+bridge> [ddnet] Maybe we should rather store m_NumFilteredPlayers 14:56 <+bridge> [ddnet] yeah 14:56 <+bridge> [ddnet] i saw that too now 14:57 <+bridge> [ddnet] I guess that explains why people have slower server browser :/ 14:57 <+bridge> [ddnet] all my fault 14:57 <+bridge> [ddnet] 😄 14:57 <+bridge> [ddnet] your NASA pc is just too strong for tw players 14:57 <+bridge> [ddnet] NASA pc? 14:57 <+bridge> [ddnet] its a joke for a good pc xD 14:58 <+bridge> [ddnet] I'm not running DDNet client on the multi-million dollar servers at work 😄 14:58 <+bridge> [ddnet] haha who knows ^^ 14:59 <+bridge> [ddnet] but yeah, my CPU is overclocked, so single threaded is probably fast enough that I didn't notice 14:59 <+bridge> [ddnet] developers should always have slower machines than users to make sure something like that doesn't happen 😄 14:59 <+bridge> [ddnet] Someone want to fix it? 15:00 <+bridge> [ddnet] nice, so i have the perfect conditions to become a developer 15:00 <+bridge> [ddnet] :o i have a nice pc 15:01 <+bridge> [ddnet] @timakro lot of ppl doesnt even have a gpu and u got one 15:01 <+bridge> [ddnet] @timakro lot of ppl doesnt even have a dedicated gpu and u got one 15:01 <+bridge> [ddnet] :monkaS: 15:01 <+bridge> [ddnet] can you create a virtual computer setup as long as its slower than your real PC? 🤔 15:01 <+bridge> [ddnet] @deen how many cores and what frequency? 15:02 <+bridge> [ddnet] It's only an i7 6700k locked at its turbo frequency, so 4 cores at 4.2 GHz 15:03 <+bridge> [ddnet] you still have the casing which doesn't need fans? 15:04 <+bridge> [ddnet] https://hookrace.net/blog/new-hardware-hacks/ Yeah 15:04 <+bridge> [ddnet] 1 CPU fan and 1 PSU fan is all I have 15:05 <+bridge> [ddnet] okay now i figured out what was going on with my testing i think 15:05 <+bridge> [ddnet] not sure sec 15:06 <+bridge> [ddnet] i think i upgraded during my tests to your commit and then it became terrible ^^ 15:07 <+bridge> [ddnet] it's probs RAM bound anyway 15:07 <+bridge> [ddnet] too much data to sort 15:08 <+bridge> [ddnet] okay so reverting deens change (or fixing it) + the GetFriendState fix are good for me 15:12 <+bridge> [ddnet] great 15:13 <+bridge> [ddnet] @deen How would you implement this differently? 15:13 <+bridge> [ddnet] your chang 15:13 <+bridge> [ddnet] e 15:13 <+bridge> [ddnet] calculate it once and store it 15:13 <+bridge> [ddnet] instead of recalculating all the time 15:13 <+bridge> [ddnet] all the time? 15:13 <+bridge> [ddnet] yeah 15:14 <+bridge> [ddnet] hmm this is running each tick https://github.com/ddnet/ddnet/commit/e2eb4a66dc5face70840e655082799eaa87f738e#diff-3287b2addb72598cfece115cfba5ded8R246 15:14 <+bridge> [ddnet] you mean that? 15:18 <+bridge> [ddnet] @deen I don't have the lag "all the time" it stops after a few seconds 15:24 <+bridge> [ddnet] all calls to FilteredPlayers() 15:25 <+bridge> [ddnet] oh i get it now, saving it on the serverinfo struct 15:55 <+bridge> [ddnet] small question: 15:55 <+bridge> [ddnet] since the ddos I'm getting no results from the master servers or always between 0 and 2 15:55 <+bridge> [ddnet] The data I've got f.e. is (lis2 packet) 15:55 <+bridge> [ddnet] ```b'\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfflis2\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff3\xfe\xb7\xf9 l'``` 15:55 <+bridge> [ddnet] 15:55 <+bridge> [ddnet] does anyone have a hunch why I'm only getting 0-2 while the vanilla client or ddnet client still finds all servers? 15:57 <+bridge> [ddnet] small question: 15:57 <+bridge> [ddnet] since the ddos I'm getting no results from the master servers or always between 0 and 2 15:58 <+bridge> [ddnet] The data I've got f.e. is (lis2 packet) 15:58 <+bridge> [ddnet] ```b'\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfflis2\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff3\xfe\xb7\xf9 l'``` 15:58 <+bridge> [ddnet] does anyone have a hunch why I'm only getting 0-2 while the vanilla client or ddnet client still finds all servers? 16:00 <+bridge> [ddnet] ```sock = socket.socket(family=socket.AF_INET, type=socket.SOCK_DGRAM) 16:00 <+bridge> [ddnet] sock.setblocking(False) 16:00 <+bridge> [ddnet] ... 16:00 <+bridge> [ddnet] sock.sendto(packet, (server.ip, server.port))``` 16:00 <+bridge> [ddnet] 16:00 <+bridge> [ddnet] I'm getting normal responses and it worked before the ddos without any problems, it looks like it would get filtered to me but not sure how 16:00 <+bridge> [ddnet] https://status.tw/?p=services 16:00 <+bridge> [ddnet] has the same problem, worked fine before the ddos started 16:00 <+bridge> [ddnet] ```sock = socket.socket(family=socket.AF_INET, type=socket.SOCK_DGRAM) 16:00 <+bridge> [ddnet] sock.setblocking(False) 16:00 <+bridge> [ddnet] ... 16:00 <+bridge> [ddnet] sock.sendto(packet, (server.ip, server.port))``` 16:00 <+bridge> [ddnet] I'm getting normal responses and it worked before the ddos without any problems, it looks like it would get filtered to me but not sure how 16:27 <+bridge> [ddnet] different source port? 16:27 <+bridge> [ddnet] ah, you're using python 16:28 <+bridge> [ddnet] check in wireshark/tcpdump how the packets differ 16:30 <+bridge> [ddnet] same happens with the php port 16:30 <+bridge> [ddnet] ```$sock = socket_create(AF_INET, SOCK_DGRAM, SOL_UDP); 16:30 <+bridge> [ddnet] socket_set_nonblock($sock); 16:30 <+bridge> [ddnet] ... 16:30 <+bridge> [ddnet] socket_sendto($sock, $packet, strlen($packet), 0, $server->getAttribute('ip'), $server->getAttribute('port'));``` 16:30 <+bridge> [ddnet] 16:30 <+bridge> [ddnet] but yeah guess I'll have to check for differences after work even though it's strange that it happens only since the ddos on the master servers 18:27 <+bridge> [ddnet] So what was it? 20:42 <+bridge> [ddnet] no 0.7 yet 😦 20:45 <+bridge> [ddnet] @fokkonaut 20:45 <+bridge> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/500378450155274260/unknown.png 20:46 <+bridge> [ddnet] what is "inspect element"? 20:46 <+bridge> [ddnet] shh 20:47 <+bridge> [ddnet] why u have to ruin everything 20:49 <+bridge> [ddnet] guys 20:49 <+bridge> [ddnet] ive already seen it @heinrich5991 20:49 <+bridge> [ddnet] ... 20:49 <+bridge> [ddnet] yea, me too. 0.7 is out 🙂 20:49 <+bridge> [ddnet] @fokkonaut where oy says he will release it? 20:49 <+bridge> [ddnet] in a forum thread 20:50 <+bridge> [ddnet] it's called "RIP Teeworlds" 20:50 <+bridge> [ddnet] xD 20:51 <+bridge> [ddnet] @heinrich5991 is it going to get released tomorrow? 20:51 <+bridge> [ddnet] ask oy 20:51 <+bridge> [ddnet] mh 20:54 <+bridge> [ddnet] @heinrich5991 no more admin?! 20:54 <+bridge> [ddnet] ? 20:56 <+bridge> [ddnet] you dont have the admin tag 20:56 <+bridge> [ddnet] role* 20:57 <+bridge> [ddnet] yes. it involved too much work 20:58 <+bridge> [ddnet] and also too much demands from community members, and people being toxic to me without me doing anything against it 20:58 <+bridge> [ddnet] I think I'm happier now 21:18 <+bridge> [ddnet] @heinrich5991 keep in mind, you can't please everyone 22:11 <+bridge> [ddnet] is that a fake screenshot? 22:17 <+bridge> [ddnet] no its real 22:23 <+bridge> [ddnet] it still says 0.6.4 for me 22:24 <+bridge> [ddnet] 0.7 :feelsamazingman: :feelsamazingman: 22:25 <+bridge> [ddnet] nobos refresh the domain 22:25 <+bridge> [ddnet] kappa i dont see it too :monkaS: