00:59 <+bridge> [ddnet] Anyone here who is good with iptables? Somehow I fail to even do a simple rate-limit on udp on specific packets... (not by ip) 01:04 <+bridge> [ddnet] http://prntscr.com/u47oud 01:04 <+bridge> [ddnet] updated the client, rip now 01:04 <+bridge> [ddnet] help 01:04 <+bridge> [ddnet] @deen 01:04 <+bridge> [ddnet] ```sudo iptables -t mangle -A PREROUTING -p udp -s 1.2.3.4 -j newchain 01:04 <+bridge> [ddnet] sudo iptables -t mangle -N newchain 01:04 <+bridge> [ddnet] sudo iptables -t mangle -A newchain -p udp -m limit --limit 50/s --limit-burst 100 -j ACCEPT 01:04 <+bridge> [ddnet] sudo iptables -t mangle -A newchain -p udp -j DROP``` 01:04 <+bridge> [ddnet] 01:04 <+bridge> [ddnet] except instead of -s 1.2.3.4 u choose whatever way u wanna match packets? 01:10 <+bridge> [ddnet] @Virus2k help with what 01:12 <+bridge> [ddnet] you are started ddnet-server instead ddnet client 01:14 <+bridge> [ddnet] you started ddnet-server instead ddnet client 01:14 <+bridge> [ddnet] i see i see 01:14 <+bridge> [ddnet] thought its the "new" exe 01:15 <+bridge> [ddnet] since i dont have one anymore after the update 01:15 <+bridge> [ddnet] it just killed my whole client somehow 01:15 <+bridge> [ddnet] can someone give me the starting exe? 01:18 <+bridge> [ddnet] just download it again 01:18 <+bridge> [ddnet] wew 01:18 <+bridge> [ddnet] just give exe 01:49 <+bridge> [ddnet] does anyone know why my server has "trouble" with 0.6 masters? i mean, it works, it registeres, but these messages are quite spammy... 01:49 <+bridge> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/746878772455800949/unknown.png 01:56 <+bridge> [ddnet] @noby @deen instead of -j ACCEPT there's also a suggestion to use -j RETURN, which will just exit the created chain and continue to check with the next rules 07:49 <+bridge> [ddnet] Is something wrong with the "synchronized" button, when used on a local server? 07:49 <+bridge> [ddnet] Cuz i cannot seem to make it work on any version. 08:32 <+bridge> [ddnet] @noby why would you ever use the mangle table for filtering? 08:32 <+bridge> [ddnet] it is called first before input 08:35 <+bridge> [ddnet] I havn't benched it so I won't be too assertive but I highly doubt that makes a significant difference 08:38 <+bridge> [ddnet] even if it makes only a 1% difference 08:38 <+bridge> [ddnet] theres no reason to not do it this way right? 08:39 <+bridge> [ddnet] and specifically its because mangle table has prerouting chain 08:39 <+bridge> [ddnet] and input doesnt 08:39 <+bridge> [ddnet] I wouldn't bother with an extra chain either for a single rule in it 08:39 <+bridge> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/746982010358333470/FW-IDS-iptables-Flowchart-v2019-04-30-1.png 08:39 <+bridge> [ddnet] prerouing comes first 08:41 <+bridge> [ddnet] There is one side effect to it that you might not think about. The packet is not routed yet so it might be just passing through and you'd ratelimit that too. But it would indeed work 08:41 <+bridge> [ddnet] passing through to where exactly 08:41 <+bridge> [ddnet] @Virus2k @ReiTW thanks 08:41 <+bridge> [ddnet] E.g. you might have a tunnel running 08:42 <+bridge> [ddnet] Or this could be a load balancer, where all the packets are just passing through 08:42 <+bridge> [ddnet] i see 08:43 <+bridge> [ddnet] but on a server where the only thing running is teeworlds it shouldnt matter right 08:44 <+bridge> [ddnet] I take it back, cloudflare did bench it, it comes with a near 120% improvement 08:44 <+bridge> [ddnet] Didnt think routing and passing between chains had that much overhead 08:45 <+bridge> [ddnet] 😄 08:45 <+bridge> [ddnet] huh, so one should use prerouting mangle table? 08:54 <+bridge> [ddnet] @deen dunno if you read it yesterday, but if you got the laptop again from ur gf, and can try the new pr, it should even fallback with a fresh config(hopefully) 08:54 <+bridge> [ddnet] and render images correctly xd 08:54 <+bridge> [ddnet] it's on my todo, but I don't have the pw, so have to wait for her to wake up 😄 08:55 <+bridge> [ddnet] alright 😄 09:13 <+bridge> [ddnet] Anyone having experiences with SSH's ConnectTimeout not working reliably? Seems to sometimes not time out at all 09:54 <+bridge> [ddnet] should auto switch weapon on pickup be enabled by default? 09:55 <+bridge> [ddnet] everyone has to enable it at some point 10:11 <+bridge> [ddnet] @noby do you have a minute? 10:11 <+bridge> [ddnet] hm 10:12 <+bridge> [ddnet] I need an example connect packet 10:12 <+bridge> [ddnet] from what version 10:13 <+bridge> [ddnet] i will send ddnet connect sequence pcap in dm 10:23 <+bridge> [ddnet] @Lady Saavik I thought about that too. But it can be super-annoying when a part has shields and then gives you weapon, right? 10:23 <+bridge> [ddnet] but for newcomers it's definitely more intuitive 10:27 <+bridge> [ddnet] I don't understand what part? shields and weapon next to each other so it gets noisy? 10:30 <+bridge> [ddnet] personally I never had it on, so I don't know 10:30 <+bridge> [ddnet] everyone uses this setting + almost always you have to use the weapon right after picking it up, so why additional step (mousewheel/numbers) needed 10:30 <+bridge> [ddnet] you can just press 4 and then when you pick up a grenade launcher, it is autoswitched too 10:30 <+bridge> [ddnet] oh, and the cl_autoswitch_weapons is not immediate, while pressing the number before picking up is 10:31 <+bridge> [ddnet] because it sets the preferred weapon on server 10:31 <+bridge> [ddnet] @Lady Saavik not everyone uses that setting, I don't e.g. 10:32 <+bridge> [ddnet] I prefer selecting the weapon I want to use. by pressing 1-5 it also works before you have the weapon 10:32 <+bridge> [ddnet] I didn't know 10:33 <+bridge> [ddnet] But I guess newcomers don't know this at all, so it might still make sense to change the default. I had to explain mouse wheel to quite a few 10:33 <+bridge> [ddnet] keys are easier than mousewheel 10:35 <+bridge> [ddnet] thats a setting for vanilla not ddrace 10:35 <+bridge> [ddnet] im used to it too from vanilla 10:35 <+bridge> [ddnet] > I prefer selecting the weapon I want to use. by pressing 1-5 it also works before you have the weapon 10:35 <+bridge> [ddnet] @heinrich5991 but you still have to use the weapon you just took 10:36 <+bridge> [ddnet] talking about ddrace ofc 10:36 <+bridge> [ddnet] @Lady Saavik yes, but I prefer that to the weapon I currently have changing 10:36 <+bridge> [ddnet] when I accidentally pick up a new weapon 10:36 <+bridge> [ddnet] yea I often change back to hammer too 10:37 <+bridge> [ddnet] but on brutal and insane there are even parts that rather requires it 10:37 <+bridge> [ddnet] idk, apparently we should change it (#announcements) but it really irks me when people say "everyone does it" 10:37 <+bridge> [ddnet] that's almost never true 10:39 <+bridge> [ddnet] even on a mod or was it even novice map? there is a part like: 10:39 <+bridge> [ddnet] 10:39 <+bridge> [ddnet] shields 10:39 <+bridge> [ddnet] rocket 10:39 <+bridge> [ddnet] shields 10:39 <+bridge> [ddnet] rocket 10:39 <+bridge> [ddnet] shields 10:39 <+bridge> [ddnet] 10:39 <+bridge> [ddnet] and you have to go up and just shoot the wall 10:39 <+bridge> [ddnet] we should have one settings for all so it's equal xd 10:40 <+bridge> [ddnet] does it work with "switch weapon on pickup"? 10:40 <+bridge> [ddnet] yes 10:40 <+bridge> [ddnet] I think "switch weapon on pickup" is client-side 10:54 <+bridge> [ddnet] indeed 10:56 <+bridge> [ddnet] @heinrich5991 maybe that would be the best fix, to make it a setting that is sent to the server. Setting the wanted weapon to -1 to indicate always switch to picked up weapon? 11:02 <+bridge> [ddnet] sounds good, needs a way to know about server support though 11:12 <+bridge> [ddnet] Hm yeah. Do you want to look into it? 11:18 <+bridge> [ddnet] does steam support only shipping a percentage of ppl a new version? 11:18 <+bridge> [ddnet] i don't think so and I don't want to do that 11:19 <+bridge> [ddnet] if you have a huge game they might not update everyone at once 11:20 <+bridge> [ddnet] Why exactly does ddnet not have a update button in the server explorer? 11:21 <+bridge> [ddnet] Why exactly does ddnet not have an update button in the server explorer? 11:21 <+bridge> [ddnet] @Fin are you using the steam version? Steam version can only be updated in Steam 11:22 <+bridge> [ddnet] well for testing purposses its quite nice 11:22 <+bridge> [ddnet] you start with 10%, look if theses 10% have any bugs and can revert it 11:22 <+bridge> [ddnet] without destroying everyones experience 11:23 <+bridge> [ddnet] No @deen I use plain old binary in a directory. 11:24 <+bridge> [ddnet] @Jupstar ✪ but then you can ship a test version for a group of ppl who wanna test. Then release it couple days later? 11:24 <+bridge> [ddnet] @Fin from ddnet.tw? operating system, version? 11:26 <+bridge> [ddnet] @b3z random is always better.. Bcs hardware differences 11:29 <+bridge> [ddnet] @deen Downloaded from ddnet.tw, MacOS 10.15 19A558d, tw 0.6.4, ddnet 14.0 11:35 <+bridge> [ddnet] @Fin mac never had an autoupdater 11:35 <+bridge> [ddnet] ah. why? 11:39 <+bridge> [ddnet] hard to do 11:40 <+bridge> [ddnet] you could use steam to get an autoupdater 11:48 <+bridge> [ddnet] Why are we messing around with the teamrank table? 11:48 <+bridge> [ddnet] This entire mysql update is losing us quite a lot of desirable features quite quickly 11:49 <+bridge> [ddnet] what functionality has been lost and not restored? 11:49 <+bridge> [ddnet] @Learath2 the current teamrank stuff is a mess, and leads to us not storing old ranks e.g. 11:49 <+bridge> [ddnet] We have random savecodes now 11:49 <+bridge> [ddnet] we also lock the db when trying to insert a teamrank 11:49 <+bridge> [ddnet] We are losing replicability soon 11:50 <+bridge> [ddnet] We are about to trade O(1) lookups to O(n * k * t) lookups 11:50 <+bridge> [ddnet] what? 11:50 <+bridge> [ddnet] you do realize that the operations we perform on the table are much worse, right? 11:50 <+bridge> [ddnet] the ones we currently do 11:50 <+bridge> [ddnet] This is one lookup you cant optimize 11:50 <+bridge> [ddnet] have you looked at our sql statements? 11:50 <+bridge> [ddnet] it is one 11:51 <+bridge> [ddnet] Well you can but it's absolutely horrendous, you can hand build an index 11:51 <+bridge> [ddnet] okay, have you looked at our currentl SQL queries? 11:51 <+bridge> [ddnet] I haven't in a while but I don't remember any huge offenders 11:52 <+bridge> [ddnet] well then do it if someone suggests you do it to understand what they mean… 11:52 <+bridge> [ddnet] None that can't be optimized further by choosing nice index columns 11:52 <+bridge> [ddnet] please look at the sql queries 11:52 <+bridge> [ddnet] Okay whatever, change it however you see fit. It's quite obvious no one really cares what I think 11:53 <+bridge> [ddnet] I suggest you look at the SQL queries 11:53 <+bridge> [ddnet] you say no 11:53 <+bridge> [ddnet] what should I do? 11:53 <+bridge> [ddnet] You say we have shit queries, how about you show the shit query and not send me on a goose chase through the entire sql code on a phone? 11:54 <+bridge> [ddnet] then tell me that 11:54 <+bridge> [ddnet] instead of "no, won't look there" 11:54 <+bridge> [ddnet] you did that now, thanks 11:55 <+bridge> [ddnet] sec 11:55 <+bridge> [ddnet] I never said I wont look there, don't put words in my mouth. I said I haven't seen them recently but I don't remember any offenders 11:55 <+bridge> [ddnet] okay, srory 11:55 <+bridge> [ddnet] I complained the first time zwelf proposed the group concat aswell 11:58 <+bridge> [ddnet] okay, you're right that the current sql queries don't look so bad (team top5, the worst one): 11:58 <+bridge> [ddnet] ``` 11:58 <+bridge> [ddnet] "SELECT Name, Time, Rank, TeamSize " 11:58 <+bridge> [ddnet] "FROM (" // limit to 5 11:58 <+bridge> [ddnet] "SELECT TeamSize, Rank, ID " 11:58 <+bridge> [ddnet] "FROM (" // teamrank score board 11:58 <+bridge> [ddnet] "SELECT RANK() OVER w AS Rank, ID, COUNT(*) AS Teamsize " 11:58 <+bridge> [ddnet] "FROM %s_teamrace " 11:58 <+bridge> [ddnet] "WHERE Map = ? " 11:58 <+bridge> [ddnet] "GROUP BY Id " 11:58 <+bridge> [ddnet] "WINDOW w AS (ORDER BY Time)" 11:58 <+bridge> [ddnet] ") as l1 " 11:58 <+bridge> [ddnet] "ORDER BY Rank %s " 11:58 <+bridge> [ddnet] "LIMIT %d, 5" 11:58 <+bridge> [ddnet] ") as l2 " 11:58 <+bridge> [ddnet] "INNER JOIN %s_teamrace as r ON l2.ID = r.ID " 11:58 <+bridge> [ddnet] "ORDER BY Rank %s, r.ID, Name ASC;", 11:58 <+bridge> [ddnet] ``` 11:59 <+bridge> [ddnet] this is from after the SQL rewrite though 11:59 <+bridge> [ddnet] before we had: 11:59 <+bridge> [ddnet] ``` 11:59 <+bridge> [ddnet] SELECT ID, Name, Time, rank FROM (SELECT r.ID, Name, rank, l.Time FROM ((SELECT ID, rank, Time FROM (SELECT ID, (@pos := IF(@previd = ID,@pos,@pos+1)) pos, (@previd := ID), (@rank := IF(@prev = Time,@rank,@pos)) rank, (@prev := Time) Time FROM (SELECT ID, MIN(Time) as Time FROM %s_teamrace WHERE Map = '%s' GROUP BY ID ORDER BY `Time` ASC) as all_top_times) as a LIMIT %d, 5) as l) LEFT JOIN %s_teamrace as r ON l.ID = r.ID ORDER BY Time 11:59 <+bridge> [ddnet] ``` 11:59 <+bridge> [ddnet] as ugly as you can get, procedural SQL statements 11:59 <+bridge> [ddnet] so that's one improvement from the new SQL code already 11:59 <+bridge> [ddnet] another one is that you can run a full-featured ddnet server without a mysql database now 12:00 <+bridge> [ddnet] and that we don't have race conditions in the code anymore 12:02 <+bridge> [ddnet] That's great, but maybe we should have been more conservative in changing behaviour or atleast planned this out more 12:02 <+bridge> [ddnet] I'd say this is almost the same as the steam release 12:02 <+bridge> [ddnet] Schema changes are just not the greatest thing to do on a production system. There are still unrecovered ranks 12:03 <+bridge> [ddnet] it wasn't happening for a long time and I'm happy that we finally have thread-safe sql 12:03 <+bridge> [ddnet] Needs to be very well planned out 12:03 <+bridge> [ddnet] I'm happier that Zwelf stayed with us and provided fixes rather than scaring him away by not merging this for a long time 12:04 <+bridge> [ddnet] we'd still not have threadsafe sql without him 12:04 <+bridge> [ddnet] I think I'd agree with that in almost any part of the code but I think this part was rather critical for us to have merged so quickly 12:05 <+bridge> [ddnet] okay, because ranks 12:05 <+bridge> [ddnet] I agree that ranks are quite fundamental to us 12:05 <+bridge> [ddnet] I guess this goes to show that our codebase is fragile 12:05 <+bridge> [ddnet] If we'd had more of a discussion beforehand we'd have known the teamrank issue and we could maybe devise a nice schema without any time pressure 12:06 <+bridge> [ddnet] what teamrank issue? 12:06 <+bridge> [ddnet] Definitely, we need extensive testing. We are breaking far too much 12:06 <+bridge> [ddnet] Atleast we are fixing quickly 12:06 <+bridge> [ddnet] we can design a nice schema without any pressure right now, I think 12:07 <+bridge> [ddnet] unless I'm missing something 12:07 <+bridge> [ddnet] the schema wasn't changed by the sql update 12:07 <+bridge> [ddnet] Aren't we losing teamranks we want saved? 12:08 <+bridge> [ddnet] that's not what that issue is about, at least 12:08 <+bridge> [ddnet] I'm aware of a recent db misconfiguration that had us thinking we lost ranks 12:08 <+bridge> [ddnet] (unrelated to the sql update, maybe that played into your impression) 12:08 <+bridge> [ddnet] I couldn't find Bacon's teamrank anywhere 12:09 <+bridge> [ddnet] Anyway, yeah, that could be why I connected the two issues together in my mind 12:10 <+bridge> [ddnet] and I'm stupid. sorry for being rude to you 12:11 <+bridge> [ddnet] @Learath2 I don't know why, but I was really trying hard to force my point of view to you, thanks for staying level headed 12:11 <+bridge> [ddnet] maybe it's social isolation, but I feel like I'm behaving more antisocial recently 😦 12:12 <+bridge> [ddnet] Dw I'm having a lot of trouble with it aswell 12:13 <+bridge> [ddnet] For me it's having the same people around me for a long time 12:13 <+bridge> [ddnet] ok, another breaking change I'm thinking about right now 12:13 <+bridge> [ddnet] renaming ddnet-antibot back to antibot because I'm moving it into /usr/lib/ddnet instead of /usr/lib/ 12:13 <+bridge> [ddnet] wdyt, not worth it? 12:13 <+bridge> [ddnet] the rename, not the move 12:14 <+bridge> [ddnet] I think that's fine we are the only ones who use it and symlinks can make the transition smooth 12:14 <+bridge> [ddnet] okay 12:15 <+bridge> [ddnet] I don't quite remember but are linux .so s aware of their own name? 12:15 <+bridge> [ddnet] only for linking 12:15 <+bridge> [ddnet] This would be a breaking change on macOS because dylibs are loaded from their exact install name and directory 12:16 <+bridge> [ddnet] i.e. an .so can specify what to link to 12:16 <+bridge> [ddnet] makes people who link to -lcurl link to libcurl.so.3.0.0 instead 12:17 <+bridge> [ddnet] Great so it's fine 12:18 <+bridge> [ddnet] if you have free ten minutes, could you test the steam player name PR https://github.com/ddnet/ddnet/pull/2615 on mac? 12:18 <+bridge> [ddnet] > You can put a `steam_appid.txt` next to the executable containing just the number `412220`. Then the real `libsteam_api.so` (or similar for other platforms) will recognize your built executable as DDNet. 12:19 <+bridge> [ddnet] As soon as I'm back on shore. I go out on sundays to learn boating 12:19 <+bridge> [ddnet] nice 🙂 12:19 <+bridge> [ddnet] have fun 12:19 <+bridge> [ddnet] Captain is pretty mad I dropped the anchor too fast so it's not much fun today :P 12:20 <+bridge> [ddnet] 😄 12:21 <+bridge> [ddnet] Dont forget to blast the horn 👍 12:22 <+bridge> [ddnet] He would throw me overboard 12:22 <+bridge> [freenode] Learath2, heinrich5991: ftr, I introduced two teamrank bugs: With the first one teamranks weren't updated: https://github.com/ddnet/ddnet/pull/2560 and https://github.com/ddnet/ddnet/pull/2570 12:22 <+bridge> [ddnet] I think we should store these normalized 12:23 <+bridge> [ddnet] Joins are not that bad for performance and with two indexes we get very good lookup 12:25 <+bridge> [ddnet] Or we can bench the wildcard lookup, though even if it has acceptable performance it will always have bad asymptotic performance 12:26 <+bridge> [ddnet] Just to be clear, I'm not blaming Zwelf for those bugs. The refactorings he did was great and these kind of bugs happen because we don't have automated tests. 12:28 <+bridge> [ddnet] I'm not either if it came across like that. If it's anyones fault it's us for not having tests for this 12:28 <+bridge> [ddnet] We all break things, it's hard to avoid when we aren't testing, especially on massive changes like this 12:47 <+bridge> [ddnet] @deen client-side switch weapon on pickup would be great, me looking into it, dunno. I am finishing the steam integration first 12:54 <+bridge> [ddnet] @heinrich5991 you mean let's just get the client-side one in? and not wait for a proper solution with communication to server? I mean the new players still need to find out how to change weapon anyway, since they'll need hammer 13:13 <+bridge> [ddnet] Captain Learath 13:21 <+bridge> [ddnet] Oof that price for GER 13:22 <+bridge> [ddnet] oof 13:22 <+bridge> [ddnet] 1 year is now like 2013-2017 13:22 <+bridge> [ddnet] xD 13:22 <+bridge> [ddnet] 1046 € ger alone 13:22 <+bridge> [ddnet] lol 13:22 <+bridge> [ddnet] I wonder if we'll ever cover that 13:22 <+bridge> [ddnet] is that srv rly good 13:23 <+bridge> [ddnet] Eeeeeeh, it's a great server but we didn't get very lucky with our neighbours 13:37 <+bridge> [ddnet] @Learath2 yes 13:38 <+bridge> [ddnet] *@deen yes 14:27 <+bridge> [ddnet] boys boys 14:28 <+bridge> [ddnet] i talked with lea about my problem that tw isnt starting and freezing everything. he said its my comps fault so i searched abit and found, that my norton caused this problem since yesterday. 14:28 <+bridge> [ddnet] Anyone here with norton ? im not even sure what blocked it. 14:28 <+bridge> [ddnet] I just deactivated auto protect, intelligent firewall and activated silend mode - then i could open tw 🤔 15:30 <+bridge> [ddnet] @deen 15:30 <+bridge> [ddnet] > Anyone having experiences with SSH's ConnectTimeout not working reliably? 15:30 <+bridge> [ddnet] wdym by that, if you're using putty on windows or any other OS, you can enable TCP keepalive to maintain the session open 15:31 <+bridge> [ddnet] oh well looks smth completly different, never touched to that var 16:39 <+bridge> [ddnet] what is this sorcery? it shows up on demo too and is still there after rejoining server 16:40 <+bridge> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/747102845815357511/screenshot_2020-08-23_16-36-32.png 16:41 <+bridge> [ddnet] the answer is in chat 16:41 <+bridge> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/747103171100540948/unknown.png 16:47 <+bridge> [ddnet] some guy is dragged a long way 16:47 <+bridge> [ddnet] and hook only renders to a certain extent i think 16:48 <+bridge> [ddnet] perhaps the default server sort could take into account both server ping and number of players? (if there is something like a default) 16:49 <+bridge> [ddnet] <ᶰ°Konͧsti> @Ravie what nouis says 16:50 <+bridge> [ddnet] <ᶰ°Konͧsti> At a very long Dummydrag the hook dont get fully rendered even with /showall 1 and also for the player who owns the hook 16:53 <+bridge> [ddnet] yeah I see a guy below the map now 16:53 <+bridge> [ddnet] I wonder who dragged him THAT far 17:56 <+bridge> [ddnet] @heinrich5991 so how do I test this? 18:08 <+bridge> [ddnet] figured it out, it works 18:48 <+bridge> [ddnet] Zwelf: Why is top5team such a complex query anyway? 18:53 <+bridge> [ddnet] i ask again if anybody didn't notice, does syncronized function work on local servers? 18:53 <+bridge> [ddnet] if not, please explain why 18:55 <+bridge> [ddnet] yes it does for me 18:56 <+bridge> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/747137075932954704/screenshot_2020-08-23_11-51-49.png 18:56 <+bridge> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/747137076981530704/screenshot_2020-08-23_11-51-54.png 18:56 <+bridge> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/747137081398263838/screenshot_2020-08-23_11-54-45.png 18:56 <+bridge> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/747137085625991238/screenshot_2020-08-23_11-54-46.png 18:56 <+bridge> [ddnet] oops 18:57 <+bridge> [ddnet] synchronize = envelopes start on server time @Cellegen ? 19:00 <+bridge> [ddnet] https://paste.pr0.tips/xH I think the above query is both easier to understand and should work better 19:01 <+bridge> [ddnet] @louis yes 19:01 <+bridge> [ddnet] so it must restart the animations from 0 19:01 <+bridge> [ddnet] but it doesn't even restart it 19:01 <+bridge> [ddnet] I guess it's only sliiiightly faster 19:09 <+bridge> [ddnet] Ah, I guess maybe to keep it uniform? 19:10 <+bridge> [ddnet] @Learath2 and the ids would be random, right? 19:11 <+bridge> [ddnet] @louis nothing from autoexec.cfg and no commands which lead to syncronize, also i've tried with sv_solo and didn't work at all 19:11 <+bridge> [ddnet] because one of the reasons I didn't normalize the db was that we wanted replication to keep working and then I can't just increment ids 19:11 <+bridge> [ddnet] @Cellegen did u check synchronize on all envelopes and check the map too 19:11 <+bridge> [ddnet] i did 19:11 <+bridge> [ddnet] + latest ddnet vers 19:11 <+bridge> [ddnet] nothing works from local 19:12 <+bridge> [ddnet] @Jupstar ✪ your change worked fine on the old laptop btw 19:12 <+bridge> [ddnet] went back to OpenGL 1.1 19:12 <+bridge> [ddnet] was always local servers don't have the synchronized function? 19:14 <+bridge> [ddnet] @deen aren't the IDs already random? 19:15 <+bridge> [ddnet] syncronize is broken since ddnet 10 or so 19:15 <+bridge> [ddnet] https://github.com/ddnet/ddnet/issues/1318 19:18 <+bridge> [ddnet] @Learath2 yeah 19:20 <+bridge> [ddnet] @deen is there an issue with that? 19:22 <+bridge> [ddnet] nope, should be fine 19:25 <+bridge> [ddnet] @jao doesn't envelopes work client side? 19:25 <+bridge> [ddnet] why synchronize with race time when you can have predictions on whenever your timer started or not 19:25 <+bridge> [ddnet] and let the client render it for you 19:26 <+bridge> [ddnet] server side i think 19:26 <+bridge> [ddnet] for what reason 19:26 <+bridge> [ddnet] doesn't it take much more load, than client side? 19:27 <+bridge> [ddnet] or it just sends a message whenever a player touched start? 19:28 <+bridge> [ddnet] https://instagram-engineering.com/sharding-ids-at-instagram-1cf5a71e5a5c 19:29 <+bridge> [ddnet] This was an interesting read about ids, though their design requirements arent the same as us 19:38 <+bridge> [ddnet] Nice 19:44 <+bridge> [ddnet] @Jupstar ✪ so your change is ready for review? 19:44 <+bridge> [ddnet] Yeah would like some ppl to test it 19:45 <+bridge> [ddnet] Anything specific to test? 19:45 <+bridge> [ddnet] I could just download the automatic builds, and make an announcement on Discord for people to test 19:45 <+bridge> [ddnet] Yeah and maybe win32 for the people with white square 20:09 <+bridge> [ddnet] Anything that works is good actually, if it doesn't work GPU and console output is nice 20:15 <+bridge> [ddnet] @Jupstar ✪ should they expect higher fps or same? 20:18 <+bridge> [ddnet] Well in 2.1 context the buffering is enabled.. But depends on CPU if higher fps 20:18 <+bridge> [ddnet] Not as much as 3.3 because didn't get map borders to buffer 20:19 <+bridge> [ddnet] The shaders aren't powerful in older gl version 20:29 <+bridge> [freenode] @Learath2: First we need to find the rank number for each teamrank, filter out only the requested range (max 5 teams, either forward or reverse) and select all players for each team. I didn't find a less complex way of doing this query. GROUP_CONCAT was there to reduce the complexity, but it isn't standard SQL and not compatible with sqlite. 21:28 <+bridge> [ddnet] Zwelf: which query are we talking about? Top5team? 21:29 <+bridge> [freenode] yes top5team 21:31 <+bridge> [ddnet] Uh, neither yours nor the one I proposed has a group concat 21:59 <+bridge> [freenode] yes, I removed the GROUP_CONCAT in the SQLite PR (which proposed sql query from you are you referring right now?) 22:30 <+bridge> [ddnet] https://paste.pr0.tips/xH 22:32 <+bridge> [ddnet] It has one less derived table and I think its more readable. Though I think you did yours so that it's uniform across all the queries 23:15 <+bridge> [ddnet] Just noticed GER & GER2 had powersave CPU frequency governor set... Can't believe they default servers to that. Tested quickly and ingame latency is 3 ms lower with performance 23:56 <+bridge> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/747212634398392331/screenshot_2020-08-23_16-55-42.png 23:56 <+bridge> [ddnet] lfieban? with no mod in tab? 23:56 <+bridge> [ddnet] Usually a global ban