07:50 <+bridge_> [ddnet] Just Scroll a bit up next time ๐Ÿ™ƒ 08:30 <+bridge_> [ddnet] when you login with rcon, is the password sent encrypted? 08:30 <+bridge_> [ddnet] no 12:16 <+bridge_> [ddnet] I thought about a couple ways to secure atleast the authentication part, but nothing short of actually encrypting the entire connection came to mind 12:16 <+bridge_> [ddnet] CHAP would require the server to know the plaintext of the passwords, which is undesirable 12:19 <+bridge_> [ddnet] you could make sure that the client doesn't send the password out, but preventing MITM would require at least authenticating the rcon connection 12:20 <+bridge_> [ddnet] (one could make sure โ€ฆ) 12:22 <+bridge_> [ddnet] how are you supposed to authenticate a client without it ever sending the password nor you knowing the plaintext of the password? 12:24 <+bridge_> [ddnet] https://en.wikipedia.org/wiki/Secure_Remote_Password_protocol 12:26 <+bridge_> [ddnet] Such a complex protocol ๐Ÿ˜› 12:26 <+bridge_> [ddnet] Looks like it's based on prime factorization being difficult 12:27 <+bridge_> [ddnet] there are other zero knowledge proofs that do not rely on that 12:27 <+bridge_> [ddnet] (if this one does) 12:28 <+bridge_> [ddnet] no, from the first glance, it looks like it depends on the difficulty of the discrete logarithm problem 12:28 <+bridge_> [ddnet] I want to remember you all: "We havnt enough time to port ddnet to 0.7, but we are adding useless things, new bugs, trying to fix bugs and waste the time for nothing" 12:28 <+bridge_> [ddnet] In real: " Oh we are all tired" 12:28 <+bridge_> [ddnet] yeah, appears so 12:29 <+bridge_> [ddnet] @FluffiexD be our guest, go ahead and port ddnet to 0.7 12:29 <+bridge_> [ddnet] Only if u assist me and we make a closed src and slap all people 12:29 <+bridge_> [ddnet] Adding small stuff and fixing bugs takes about an hour out of my day, at that pace I'll have a 0.7 port done in about a decade 12:30 <+bridge_> [ddnet] I doubt anyone else on the team spends much more then 2-3 hours a day 12:31 <+bridge_> [ddnet] i thing ddnet stuff is big enough to port it to 0.7 ez 12:31 <+bridge_> [ddnet] that adds up to a whopping 10 hours a day with a generous estimate, it'd still take a year to port ๐Ÿ˜› 12:32 <+bridge_> [ddnet] and for what? making you and @ChillerDragon happy? 12:32 <+bridge_> [ddnet] dont write chillerdragon in the chat 12:33 <+bridge_> [ddnet] 0.6 is dead 12:33 <+bridge_> [ddnet] thats the mainsreason 12:35 <+bridge_> [ddnet] 0.7 is dead 12:35 <+bridge_> [ddnet] you know the best, they only get 1 server with some ppl 12:36 <+bridge_> [ddnet] and its a race mod 12:36 <+bridge_> [ddnet] hilarious isnt it? teeworldsa itself is dead 12:36 <+bridge_> [ddnet] ddnet should be standalone 12:36 <+bridge_> [ddnet] and no one cares about a pretty menu which we can debate whether its pretty 12:36 <+bridge_> [ddnet] ddnet has way more utility than tw 0.7 12:37 <+bridge_> [ddnet] they added controller support, yeah we will do perfect pixel aim with that 12:37 <+bridge_> [ddnet] they are the oens 12:37 <+bridge_> [ddnet] adding useless stuff 12:37 <+bridge_> [ddnet] xD 12:37 <+bridge_> [ddnet] ur just biased af 12:37 <+bridge_> [ddnet] or trolling 12:37 <+bridge_> [ddnet] us 12:37 <+bridge_> [ddnet] dont be salty on me 12:37 <+bridge_> [ddnet] ryomadzuki -,- 12:38 <+bridge_> [ddnet] 0.7 makes me mad 12:38 <+bridge_> [ddnet] @heinrich5991 such a weird protocol ๐Ÿ™‚, first half looks like a diffie hellman kex 12:38 <+bridge_> [ddnet] why we dont rename ddnet to tw 0.8 12:38 <+bridge_> [ddnet] ddnet is 12.5 12:38 <+bridge_> [ddnet] way more versions 12:38 <+bridge_> [ddnet] than 0.7 12:38 <+bridge_> [ddnet] :) 12:38 <+bridge_> [ddnet] there u have 12:38 <+bridge_> [ddnet] we can brag about a higher version number 12:39 <+bridge_> [ddnet] :troll: 12:39 <+bridge_> [ddnet] :troll: 12:39 <+bridge_> [ddnet] hes a troll 12:39 <+bridge_> [ddnet] ik 12:39 <+bridge_> [ddnet] i know him 12:39 <+bridge_> [ddnet] I mean it's vali ๐Ÿ˜› 12:40 <+bridge_> [ddnet] lol 12:40 <+bridge_> [ddnet] you dumb? call me again a troll and you die 12:40 <+bridge_> [ddnet] ๐Ÿ˜‚ 12:40 <+bridge_> [ddnet] see 12:40 <+bridge_> [ddnet] funny af 12:42 <+bridge_> [ddnet] ill hack u in a min bb 12:42 <+bridge_> [ddnet] kk 12:47 <+bridge_> [ddnet] @heinrich5991 did you know of it beforehand or how did you find it? I remember browsing around for a while when I implemented it and not getting anywhere 12:48 <+bridge_> [ddnet] I found it when I researched how protocols handle passwords 12:48 <+bridge_> [ddnet] also I had heard of zero knowledge proofs before, so it was kinda clear that something like that must exist 12:49 <+bridge_> [ddnet] it's just kinda sad how little it's used ^^ 12:58 <+bridge_> [ddnet] @heinrich5991 do you know what the `u` term is supposed to prevent? 12:59 <+bridge_> [ddnet] I feel it should work with u = 1, and still be secure, but I'm probably missing sth ๐Ÿ˜› 13:01 <+bridge_> [ddnet] looking at it quickly, it seems to be a "shared random number", i.e. a number that neither client nor server can set on its own 13:01 <+bridge_> [ddnet] that's often useful 13:01 <+bridge_> [ddnet] 13:41 <+bridge_> [ddnet] 13:43 <+bridge_> [ddnet] ๐Ÿ˜ฎ 14:47 <+bridge_> [ddnet] 14:47 <+bridge_> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/595596294408634370/unknown.png 14:47 <+bridge_> [ddnet] Not even working when using "cl_dummy_copy_moves" 15:31 <+bridge_> [ddnet] status of my side project 15:31 <+bridge_> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/595607559310671892/unknown.png 15:32 <+bridge_> [ddnet] ๐Ÿ˜‚ 15:32 <+bridge_> [ddnet] :feelsbadman: 15:32 <+bridge_> [ddnet] ill never finish a thing xD 15:40 <+bridge_> [ddnet] I never finish a thing either, maybe we should collab 15:40 <+bridge_> [ddnet] what u wanna do 15:40 <+bridge_> [ddnet] If you finish the part I don't finish and I finish the part you don't, we might end up with a full project 15:40 <+bridge_> [ddnet] nobody finishes anything 15:42 <+bridge_> [ddnet] @Learath2 you forgot +toggle in your pr 15:45 <+bridge_> [ddnet] @Learath2 https://itch.io/jams/starting-this-month :monkaS: 15:46 <+bridge_> [ddnet] why can't things be easy? ๐Ÿ˜ฆ 15:46 <+bridge_> [ddnet] :feelsbadman: 15:47 <+bridge_> [ddnet] is +toggle necessary even? 15:48 <+bridge_> [ddnet] I mean +toggle doesn't support strings e.g. 15:49 <+bridge_> [ddnet] it worked before 15:49 <+bridge_> [ddnet] I would add it 15:58 <+bridge_> [ddnet] why doesn't it support strings tho 16:38 <+bridge_> [ddnet] because I guess the person who implemented it couldn't think of a use for it so he omitted it 18:02 <+bridge_> [ddnet] @heinrich5991 do you think I should leave support for old masterservers in the client? 18:30 <+bridge_> [ddnet] yes 18:30 <+bridge_> [ddnet] uhm 18:31 <+bridge_> [ddnet] @Learath2 I mean support for the old serverbrowse protocol yes, support for old masters no I guess 18:47 <+bridge_> [ddnet] what are you talking about? 18:47 <+bridge_> [ddnet] Http masterservers 18:48 <+bridge_> [ddnet] i.e. faster serverlist reload in the "internet" and "ddnet" and "kog" tab 18:48 <+bridge_> [ddnet] but if you remove support for vanilla masters you could also break compat to old serverinfo protocol, just keep the new one 18:48 <+bridge_> [ddnet] to reduce attack surface on affected servers 18:48 <+bridge_> [ddnet] they will eventually close the 0.6 masters 18:48 <+bridge_> [ddnet] we should become standalone 18:48 <+bridge_> [ddnet] why should they? 18:49 <+bridge_> [ddnet] 0.5 servers are still running btw 18:49 <+bridge_> [ddnet] rly 18:49 <+bridge_> [ddnet] yes 18:49 <+bridge_> [ddnet] anyway no one plays vanilla 18:49 <+bridge_> [ddnet] sadly 18:49 <+bridge_> [ddnet] im happy 18:49 <+bridge_> [ddnet] this is not true and ddnet isn't the only mod that people play 18:49 <+bridge_> [ddnet] fng is not based on ddnet e.g. 18:49 <+bridge_> [ddnet] but ddnet can implement a more mod friendly protocol 18:49 <+bridge_> [ddnet] which other would follow 18:50 <+bridge_> [ddnet] the master servers 18:53 <+bridge_> [ddnet] yea 18:54 <+bridge_> [ddnet] also thinking about a tcp implementation could be interesting 18:55 <+bridge_> [ddnet] maybe its possible to force other mods to follow 18:55 <+bridge_> [ddnet] tcp for gameplay nope 18:55 <+bridge_> [ddnet] http for masters yes 18:55 <+bridge_> [ddnet] which is tcp 18:55 <+bridge_> [ddnet] tcp doesnt make sense on game 18:55 <+bridge_> [ddnet] if I remember correctly, mc uses tcp 18:56 <+bridge_> [ddnet] and it makes sense, at least if you think about "how to stop the ddos" 18:56 <+bridge_> [ddnet] no it doesnt 18:56 <+bridge_> [ddnet] read about tcp and udp 18:57 <+bridge_> [ddnet] idk why mc uses tcp but most games use udp 18:57 <+bridge_> [ddnet] I haven't thought about the DoS protection angle, but ryozuki is right about udp being the better fit for games 18:57 <+bridge_> [ddnet] i mean, tcp would make sense for chat but nothing else 18:57 <+bridge_> [ddnet] tcp has the "head of line" blocking problem. if you miss a single data packet, you won't get new data until that gets resent 18:57 <+bridge_> [ddnet] and why not use both? tcp for handshaking and server info, but udp for the game traffic? 18:57 <+bridge_> [ddnet] that would be possible 18:58 <+bridge_> [ddnet] yea forgot about the package loss problematic 18:58 <+bridge_> [ddnet] is there some cheap/free protection for generic tcp services? I'd guess there only is for http 18:59 <+bridge_> [ddnet] I believe cloudflare also supports tcp. but most hoster (for example ovh) provide a more or less good protection for tcp 18:59 <+bridge_> [ddnet] it would increase latency for sure 18:59 <+bridge_> [ddnet] if you use tcp only maybe, but mixed could be interesting 19:00 <+bridge_> [ddnet] protection involves proxying right? on udp it would increase that low latency required for gameplay 19:01 <+bridge_> [ddnet] you forget that the for example nfo (which is used by ddnet) supports udp and tcp protections, but I guess tcp is more reliable 19:01 <+bridge_> [ddnet] they already on nfo iirc 19:01 <+bridge_> [ddnet] https://www.cloudflare.com/products/cloudflare-spectrum/ โ† doesn't seem like cloudflare is offering protection for tcp/udp for free/cheap 19:01 <+bridge_> [ddnet] (that's what @Kaisi said) 19:02 <+bridge_> [ddnet] http://puu.sh/DNNy1/5b56194307.png 19:02 <+bridge_> [ddnet] 19:02 <+bridge_> [ddnet] nobys fng server is based on ddnet and its the most popular one 19:02 <+bridge_> [ddnet] @onby :GWpingSock: 19:02 <+bridge_> [ddnet] ur white theme is horrible 19:03 <+bridge_> [ddnet] quoting using pictures is annoying ๐Ÿ˜› just use ">" 19:04 <+bridge_> [ddnet] is the http master already wip? 19:04 <+bridge_> [ddnet] @Learath2 is working on it 19:04 <+bridge_> [ddnet] @Learath2 how is your progress? 19:05 <+bridge_> [ddnet] > u 19:06 <+bridge_> [ddnet] @heinrich5991 how am i going to flex my white theme then? 19:07 <+bridge_> [ddnet] @Kaisi gimme a day or two and it should be ready, then give it a day or two for review ๐Ÿ˜› 19:07 <+bridge_> [ddnet] and another two weeks to fix all the bugs? 19:07 <+bridge_> [ddnet] ๐Ÿ˜› 19:08 <+bridge_> [ddnet] yep sounds about right 19:08 <+bridge_> [ddnet] @ChillerDragon 19:08 <+bridge_> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/595662120729837568/a.png 19:08 <+bridge_> [ddnet] hehe 19:09 <+bridge_> [ddnet] 19:09 <+bridge_> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/595662258215059456/unknown.png 19:09 <+bridge_> [ddnet] heinrich white themer confirmed 19:09 <+bridge_> [ddnet] @Kaisi I had it mostly working, then I noticed I kinda went overboard and removed the entire support for serverinfo packets and old masters, neither could servers register on old masters 19:09 <+bridge_> [ddnet] so I started again ๐Ÿ˜› 19:09 <+bridge_> [ddnet] @Learath2 ill gladly try to break ur api 19:09 <+bridge_> [ddnet] @Learath2 I feel like the review could take longer than a day or two 19:09 <+bridge_> [ddnet] will* 19:09 <+bridge_> [ddnet] yeah 19:09 <+bridge_> [ddnet] it will take weeks for sure 19:10 <+bridge_> [ddnet] at least I might have some strong opinion on doing things rightโ„ข 19:10 <+bridge_> [ddnet] @heinrich5991 pls send your strong opinions before I finish up ๐Ÿ˜„ 19:10 <+bridge_> [ddnet] but breaking the old-ish support sounds right to me? ๐Ÿ˜ฎ 19:10 <+bridge_> [ddnet] @Learath2 I haven't seen it yet, how can I comment on it 19:10 <+bridge_> [ddnet] i wish we could remake the map format in a sane and human way 19:11 <+bridge_> [ddnet] @Ryozuki this is important enough that it'll prolly get a lot more attention then some other prs 19:11 <+bridge_> [ddnet] @Learath2 please share some API calls, the design for registering, the IPv6 compatibility, the way forward for server pings in the client 19:12 <+bridge_> [ddnet] oh IPv6 compatibility ๐Ÿค” 19:12 <+bridge_> [ddnet] for some of the things that might be contentious 19:12 <+bridge_> [ddnet] @Learath2 also the ability to blacklist a server ip 19:12 <+bridge_> [ddnet] does that even require anything specific? as long as the server registers from an ipv6 address it should register just fine 19:12 <+bridge_> [ddnet] no, we're not introducing a protocol that doesn't have proper ipv6 support IMO 19:13 <+bridge_> [ddnet] just ship both ips 19:13 <+bridge_> [ddnet] no. we need a way for a server to identify ipv4 and ipv6 address so it doesn't appear twice in the serverbrowser 19:13 <+bridge_> [ddnet] also it needs to register for both, if possible 19:13 <+bridge_> [ddnet] (currently it only registers for one) 19:13 <+bridge_> [ddnet] ye, my ISP doesnt have ipv6 support 19:14 <+bridge_> [ddnet] I haven't seen a single household isp that gives out ipv6 yet 19:14 <+bridge_> [ddnet] but ds-lite is really a thing nowadays, so supporting ipv6 seems necessary 19:14 <+bridge_> [ddnet] oh i had one that does 19:14 <+bridge_> [ddnet] orange 19:14 <+bridge_> [ddnet] but yeah, it'd be stupid not to support it 19:14 <+bridge_> [ddnet] but most vps 19:14 <+bridge_> [ddnet] have ipv6 19:14 <+bridge_> [ddnet] like almost all 19:14 <+bridge_> [ddnet] almost, ye 19:14 <+bridge_> [ddnet] I have a working IPv6 19:14 <+bridge_> [ddnet] pff, this complicates everything 19:15 <+bridge_> [ddnet] yes, I know ^^ 19:15 <+bridge_> [ddnet] I got a sudden urge to drop this 19:15 <+bridge_> [ddnet] ๐Ÿ˜— 19:15 <+bridge_> [ddnet] :bluekitty: 19:15 <+bridge_> [ddnet] ๐Ÿ˜ฆ 19:15 <+bridge_> [ddnet] @Learath2 i fell u 19:15 <+bridge_> [ddnet] feel 19:15 <+bridge_> [ddnet] * 19:15 <+bridge_> [ddnet] how would one support both ips and recognize them as the same? the client would also need to request which one prefers right 19:15 <+bridge_> [ddnet] i have seen cases where ds lite increased the ping for ipv4 by 20 ms compared to ipv6 19:16 <+bridge_> [ddnet] This sounds wrong though, the server shouldn't have to know their ip 19:16 <+bridge_> [ddnet] sounds very counterintuitive 19:16 <+bridge_> [ddnet] @redix ipv6 should be more perfomant 19:16 <+bridge_> [ddnet] easier routing tables 19:16 <+bridge_> [ddnet] or something like that 19:16 <+bridge_> [ddnet] i have a full dualstack now and both have the same ping 19:16 <+bridge_> [ddnet] If I let the server dictate what ip they are registering with, it's no longer guaranteed that they own the ip 19:16 <+bridge_> [ddnet] @Learath2 I'd alternatingly heartbeat via ipv4 and ipv6 maybe 19:17 <+bridge_> [ddnet] you can set curl options to say that only IPvX ought to be used 19:18 <+bridge_> [ddnet] yeah, I guess that could work, but how is curl supposed to know which ipv6 address to use as source? 19:18 <+bridge_> [ddnet] how is it supposed to know which ipv4 address to use as source? โ€“ the OS is doing that 19:19 <+bridge_> [ddnet] how do you make sure curl and the server is using the same network interface? 19:19 <+bridge_> [ddnet] ipv4 cant connect to ipv6 right? 19:19 <+bridge_> [ddnet] it's not that common to have a block of ipv4 addresses, it's very common for ipv6 addresses 19:19 <+bridge_> [ddnet] and why not simply using something like a token/ident number so that the master knows which ips are together? 19:20 <+bridge_> [ddnet] you hope for the best(?) 19:20 <+bridge_> [ddnet] u can abuse it 19:20 <+bridge_> [ddnet] oh, another point: please still have a way do port-forward checking, with a way to disable it on the server side 19:20 <+bridge_> [ddnet] (this should mostly fix the "invalid ipv6" problem) 19:20 <+bridge_> [ddnet] @Kaisi yeah, that's what I have in mind, we already send a secret, so I'll use that 19:21 <+bridge_> [ddnet] port-forward checking? do we really need this? 19:21 <+bridge_> [ddnet] and why don't you ship external ipv4/v6 ip within the register packet? 19:21 <+bridge_> [ddnet] I think we should do it, yes 19:22 <+bridge_> [ddnet] @Kaisi then idk if the server actually owns the ip, then i need some packet to verify that, etc. way more work 19:22 <+bridge_> [ddnet] @heinrich5991 hmm, just have the master twping the server on the given port? 19:23 <+bridge_> [ddnet] could be abused - possibly - 19:24 <+bridge_> [ddnet] @Kaisi yeah, make those 2 days more like a month or so 19:24 <+bridge_> [ddnet] a year* 19:25 <+bridge_> [ddnet] :feelsbadman: 19:25 <+bridge_> [ddnet] and I'm bound to get way more busy with exams on september, so I guess http masters 2020? 19:25 <+bridge_> [ddnet] who keeps ddosing the masterserver anyway? 19:25 <+bridge_> [ddnet] he gains literally no benefit 19:25 <+bridge_> [ddnet] and ddnet has its own sv list 19:25 <+bridge_> [ddnet] this is completly dumb 19:26 <+bridge_> [ddnet] port forward checking... what are we checking even? 19:26 <+bridge_> [ddnet] that the server is reachable 19:26 <+bridge_> [ddnet] I guess I can just send a connless tw packet on the port, and have the server reply with it 19:27 <+bridge_> [ddnet] ye 19:27 <+bridge_> [ddnet] yes, I'd pack the response into the next heartbeat packet though 19:27 <+bridge_> [ddnet] that way, we don't require the masterserver to listen for udp packets 19:27 <+bridge_> [ddnet] sure 19:28 <+bridge_> [ddnet] (and could potentially spoof the source address of these packets if that's allowed anywhere, in order to not give away the real source) 19:28 <+bridge_> [ddnet] I mean we could probably get some server in a third world country ๐Ÿ˜„ 19:28 <+bridge_> [ddnet] or maybe vali would share 19:29 <+bridge_> [ddnet] @heinrich5991 any strong opinion on how I should be verifying the json schema? 19:30 <+bridge_> [ddnet] using a library 19:30 <+bridge_> [ddnet] like any sane person 19:32 <+bridge_> [ddnet] I think it should only be verified on the client side, what do you think? 19:32 <+bridge_> [ddnet] (the serverinfo json schema) 19:32 <+bridge_> [ddnet] i.e. like it's done today 19:33 <+bridge_> [ddnet] @Learath2 maybe I don't understand the question correctly 19:33 <+bridge_> [ddnet] Well the server has to drop invalid heartbeats aswell 19:33 <+bridge_> [ddnet] and the server list is essentially a list of objects with a subset of the elements of a heartbeat 19:34 <+bridge_> [ddnet] so at either side I need to verify that the json is not malformed 19:34 <+bridge_> [ddnet] you could just put the published object in a "info" subobject or so 19:34 <+bridge_> [ddnet] then you don't have to touch it on the masterserver side 19:36 <+bridge_> [ddnet] cloudflare was down today btw 19:36 <+bridge_> [ddnet] i.e. don't host all masterservers on cloudflare ๐Ÿ˜› 19:39 <+bridge_> [ddnet] @heinrich5991 would you be okay with letting servers host arbitrary data on our masterservers? 19:39 <+bridge_> [ddnet] yes, until it is abused 19:40 <+bridge_> [ddnet] maybe put a size limit on it 19:40 <+bridge_> [ddnet] Things that sound like big problems to me sound like no problem to you, and things that I wouldn't even think about are problems for you ๐Ÿ˜› 19:40 <+bridge_> [ddnet] It's like we think in opposite ways 19:41 <+bridge_> [ddnet] that's the upside of not working alone on a project I guess? 19:41 <+bridge_> [ddnet] true 19:42 <+bridge_> [ddnet] (I'd want this info to be as open as possible for mods, and previously they could also send any data to the clients) 19:44 <+bridge_> [ddnet] I'd want to strictly regulate it, so that when the client gets an "info" field it knows exactly what's in it and it's always enough to construct a `CServerInfo` object and the people that host masters know exactly what they are hosrting 19:45 <+bridge_> [ddnet] I'd validate that on the client side โ€“ and just skip any entries that don't conform to the client's schema (but allow extra fields) 19:46 <+bridge_> [ddnet] I feel like restricting fields doesn't help the masters not hosting content they don't want, we have many free-form strings in there 19:46 <+bridge_> [ddnet] a size limit can reduce the most rampant abuse 19:47 <+bridge_> [ddnet] but for the extra-fields maybe implement a protocol version? 19:47 <+bridge_> [ddnet] (size limit in bytes) 19:47 <+bridge_> [ddnet] sent by server 19:47 <+bridge_> [ddnet] but then mods can't put their own fields without cooperation by the masters 19:47 <+bridge_> [ddnet] *clients 19:48 <+bridge_> [ddnet] the idea would be you create a protocol which could be extended but has a version number so the client always knows whats inside 19:48 <+bridge_> [ddnet] the main problem would be the client then 19:48 <+bridge_> [ddnet] what problem with "my" system are you trying to solve? what doesn't work there? 19:49 <+bridge_> [ddnet] imagine vers 1 has no banner url, but vers 2 has one, so the client knows that the additional field means if there is a proper version shipped with 19:49 <+bridge_> [ddnet] imagine vers 1 has no banner url, but vers 2 has one, so the client knows what the additional field means if there is a proper version shipped with 19:50 <+bridge_> [ddnet] so it would be possible to create fields with a general description, more or less. I hope you get the idea 19:51 <+bridge_> [ddnet] the banner url is a good example. so you discuss on github how to implement it, just add it, go one up in the version and newer clients know how to parse the new field instead of just displaying bullshit maybe 19:51 <+bridge_> [ddnet] extra fields aren't a problem in JSON 19:51 <+bridge_> [ddnet] so presenting a preview instead of the url 19:52 <+bridge_> [ddnet] they're just ignored by the client if it doesn't know them 19:52 <+bridge_> [ddnet] ye but I meant the parsing later 19:52 <+bridge_> [ddnet] hmpf. 23:46 <+bridge_> [ddnet] @jao translaten for me pls 23:46 <+bridge_> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/595731950178926602/fnlh1fa1kw731.png 23:46 <+bridge_> [ddnet] :monkaS: 23:46 <+bridge_> [ddnet] what exactly 23:46 <+bridge_> [ddnet] wats statt 23:46 <+bridge_> [ddnet] linux instead of windows 23:46 <+bridge_> [ddnet] ohh 23:46 <+bridge_> [ddnet] :toptri: