02:07 <+bridge> [ddnet] Not sure if this is right place to talk about this, but I just found out that 0.7 has 1 frame delay -- this means that on top of needing antiping, it needs anti-frame-delay 02:08 <+bridge> [ddnet] So let's say someone like Cammo, who plays with 8 ping, plays on a 60Hz monitor -- that's at minimum ~300% delay 02:09 <+bridge> [ddnet] So everybody plays worse and have no idea why 02:10 <+bridge> [ddnet] Not to mention significantly lower FPS 02:10 <+bridge> [ddnet] Not to mention significantly lower FPS (though I don't think most people would be affected by this) 02:12 <+bridge> [ddnet] <ᶰ°Konͧsti> 0.7 :kek: 03:36 <+bridge> [ddnet] 0.6 > 0.7 05:57 <+bridge> [ddnet] @Pathos try gfx_finish 0 and gfx_vsync 0, then 0.7 should be as good as ddnet old renderer 07:10 <+bridge> [ddnet] is there a size limit for audio files 07:25 <+bridge> [ddnet] > @Pathos try gfx_finish 0 and gfx_vsync 0, then 0.7 should be as good as ddnet old renderer 07:25 <+bridge> [ddnet] @Jupstar ✪ Already have those settings 07:26 <+bridge> [ddnet] Thanks for looking out though 09:11 <+bridge> [ddnet] @Pathos what graphics card are you using? 0.7 has the async rendering turned off by default. You could try `gfx_asyncrender 1`. Might help but it can also make it worse =\ 09:12 <+bridge> [ddnet] For me both ddnet and 0.7 feel good in terms of latency 10:15 <+bridge> [ddnet] Why are there no odd numbers on ranks? 10:24 <+bridge> [ddnet] 1000 / 50 = 20 10:24 <+bridge> [ddnet] so 20ms per tw tick 10:37 <+bridge> [ddnet] ah 10:37 <+bridge> [ddnet] <ᶰ°Konͧsti> can we have a command /teamranks [name] [times x] ? 10:38 <+bridge> [ddnet] <ᶰ°Konͧsti> it should list all teamranks from a player on this map 13:19 <+bridge> [ddnet] @deen how do you add the translation texts, have a script for it? 13:19 <+bridge> [ddnet] we should add an option to disable graphic warnings in the graphic settings tab and maybe 13:19 <+bridge> [ddnet] https://github.com/ddnet/ddnet/issues/2676 13:19 <+bridge> [ddnet] remove these instead 13:41 <+bridge> [ddnet] @deen yes, build with -DSTEAM=ON for the steam releases (for windows/macOS it doesn't matter right now, but it doesn't hurt either) 15:58 <+bridge> [ddnet] what this sign mean? 15:58 <+bridge> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/749991503832809533/unknown.png 15:58 <+bridge> [ddnet] seems like background texture was not initialized or something 15:59 <+bridge> [ddnet] reproduced in 100% with old OpenGL 16:00 <+bridge> [ddnet] yeah i think i looked that up some day it was blob.png or some debug texture 16:00 <+bridge> [ddnet] cant remember rn 16:00 <+bridge> [ddnet] correct 16:00 <+bridge> [ddnet] i think blob without blending 16:00 <+bridge> [ddnet] correct (its blob.png) 16:01 <+bridge> [ddnet] if i remember correctly, i just enabled glblend default in 3.3 16:01 <+bridge> [ddnet] that's maybe why its not there 16:01 <+bridge> [ddnet] should I open an issue for this? 16:02 <+bridge> [ddnet] this thing here for a looong time 16:02 <+bridge> [ddnet] i dunno if its fixable, dont have a profiler that works with < gl 3.2 16:02 <+bridge> [ddnet] but i can try later 16:05 <+bridge> [ddnet] `m_State.m_BlendMode = CCommandBuffer::BLEND_ALPHA;` 16:05 <+bridge> [ddnet] can you try that @BannZay in graphics_threaded.cpp 16:05 <+bridge> [ddnet] sadly i barely see the loading screen 16:06 <+bridge> [ddnet] your compucter is too fast 16:06 <+bridge> [ddnet] or i have to take screenshots automtically to test 😄 16:06 <+bridge> [ddnet] yes I will try 16:06 <+bridge> [ddnet] I used obsstudio to catch it 16:06 <+bridge> [ddnet] ah ok 😄 16:07 <+bridge> [ddnet] in the constructor btw 16:08 <+bridge> [ddnet] you are genius my friend 🙂 16:08 <+bridge> [ddnet] it helped 16:09 <+bridge> [ddnet] ok nice, you can create the pr if u want 😄 17:11 <+bridge> [ddnet] @Learath2 do u know why would u use a single element tuple `(x,)` instead of just x (in langs that support them) 17:11 <+bridge> [ddnet] 👀 17:11 <+bridge> [ddnet] hm, maybe to keep an API consistent? 17:11 <+bridge> [ddnet] :tee_thinking: 17:12 <+bridge> [ddnet] @Learath2 apparently haskell doesnt have them 17:12 <+bridge> [ddnet] they consider them useless 17:13 <+bridge> [ddnet] single element tuples? 17:13 <+bridge> [ddnet] does indeed sound like an oxymoron to me 17:19 <+bridge> [ddnet] @Learath2 https://github.com/microsoft/vcpkg 17:19 <+bridge> [ddnet] what do u think about this? 17:19 <+bridge> [ddnet] it has cmake support 17:21 <+Learath2> hadn't seen it before 17:21 <+Learath2> very skeptical, there have been attempts at a c/c++ package manager before, there is a reason none stuck on 17:22 <+bridge> [ddnet] 10k stars 17:22 <+bridge> [ddnet] xd 17:22 <+Learath2> is it a popularity contest? 17:24 <+bridge> [ddnet] :justatest: 17:25 <+bridge> [ddnet] @Learath2 well, i think it is more good for windows than linux 17:25 <+bridge> [ddnet] since distros have their own package managers 17:25 <+bridge> [ddnet] but windows not 17:26 <+Learath2> one issue I see is that it uses the cmake toolchain file, many projects use that for setting up cross compilation instead (including ddnet) 17:27 <+Learath2> Even in linux c/c++ library management is quite awful 17:27 <+bridge> [ddnet] 😆 😆 😆 17:27 <+bridge> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/750013850623016971/unknown.png 17:27 <+Learath2> No good way to pin versions being the major issue imho 20:45 <+bridge> [ddnet] i got it 20:45 <+bridge> [ddnet] my dummy couldn't connect because dummy didn't have name 20:45 <+bridge> [ddnet] its just was empty 20:45 <+bridge> [ddnet] it just was empty 20:45 <+bridge> [ddnet] omg 20:46 <+bridge> [ddnet] also, i could enter to other modes 20:46 <+bridge> [ddnet] with dummy 20:47 <+bridge> [ddnet] also, i could enter to other mods 20:49 <+bridge> [ddnet] is this can be releated with steam name update? 21:15 <+bridge> [ddnet] can we have a visual clue in the leaderboard when a team is in practice mode? 21:17 <+bridge> [ddnet] @Im 'corneum I was going to add this, but it requires a rather tough patch to replace netobjects in snapshots 21:17 <+bridge> [ddnet] i dont know what that means but i hope you get it working 21:18 <+bridge> [ddnet] It requires a motivation boost and some extra time 😄 21:19 <+bridge> [ddnet] @Learath2 i believe in you!!!❤️ 21:19 <+bridge> [ddnet] ... now you only need some extra time 21:19 <+bridge> [ddnet] send time 21:21 <+bridge> [ddnet] 🕘 21:38 <+bridge> [ddnet] 🕰️ 21:39 <+bridge> [ddnet] https://tenor.com/view/clock-time-time-is-running-gif-12559440 21:42 <+bridge> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/750078005543698502/unknown.png 21:43 <+bridge> [ddnet] How is it performing with that many people around? 21:43 <+bridge> [ddnet] i had 128 players at once already :D 21:44 <+bridge> [ddnet] for some minutes, 2 days ago 21:44 <+bridge> [ddnet] works quite good 21:44 <+bridge> [ddnet] also regarding the 0.7 side of the server, seems to work good after i updated the algorithm 21:48 <+bridge> [ddnet] @Learath2 when i tried to send more than 64 players in the client count, like 1-2 years ago it wasnt possible, only the max clients, now it also works for the num clients 21:56 <+bridge> [ddnet] @fokkonaut btw, why not add 128 players to official DDNet? Did we have that discussion already? 21:57 <+bridge> [ddnet] 8192 characters when 21:57 <+bridge> [ddnet] in theory its not hard @deen, you have the algorithm already basically, for me it was only hard because i have to handle 0.7, which uses net msgs, not snapshots 21:58 <+bridge> [ddnet] well, we also support 0.7 21:58 <+bridge> [ddnet] ah, true, lol 21:58 <+bridge> [ddnet] also, i have no client-support 21:58 <+bridge> [ddnet] its all based on the id-maps 21:58 <+bridge> [ddnet] just like ddnets 64 player version in 0.6 22:00 <+bridge> [ddnet] If you are interested, I could add it, my algorithm isnt perfect tho and I do think that it can cause micro laggs, but I think your servers are better anyways 22:01 <+bridge> [ddnet] I wrote my own UpdatePlayerMaps algorithm, to handle some things slightly easier and to have it a bit more improved (i hope, never actually checked, but by feeling its better :D) 22:02 <+bridge> [ddnet] Personally I think it's interesting, not sure if @Learath2 and @heinrich5991 agree 22:13 <+bridge> [ddnet] @deen i needed to improve stuff, such as all players from one ip having the same faked ids among them, to make sure hammerfly and stuff with dummy works fine 22:14 <+bridge> [ddnet] The initial commit bascially has everything already but ofc i fixed some smaller bugs with time 22:54 <+bridge> [ddnet] @Learath2 any tips/ideas on finding protocol bugs which leads to 0.7 client freeze? 22:54 <+bridge> [ddnet] First one I've found was CNetObjPickup which had different size on 0.6 and 0.7 22:54 <+bridge> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/750096251961344130/Screenshot_from_2020-08-31_23-53-12.png 22:54 <+bridge> [ddnet] I've fixed it like this and it worked like a charm 22:55 <+bridge> [ddnet] But it was easy to fix because I knew the pickup will appear and what is causing it to appear. 22:55 <+bridge> [ddnet] Now I have some different network protocol packet which only being sent after a warmup end and it hangs 0.7 client only. 22:56 <+bridge> [ddnet] And I don't know what it could be. 22:56 <+bridge> [ddnet] Hm lemme think 22:57 <+bridge> [ddnet] Client freezes or hangs due to invalid snapshot? 22:57 <+bridge> [ddnet] Seems like that 22:57 <+bridge> [ddnet] can you open menus like settings, f1? 22:57 <+bridge> [ddnet] If yes, its invalid snaos 22:57 <+bridge> [ddnet] snaps* 22:57 <+bridge> [ddnet] yes, that's not client itself freezes 22:57 <+bridge> [ddnet] ok 22:57 <+bridge> [ddnet] then make sure to use correct Sizes 22:57 <+bridge> [ddnet] for all snap objects 22:57 <+bridge> [ddnet] it just seems fail to parse correctly snapshots 22:58 <+bridge> [ddnet] I forgot to adjust one size, then the snap was invalu 22:58 <+bridge> [ddnet] invalid* 22:58 <+bridge> [ddnet] but client doesdn't disconnects so it at least thinks it doing something useful and sends packets to a server 22:58 <+bridge> [ddnet] Yea, its exactly that 22:58 <+bridge> [ddnet] Fix all sizes 22:59 <+bridge> [ddnet] Any thoughts on how to get info from client itself? 22:59 <+bridge> [ddnet] maybe add some debug line somewhere 22:59 <+bridge> [ddnet] Just check all your snaps in the server 22:59 <+bridge> [ddnet] https://github.com/fokkonaut/F-DDrace/commit/116af771d0366da7ff069748b386bcd0ebe3d2cc 22:59 <+bridge> [ddnet] I forgot this one, after I fixed it it worked. 22:59 <+bridge> [ddnet] Check all snaps you send 23:00 <+bridge> [ddnet] first one was HEARTH pickup yeah 23:00 <+bridge> [ddnet] but now I have only 2 clients in snapshots and idk what could be wrong 23:00 <+bridge> [ddnet] tbh I don't know what is in snapshots ofc 23:00 <+bridge> [ddnet] :D 23:00 <+bridge> [ddnet] it just game don't have anything besides 2 characters 23:00 <+bridge> [ddnet] and a map ofc 23:00 <+bridge> [ddnet] Okay, do you have any own custom snap Objects? 23:00 <+bridge> [ddnet] plenty of them 23:00 <+bridge> [ddnet] Then fix all of them 23:01 <+bridge> [ddnet] The sizes need to be correct 23:01 <+bridge> [ddnet] but they're not spawn at the start of a game 23:01 <+bridge> [ddnet] no custom object is in game 23:01 <+bridge> [ddnet] Do you have a github? 23:01 <+bridge> [ddnet] yes but the project is closed source for some period 23:02 <+bridge> [ddnet] at least while there is a threat of playerbase segregation 23:02 <+bridge> [ddnet] at least while there is a threat of clone server 23:02 <+bridge> [ddnet] at least while there is a threat of clone servers 23:02 <+bridge> [ddnet] I don't want players to split on servers 23:02 <+bridge> [ddnet] so no 23:02 <+bridge> [ddnet] it is something related to characters I think 23:03 <+bridge> [ddnet] Its exactly what I said :) 23:03 <+bridge> [ddnet] The netobj translation is just not there :/ 23:04 <+bridge> [ddnet] any tips on what could be added to client itself to raise exception on invalid snapshot state? 23:05 <+bridge> [ddnet] turn on debug mode and check console 23:05 <+bridge> [ddnet] it should say failed delta unpacking 23:05 <+bridge> [ddnet] with information on what object 23:05 <+bridge> [ddnet] hm... I could build a client with debug on... right 23:05 <+bridge> [ddnet] No 23:05 <+bridge> [ddnet] just f1: debug 1 23:05 <+bridge> [ddnet] then check console window 23:05 <+bridge> [ddnet] it doesnt get printed to f1, just to the console window 23:07 <+bridge> [ddnet] wow thanks 23:07 <+bridge> [ddnet] so much info 23:07 <+bridge> [ddnet] and hud is really nice 23:08 <+bridge> [ddnet] it prints some net packets errors which is awesome 23:08 <+bridge> [ddnet] ```[2020-09-01 00:07:11][game]: invalidated index=7 type=-1 ((out of range)) size=8 id=0 23:08 <+bridge> [ddnet] [2020-09-01 00:07:11][game]: invalidated index=8 type=-1 ((out of range)) size=8 id=0 23:08 <+bridge> [ddnet] [2020-09-01 00:07:11][game]: invalidated index=9 type=-1 ((out of range)) size=20 id=0 23:08 <+bridge> [ddnet] ``` 23:08 <+bridge> [ddnet] console is full of this 23:08 <+bridge> [ddnet] and a ```[2020-09-01 00:08:31][client]: prediction time reset! 23:08 <+bridge> [ddnet] [2020-09-01 00:08:32][client]: prediction time reset! 23:08 <+bridge> [ddnet] [2020-09-01 00:08:33][client]: prediction time reset! 23:08 <+bridge> [ddnet] [2020-09-01 00:08:34][client]: prediction time reset! 23:08 <+bridge> [ddnet] ``` 23:09 <+bridge> [ddnet] I think this is something I can work with 23:12 <+bridge> [ddnet] Why dont you listen? :/ 23:12 <+bridge> [ddnet] It is the snap sizes, because they differ in 0.6 and 0.7 23:12 <+bridge> [ddnet] You have to send the correct objects to the specific clients 23:13 <+bridge> [ddnet] I add a dbg_break to delta unpacking failed while testing the bridge 23:14 <+bridge> [ddnet] I also add a dbg_msg printing out every object in the snap in delta unpack and one in snap new item 23:14 <+bridge> [ddnet] > Why dont you listen? :/ 23:14 <+bridge> [ddnet] > It is the snap sizes, because they differ in 0.6 and 0.7 23:14 <+bridge> [ddnet] > You have to send the correct objects to the specific clients 23:14 <+bridge> [ddnet] 23:14 <+bridge> [ddnet] I've listened, still want to know which exact packets are wrong. And this debug info helps me to find. 23:14 <+bridge> [ddnet] I don't have the whole project and type sizes in my brain @fokkonaut far from that 23:15 <+bridge> [ddnet] me neither, but you can use sizeof 23:15 <+bridge> [ddnet] because ddnet has both protocols 23:15 <+bridge> [ddnet] I probably still should add a script to check netobj differences between the protocols and only auto translate if they are the exact same 23:15 <+bridge> [ddnet] To use sizeof I should know what to examine, don't you think? 23:16 <+bridge> [ddnet] @Pure_luck what's the issue here? 23:16 <+bridge> [ddnet] You are sending an invalid object thats breaking the client? 23:16 <+bridge> [ddnet] I am sure "I" do. 23:17 <+bridge> [ddnet] Invalidated index is normal, its the extended protocol objects which get dropped by vanilla 23:17 <+bridge> [ddnet] ok 23:18 <+bridge> [ddnet] but network errors in hud is a useful sign? 23:18 <+bridge> [ddnet] The better way to diagnose this is to first determine how it hangs 23:18 <+bridge> [ddnet] they're not many but they are there 23:18 <+bridge> [ddnet] hm.... 23:18 <+bridge> [ddnet] The better way to diagnose this is to first determine how it hangs 23:19 <+bridge> [ddnet] > The better way to diagnose this is to first determine how it hangs 23:19 <+bridge> [ddnet] 23:19 <+bridge> [ddnet] sure, just I don't know how it is happening 23:20 <+bridge> [ddnet] What kind of hang is it, can you just disconnect and reconnect 23:20 <+bridge> [ddnet] ? 23:20 <+bridge> [ddnet] My steps to reproduce are: 23:20 <+bridge> [ddnet] 23:20 <+bridge> [ddnet] 1. Start a server 23:20 <+bridge> [ddnet] 2. Connect with F-Client to the game 23:20 <+bridge> [ddnet] 3. Connect a dummy 23:20 <+bridge> [ddnet] 4. game entering a warmup stage 23:20 <+bridge> [ddnet] 5. vote to change map 23:20 <+bridge> [ddnet] 6. map changed 23:20 <+bridge> [ddnet] 7. I am on new map w/o dummy 23:20 <+bridge> [ddnet] 8. I click on connect dummy 23:20 <+bridge> [ddnet] 9. All 2 chararacters are frozen 23:20 <+bridge> [ddnet] 10. If I connect with DDNet client to this game it looks fine 23:21 <+bridge> [ddnet] My steps to reproduce are: 23:21 <+bridge> [ddnet] 23:21 <+bridge> [ddnet] 1. Start a server 23:21 <+bridge> [ddnet] 2. Connect with F-Client to the game 23:21 <+bridge> [ddnet] 3. Connect a dummy 23:21 <+bridge> [ddnet] 4. game entering a warmup stage 23:21 <+bridge> [ddnet] 5. vote to change map 23:21 <+bridge> [ddnet] 6. map changed 23:21 <+bridge> [ddnet] 7. I am on new map w/o dummy 23:21 <+bridge> [ddnet] 8. I click on connect dummy 23:21 <+bridge> [ddnet] 9. All 2 chararacters are stopped reacting 23:21 <+bridge> [ddnet] 10. If I connect with DDNet client to this game it looks fine 23:21 <+bridge> [ddnet] My steps to reproduce are: 23:21 <+bridge> [ddnet] 23:21 <+bridge> [ddnet] 1. Start a server 23:21 <+bridge> [ddnet] 2. Connect with F-Client to the game 23:21 <+bridge> [ddnet] 3. Connect a dummy 23:21 <+bridge> [ddnet] 4. game entering a warmup stage 23:21 <+bridge> [ddnet] 5. vote to change map 23:21 <+bridge> [ddnet] 6. map changed 23:21 <+bridge> [ddnet] 7. I am on new map w/o dummy 23:21 <+bridge> [ddnet] 8. I click on connect dummy 23:21 <+bridge> [ddnet] 9. All 2 chararacters are stopped reacting 23:21 <+bridge> [ddnet] 10. If I connect with DDNet client to this game it looks fine for 0.6 client 23:21 <+bridge> [ddnet] Oooh f client, i wouldnt know, it could be an fclient issue too 23:21 <+bridge> [ddnet] Should ask fokkonaut 23:23 <+bridge> [ddnet] Lol 23:23 <+bridge> [ddnet] vanilla 0.7.5 is handing before drawing a map 😄 23:23 <+bridge> [ddnet] even w/o other characters 23:23 <+bridge> [ddnet] so F-Client does it better 23:23 <+bridge> [ddnet] though the problem is there 23:24 <+bridge> [ddnet] @Learath2 its the snap sizes... 23:24 <+bridge> [ddnet] But that's nice. At least a bug that fails very early 23:24 <+bridge> [ddnet] its not a big bug, really 23:25 <+bridge> [ddnet] Snap sizes doesnt make sense, do you mean netobj sizes? 23:25 <+bridge> [ddnet] Yea 23:25 <+bridge> [ddnet] Just check all your Snap items and make sure to send the Protocol7 version to IsSixup clients and the normal version to non sixup 23:26 <+bridge> [ddnet] ok 23:26 <+bridge> [ddnet] Maybe this will be easier. 23:26 <+bridge> [ddnet] Do inspect evevry invocation of NetObjAnything in code 23:26 <+bridge> [ddnet] Ok, thanks. I've got more than I've expected to unstuck myself in investigating this. 23:27 <+bridge> [ddnet] https://github.com/ddnet/ddnet/blob/f00cab1b5585858117e2d815e3be0ed738475356/src/game/server/entities/pickup.cpp#L165 23:27 <+bridge> [ddnet] @Learath2 you can use sizeof(protocol7::CNetObj_Pickup) here 23:27 <+bridge> [ddnet] and at all the other places where its hardcoded by timakro 23:28 <+bridge> [ddnet] Ah I knew I forgot some 23:29 <+bridge> [ddnet] basically also the hardcoded Types @Learath2 23:29 <+bridge> [ddnet] 2, 3, etc 23:29 <+bridge> [ddnet] protocol7::PICKUP_x 23:29 <+bridge> [ddnet] So it's 12 bytes for 0.7 protocol and variable sized for 0.6? 23:29 <+bridge> [ddnet] for pickups I mean 23:30 <+bridge> [ddnet] depends on what object 23:30 <+bridge> [ddnet] Use sizeof 23:30 <+bridge> [ddnet] it automatically does that 23:30 <+bridge> [ddnet] I will try that Thanks 23:30 <+bridge> [ddnet] Good night