00:14 < bridge> so THATS what voxel was all about! 00:14 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1272679743300567194/image.png?ex=66bbdae0&is=66ba8960&hm=55270c29d1ccf9a86401b67d0fe910efa0231cbe719fd9fc561aa8036c6ea233& 00:37 < bridge> damn that "no auth required" filter, as I update without reading (like probably a lot of players), some couldn't find some servers like KoG ones 01:02 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1272691618851328062/voxel_jumpscare.gif?ex=66bbe5ef&is=66ba946f&hm=b2f81b363c9877022eff003a7084ffd51cf7b0c78fe810f3394172010a57cbec& 01:51 < bridge> 🤯 02:06 < bridge> <_oropher> 2024-08-13 00:03:42 E register/6/ipv4: ERROR: the master server reports that clients can not connect to this server. 02:06 < bridge> <_oropher> 2024-08-13 00:03:42 E register/6/ipv4: ERROR: configure your firewall/nat to let through udp on port 8303. I have udp enabled in input and ouput for port 8303 but it is still failing, what could it be? 02:18 < bridge> if you are home hosting you have to open ports 02:19 < bridge> <_oropher> I mean it is in a hosting and the ports are open, the strange thing is that when I compile it in a docker and I gave him if for the sql is when the register fails, if I compile it in sql off if it registers it. 02:48 < bridge> if you are paying for a vps there may be a web control panel you can access to see their firewall 02:48 < bridge> make sure it's accessible through both your OS's firewall and your host's 02:49 < bridge> you will usually have neither by default 03:36 < bridge> <_oropher> and query, I have been looking for the kog maps, with the voting configuration, does it exist in any repository ? 04:34 < ws-client> @.a0040 to build with debug symbols go to your build folder and run ``cmake .. -DCMAKE_BUILD_TYPE=Debug && make`` then you can run it with gdb again and the gdb `bt` command should show you details you can then report to fokkonaut here https://github.com/fokkonaut/F-DDrace/issues/ 04:36 < ws-client> @_oropher no kog is quite closed 04:37 < ws-client> i mean the maps it self you can download in game or on their website https://kog.tw/#p=maps but their infrastructure is fully closed source 04:38 < bridge> The download doesn't work I think xd 04:38 < ws-client> trol kog 06:21 < bridge> lol what 06:21 < bridge> kog has a twitch channel 06:29 < ws-client> watfak xd send 06:29 < ws-client> are they ever live? 07:04 < bridge> https://www.twitch.tv/kogtw 07:04 < bridge> it was linked on their site 07:41 < ws-client> > kogtw last streamed 3 years ago. 09:23 < bridge> @heinrich5991 what's the current state of bans command ? Pagination still temporary? 10:09 < bridge> not sure what bans command/pagination you're referring to 10:09 < bridge> ingame rcon? 10:42 < bridge> Sadly you cant rotate the confetti 😦 10:47 < bridge> no confetti rotation D: 10:49 < bridge> Hey, could I become code owner of src/game/editor/mapitems/map_io.cpp? I tend to miss changes to the map format, but would like to have a say whenever changes happen. I also try to be compatible with twmap, which I was now often behind on after some changes (e.g. the most recent change: empty quads/sounds layers) 10:54 < bridge> ```json 10:54 < bridge> {"response":"failure","message":"Order could not be created","data":"Failed"} 10:54 < bridge> ``` 10:54 < bridge> 10:54 < bridge> I love this shitty api 11:04 < bridge> do these APIs usually communicate this through the HTTP status code, too? 11:07 < bridge> Depends on the error. This api returns a 500 on invalid json, 200 on that failure above (missing field in valid json) 11:07 < bridge> I guess the first one should be 400 instead? 11:08 < bridge> how would you design such an API wrt. HTTP status codes? 11:09 < bridge> 400 for both imo 11:09 < bridge> wait whats bad abt that 💀 other than the redundant failure message 11:09 < bridge> nonspecific error 11:09 < bridge> it's unclear what's wrong 11:09 < bridge> It took me 40 minutes to figure out why the "order could not be created" 11:10 < bridge> what you it rather do? 11:10 < bridge> The correct error message should be `"Order could not be created: Validation failed: Missing field 'currency'"` 11:11 < bridge> oh 11:11 < bridge> or even just "couldn't parse input" 11:11 < bridge> oh like a shop order or something i see 11:11 < bridge> (which it correctly does for some other fields, so someone manually added the correct error return for some cases and not others) 11:12 < bridge> it doesn't even tell you that it's the input that's wrong, rather than some external API it couldn't contact 11:12 < bridge> I diffed it against a payload that I knew worked as a last resort 11:13 < bridge> Then I started adding fields until I found the one that is actually required, (the api docs mark "currency" optional) 11:13 < bridge> And the docs are for an older version of the api, we just got an updates document that only reports changed paths but payload changes are like surprise eggs, you figure them out when your old requests don't work through the new path 11:14 < bridge> If this is the state of apis in the wild I'm starting to see why people need backend engineers 😄 11:15 < bridge> is there any shortcut to click the editor layer eyeball so that only that layer is visible and everything else invisible? 11:33 < bridge> Yes, bans command showing the ban list 11:33 < bridge> not aware of any, but also haven't looked at the code 11:37 < bridge> Probably permanent. It does make sense to paginate long results even if we fix the underlying protocol shortcoming 11:45 < bridge> since playing modded minecraft i have the urge to do mods 11:45 < bridge> and looks like there is more mod loaders nowadays 11:45 < bridge> forge was forked into neoforge 11:45 < bridge> and there is fabric 11:45 < bridge> :justatest: 12:30 < bridge> Alright, it seems like you can do `bans 1200` and will not print out that the page does not exist. Also doesn't print the number of available pages 12:46 < bridge> I should learn how to pull req, never done it before. Maybe I can make bans better 12:46 < bridge> @reitw call me, i'll teach you the ways of githubbing 12:47 < bridge> I'm not home but later why not 12:48 < bridge> 👍 12:48 < bridge> thought you were big githubber :0 12:48 < bridge> gitlabber :( 12:48 < bridge> I'm what we call the worst and laziest githuber 12:48 < bridge> master only pusher 12:48 < bridge> oof 12:48 < bridge> force pusher? 12:48 < bridge> the only right way of pushing 12:48 < bridge> Ah not that one 12:48 < bridge> are you a jedi? 12:48 < bridge> But spam pusher too 12:49 < bridge> Well only on my repo, should learn to be clean lmao 12:50 < bridge> i'll show you basics, fork, new branch, PR, squash, (how to be nice so your stuff gets merged) etc etc! 12:50 < bridge> "how to be nice" 12:50 < bridge> put that one at the end 12:50 < bridge> xD 12:50 < bridge> cuz that will take a lifetime 12:50 < bridge> i played CoD with Rei, trust me.. i know :( 12:50 < bridge> xD 12:51 < bridge> Lmao, first game top1 12:51 < bridge> :kekw: true 12:51 < bridge> can't have everything 13:01 < bridge> https://news.ycombinator.com/item?id=41187470 13:01 < bridge> sounds pretty bad 13:02 < bridge> (see also https://www.theregister.com/2024/08/09/core_python_developer_suspended_coc/) 13:05 < bridge> interesting 13:05 < bridge> github does not disable the auto merge when force pushing 13:05 < bridge> that sounds rather dangerous 13:06 < bridge> i already saw that on the pr that should not be named xd 13:06 < bridge> lemme fuess 13:06 < bridge> chiller's pr 13:06 < bridge> guess 13:07 < ws-client> i still dont understand how confetti are that much less controversial than the colored broadcast 13:07 < ws-client> protocol decisions being merged without a clear plan or discussion 13:08 < bridge> only for people with write access to the repository 13:08 < bridge> AFAIK 13:08 < bridge> but the name whos name should not be merged was chillers 13:08 < bridge> but the pr whos name should not be merged was chillers 13:09 < bridge> speaking of the devil 13:09 < ws-client> @patiga you have my vote as code owner xd. What does being code owner even mean? Is there a github feature that can give you notifications if parts of the code are touched? 13:09 < bridge> the confetti is a simple net object, and it's even used in ddnet directly 13:10 < bridge> but the pr whos name should not be said was chillers 13:10 < ws-client> @Jupstar ✪ i was so sure it would 13:10 < bridge> the broadcast thing invented a text markup language for a thing that ddnet had no use case for 13:10 < bridge> (so far) 13:11 < bridge> also broadcast how you want to use them sound like they must be kinda stable. 13:11 < bridge> 13:11 < bridge> the confetti can simply be removed again 13:11 < ws-client> if i had known it does not abort the force push i would have closed the pr. But i was soooo sure it would abort the merge. It did with bors iirc 13:11 < bridge> hm, this concludes my guess ._. 13:11 < ws-client> @Jupstar ✪ why can confetti be removed and broadcast cant? 13:11 < bridge> bcs u rely on it logically or not 13:11 < bridge> u want to abuse it for your mod 13:12 < ws-client> same applies for confetti? 13:12 < bridge> sure, but that mod has yet to be invented xD 13:12 < bridge> also, we made it kinda clear that it's the finish effect 13:12 < bridge> for ddnet its just visual rn 13:12 < ws-client> @heinrich5991 we didnt its now also the birthday effect xd 13:13 < ws-client> thats my point 13:13 < bridge> already fixed, see my PR from an hour or so ago 13:13 < ws-client> also i think the color broadcast use case for ddnet was pretty clear imo. 13:13 < ws-client> ah ok 13:13 < bridge> how about a net object for broadcast color 13:13 < bridge> ._. 13:14 < bridge> yep, is part of the review thing https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-code-owners 13:14 < bridge> I hope to stay up-to-date with map format changes with this 13:15 < ws-client> you got the role? @patiga 13:15 < bridge> yes 13:15 < ws-client> pog 13:15 < bridge> CoC suck, indeed 13:16 < bridge> @ryozuki r u in holidays? 13:16 < bridge> no 13:18 < bridge> @ryozuki do you compile mesa with high optmizations? 13:18 < bridge> flags 13:18 < bridge> having no rules sucks as well. I don't think you can take one malfunction to declare that CoCs as a concept don't work 13:18 < bridge> but this example looks very bad indeed 13:19 < bridge> i Guess o2 13:19 < ws-client> @ryozuki do ppls say "I use neoforge BTW" ? 13:19 < ws-client> ppl* 13:19 < bridge> idk 13:20 < bridge> it doesnt disable it when the person forcepushing has write access* 13:20 < ws-client> @heinrich5991 2nd time i requested a protocol change on a pending pr and got ignored until it was merged but then the change was applied after that -.- 13:20 < bridge> that is true, but apparently also for those without xD 13:20 < bridge> ah man why is it that autoscrolling isnt working 13:21 < bridge> i always answer to things that have been asnwererd already XDD 13:21 < ws-client> where can i obtain a maintainer role to be taken seriously :p 13:21 < bridge> huh? i forcepushed like 3 of my PR's that cancled the auto-merge 13:21 < bridge> doesnt sound like intended behaviour at all 13:21 < bridge> then it must be some kind of bug xD 13:21 < bridge> and really damn dangerous XDDD 13:21 < ws-client> the epic 0.7 bug 13:23 < bridge> chiller 13:23 < bridge> deen force pushed before you right? 13:23 < ws-client> yes 13:23 < bridge> u just changed the author again 13:23 < ws-client> ouuu 13:23 < bridge> i wonder if that is the reason 13:23 < ws-client> does maintainer force push unlock the epic bug? 13:24 < ws-client> github 0d 13:24 < bridge> maybe, dunno xd 13:24 < bridge> or github didnt see it as "real" change 13:24 < ws-client> ayyy 13:24 < bridge> such a feature would sound very dangerous 13:24 < ws-client> ddnet 0.7 by deen -.- 13:24 < ws-client> i will cry forever about this xd 13:24 < bridge> still sounds horribly abusable if it works with actual code-changes aswell, when you're then able to just git rm *, force push it and annoyingly delete the repo for a short amount of time :kekw: 13:25 < bridge> ismt there force push with leasw 13:25 < bridge> lease 13:26 < ws-client> https://zillyhuhn.com/cs/.1723548374.png 13:26 < bridge> dennisdragon who? 13:26 < bridge> xD wtf 13:27 < bridge> imo it should cancel the auto merge even for repo members. 13:27 < bridge> 13:27 < bridge> you can easily forget to disable it, if you happen to add something last minute 13:27 < bridge> then all go sleep and u have it in xd 13:27 < ws-client> ye thats crazy 13:34 < ws-client> @meloƞ no it did not merge the forced pushed things. It merged the things before the force push. So it will be missing the latest fix or the unaudited malicious change. 13:34 < bridge> ah okay, i see - thanks!Q 13:34 < bridge> ah okay, i see - thanks! 13:36 < bridge> wait wat 13:36 < bridge> that stupid as well 13:39 < bridge> i got a very weird bug once 13:40 < bridge> i timed out and rejoined, the only thing visible was my cursor 13:40 < bridge> then my game crashed 13:53 < bridge> creepypasta 13:53 < bridge> @cyberfrighter send crash dumps 13:56 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1272886598148690002/DDNet_win64-steam_crash_log_2024-08-08_01-27-11_6388_44ff68a22e74be570d215c13e706d5bd473bc401.RTP?ex=66bc9b86&is=66bb4a06&hm=e05b678a2e94b709a03a1a250a2cedc26d3aeaf7ad297a93b853fffdce0a7bd7& 13:58 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1272886957071929509/2024-08-08_01-32-27.mp4?ex=66bc9bdb&is=66bb4a5b&hm=f745fa247d0c9815eea41540a69aa4831e80dec3eb727f1bac4e2b01e81cf3df& 13:58 < bridge> can u reproduce it already or what 13:58 < bridge> no that was when it happened idk 13:58 < bridge> depends if i can timeout again i guess 13:59 < bridge> gm 13:59 < bridge> oh ok 13:59 < bridge> good morning game master 13:59 < bridge> good morning game master 14:25 < ws-client> ddnet creepypasta xd @Jupstar ✪ 14:30 < bridge> .is 14:41 < bridge> Give Music recs 14:45 < bridge> porter robinson 👹 14:48 < bridge> Lol ofc u like porter robinson 14:51 < bridge> passionate duelist 14:53 < bridge> black and white 2 legendary theme 14:53 < bridge> xd 14:58 < bridge> Gunship 14:58 < bridge> the Unicorn album is nice 14:58 < bridge> https://www.youtube.com/watch?v=kXY6XaNsXik 15:11 < bridge> wtf 16:31 < bridge> today is left handedness dat 16:31 < bridge> day 16:31 < bridge> im left handed btw, but i use mouse with right hand 16:31 < bridge> xd 16:31 < bridge> i write with left 16:32 < bridge> https://www.lefthandersday.com/ 16:33 < bridge> real gamers are both handed 😬 16:34 < bridge> > Mixed-handedness or cross-dominance is the change of hand preference between different tasks. This is about as widespread as left-handedness.[17] This is highly associated with the person's childhood brain development 16:34 < bridge> i guess im mixed 16:35 < bridge> @ryozuki top if left hand writing with mouse, bottom right hand xdd 16:35 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1272926468313317406/image.png?ex=66bcc0a7&is=66bb6f27&hm=397d1d1e9087b989774b8ba3a124118924fce23f81a5127a968d0851c92ee21b& 16:35 < bridge> i rarely use my mouse with left hand 16:36 < bridge> only when i eat and have smth in my right hand 16:36 < bridge> 😬 16:36 < bridge> @ryozuki top is left hand writing with mouse, bottom right hand xdd 16:36 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1272926468313317406/image.png?ex=66bcc0a7&is=66bb6f27&hm=397d1d1e9087b989774b8ba3a124118924fce23f81a5127a968d0851c92ee21b& 16:37 < bridge> no left handed emojis 16:38 < bridge> <.a0040> i managed to run the server 16:38 < bridge> <.a0040> but even though we see it in browser, can connect and all 16:38 < bridge> <.a0040> 16:38 < bridge> <.a0040> we still get the error 16:38 < bridge> <.a0040> https://cdn.discordapp.com/attachments/293493549758939136/1272927178589339719/image.png?ex=66bcc151&is=66bb6fd1&hm=27be9fd6843f1004efefd35ab372d8dc9b7a91936bffdbdf63ea1f71d0d369ab& 16:38 < bridge> 👈 16:38 < bridge> @ryozuki can u also write with right 16:38 < bridge> if u game a lot 16:38 < bridge> i mean that gives quite some skill doesnt it 16:39 < bridge> your firewall is blocking access, I guess 16:40 < bridge> <.a0040> chiller said its all open in ovh. i mean we can see it and connect but the error is showing 16:40 < bridge> <.a0040> 16:40 < bridge> <.a0040> would you know a command to allow it through the firewall ? 16:41 < bridge> so you can connect by using the ip + port? 16:41 < bridge> <.a0040> yeah 16:41 < bridge> then it's not the firewall 16:42 < bridge> is it maybe tcp that is blocked for communicating with ddnet master server? 16:42 < bridge> tcp traffic 16:42 < bridge> hm 16:42 < bridge> i play tw aiming with right hand 16:42 < bridge> its weird 16:42 < bridge> hm, dunno how the communication with ddnet master server works 16:43 < bridge> yeah that is insane 16:43 < bridge> that's why i wondering 16:43 < bridge> if u ask me with what hand i woukld punch u 16:43 < bridge> sometimes i have a hard time deciding 16:43 < bridge> i think left but maybe right 16:43 < bridge> xd 16:43 < bridge> ok maybe left 16:44 < bridge> dual wielding fists 16:45 < bridge> i would bat a ball from the left side 16:45 < bridge> definitly 16:48 < bridge> everyday new record 16:54 < bridge> https://blog.cloudflare.com/http-3-vs-http-2 17:02 < bridge> that is closer than i'd have expected 17:06 < bridge> same xd 19:18 < bridge> What does this do? https://github.com/ddnet/ddnet/blob/master/.github/CODEOWNERS 19:20 < bridge> > Code owners are automatically requested for review when someone opens a pull request that modifies code that they own. 19:20 < bridge> https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-code-owners 19:32 < bridge> ChillerDragon: take this https://assets.ddstats.org/teedata-dump.zip and check https://assets.ddstats.org/ save the data somewhere open and unforgettable pls 19:32 < bridge> ur the best for this 20:44 < bridge> ez fix 20:44 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1272989218901069916/image.png?ex=66bcfb18&is=66bba998&hm=2756875bf9a013c0c39139442c4dc8f15b87e27dd8f0f39b84898696fb5a1988& 20:55 < bridge> <.a0040> does anyone know how to use the F-DDrace entities.png in editor? Do i need to name them "game" ? because then some will be overwritten 20:55 < bridge> <.a0040> 20:55 < bridge> <.a0040> I'd like to call them fddrace or something like that 20:56 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1272992167861686384/image.png?ex=66bcfdd7&is=66bbac57&hm=5efaa5cafda1842599375851f534bf7a9173ff7b70e765ae676f198593480e54& 20:56 < bridge> but question usually go into #questions or #mapping 20:56 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1272992225260994620/image.png?ex=66bcfde5&is=66bbac65&hm=5f229255f0f3fdc15b99bfd655a01a3a804f6f40363503ea049b38999c742ec1& 20:56 < bridge> jupsti 20:56 < bridge> fast 20:56 < bridge> <.a0040> ahhhh 20:56 < bridge> <.a0040> tysm xD 20:57 < bridge> first pull request of my life damn 20:57 < bridge> gg 20:59 < bridge> IT TOOK ME 20:59 < bridge> HOURS TO EXPLAIN 20:59 < bridge> 20:59 < bridge> you're bad 20:59 < bridge> took me 10mins to top1 with you 20:59 < bridge> 21:01 < bridge> <.a0040> why isnt there a description for each tile 😮 21:01 < bridge> <.a0040> its hard af figure it out from source 21:58 < bridge> there is 21:59 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1273007919977468084/image.png?ex=66bd0c83&is=66bbbb03&hm=f31b730882e07a85c0f1ee75161aea8359d8911dd67be9d725a201e787b21503& 21:59 < bridge> Hi, i tried to add my ddnet server (compiled with mysql) to master server. 21:59 < bridge> i have the same error using an own mastersrv and ddrace mastersrv 21:59 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1273007985655939213/image.png?ex=66bd0c93&is=66bbbb13&hm=ca036cabed5abd66a37097ce654639edd1f5e009fc13fb200ea4f93373bc132f& 22:00 < bridge> Hi, i tried to add my ddnet server (compiled with mysql) to master server. 22:00 < bridge> i have the same error using an own mastersrv and ddrace mastersrv 22:00 < bridge> using ipv4 22:00 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1273007985655939213/image.png?ex=66bd0c93&is=66bbbb13&hm=ca036cabed5abd66a37097ce654639edd1f5e009fc13fb200ea4f93373bc132f& 22:02 < bridge> Hi, i tried to add my ddnet server (compiled with mysql) to master server. 22:02 < bridge> i have the same error using an own mastersrv and ddrace mastersrv 22:02 < bridge> using ipv4 22:02 < bridge> 22:02 < bridge> ./mastersrv --listen 168.195.128.149:8080 --out servers.json --connecting-ip-header CF-Connecting-IP --write-dump=test.txt 22:02 < bridge> sv_register_url "https://master1.zgaming.host/ddnet/15/register" 22:02 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1273007985655939213/image.png?ex=66bd0c93&is=66bbbb13&hm=ca036cabed5abd66a37097ce654639edd1f5e009fc13fb200ea4f93373bc132f& 22:03 < bridge> Hi, i tried to add my ddnet server (compiled with mysql) to master server. 22:03 < bridge> i have the same error using an own mastersrv and ddrace mastersrv 22:03 < bridge> using ipv4 22:03 < bridge> 22:03 < bridge> ./mastersrv --listen 168.195.128.149:8080 --out servers.json --connecting-ip-header CF-Connecting-IP --write-dump test.txt 22:03 < bridge> sv_register_url "https://master1.zgaming.host/ddnet/15/register" 22:03 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1273007985655939213/image.png?ex=66bd0c93&is=66bbbb13&hm=ca036cabed5abd66a37097ce654639edd1f5e009fc13fb200ea4f93373bc132f& 22:03 < bridge> Hi, i tried to add my ddnet server (compiled with mysql) to master server. 22:03 < bridge> i have the same error using an own mastersrv and ddrace mastersrv 22:03 < bridge> using ipv4 22:03 < bridge> 22:03 < bridge> ./mastersrv --listen 168.195.128.149:8080 --out servers.json --connecting-ip-header CF-Connecting-IP --write-dump test.txt 22:03 < bridge> sv_register_url "https://master1.zgaming.host/ddnet/15/register" 22:04 < bridge> 22:04 < bridge> test.txt 22:04 < bridge> {"now":18001,"addresses":{"tw-0.7+udp://168.195.128.149:28000":{"kind":"mastersrv","ping_time":13765,"secret":"34cd4dec-1dda-4ef9-8263-ba155ee23224"}},"servers":{"34cd4dec-1dda-4ef9-8263-ba155ee23224":{"info_serial":0,"info":{"max_clients":64,"max_players":64,"passworded":false,"game_type":"TestDDraceNetwork","name":"My DDNet server","map":{"name":"Tutorial","sha256":"796a3716fe64657bfb8bc6af5f9422b197278919a9d875e43b9bbbcb73262fc0","size":1060483 22:04 < bridge> 22:04 < bridge> servers.json 22:04 < bridge> {"servers":[{"addresses":["tw-0.7+udp://168.195.128.149:28000"],"info":{"max_clients":64,"max_players":64,"passworded":false,"game_type":"TestDDraceNetwork","name":"My DDNet server","map":{"name":"Tutorial","sha256":"796a3716fe64657bfb8bc6af5f9422b197278919a9d875e43b9bbbcb73262fc0","size":1060483},"version":"0.6.4, 18.4","client_score_kind":"time","requires_login":false,"clients":[]}}]} 22:04 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1273007985655939213/image.png?ex=66bd0c93&is=66bbbb13&hm=ca036cabed5abd66a37097ce654639edd1f5e009fc13fb200ea4f93373bc132f& 22:12 < bridge> Hi, i tried to add my ddnet server (compiled with mysql) to master server. 22:12 < bridge> i have the same error using an own mastersrv and ddrace mastersrv 22:12 < bridge> using ipv4 22:12 < bridge> 22:12 < bridge> ./mastersrv --listen 168.195.128.149:8080 --out servers.json --connecting-ip-header CF-Connecting-IP --write-dump test.txt 22:12 < bridge> sv_register_url "https://master1.zgaming.host/ddnet/15/register" 22:12 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1273007985655939213/image.png?ex=66bd0c93&is=66bbbb13&hm=ca036cabed5abd66a37097ce654639edd1f5e009fc13fb200ea4f93373bc132f& 22:23 < bridge> did you hardcoded ur mastersrv ip into your server? 22:23 < bridge> did you hardcode ur mastersrv ip into your server? 22:23 < bridge> <0xdeen> why do you want your own masterserver? 22:23 < bridge> for testing and verify if server sent data 22:24 < bridge> verifying what 22:24 < bridge> <0xdeen> do you have the same ip for outgoing and incoming? 22:24 < bridge> verify if send ipv4, port, etc 22:24 < bridge> ```{"now":745002,"addresses":{"tw-0.7+udp://168.195.128.149:28000":{"kind":"mastersrv","ping_time":734248,"secret":"9c008119-bc08-4735-aa42-70af8c80fb34"}},"servers":{"9c008119-bc08-4735-aa42-70af8c80fb34":{"info_serial":0,"info":{"max_clients":64,"max_players":64,"passworded":false,"game_type":"TestDDraceNetwork","name":"My DDNet server","map":{"name":"Tutorial","sha256":"796a3716fe64657bfb8bc6af5f9422b197278919a9d875e43b9bbbcb73262fc0","size":10 22:25 < bridge> <0xdeen> and can others connect to the server from internet? 22:25 < bridge> verify if send ipv4, port, etc 22:25 < bridge> text.txt 22:25 < bridge> ```{"now":745002,"addresses":{"tw-0.7+udp://168.195.128.149:28000":{"kind":"mastersrv","ping_time":734248,"secret":"9c008119-bc08-4735-aa42-70af8c80fb34"}},"servers":{"9c008119-bc08-4735-aa42-70af8c80fb34":{"info_serial":0,"info":{"max_clients":64,"max_players":64,"passworded":false,"game_type":"TestDDraceNetwork","name":"My DDNet server","map":{"name":"Tutorial","sha256":"796a3716fe64657bfb8bc6af5f9422b197278919a9d875e43b9bbbcb73262fc0","size":10 22:25 < bridge> 22:25 < bridge> servers.json 22:25 < bridge> ``` 22:25 < bridge> {"servers":[{"addresses":["tw-0.7+udp://168.195.128.149:28000"],"info":{"max_clients":64,"max_players":64,"passworded":false,"game_type":"TestDDraceNetwork","name":"My DDNet server","map":{"name":"Tutorial","sha256":"796a3716fe64657bfb8bc6af5f9422b197278919a9d875e43b9bbbcb73262fc0","size":1060483},"version":"0.6.4, 18.4","client_score_kind":"time","requires_login":false,"clients":[]}}]} 22:25 < bridge> ``` 22:25 < bridge> Yes 22:25 < bridge> <0xdeen> @heinrich5991 any ideas? 22:25 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1273014590245965854/SPOILER_image.png?ex=66bd12b9&is=66bbc139&hm=cf9a801c7e34fbb78e78488f4d2d038875b2417f62ad8d3d91cbadf540fe3dba& 22:25 < bridge> its a VPS from Chile 22:25 < bridge> verify if send ipv4, port, etc 22:25 < bridge> test.txt 22:26 < bridge> ```{"now":745002,"addresses":{"tw-0.7+udp://168.195.128.149:28000":{"kind":"mastersrv","ping_time":734248,"secret":"9c008119-bc08-4735-aa42-70af8c80fb34"}},"servers":{"9c008119-bc08-4735-aa42-70af8c80fb34":{"info_serial":0,"info":{"max_clients":64,"max_players":64,"passworded":false,"game_type":"TestDDraceNetwork","name":"My DDNet server","map":{"name":"Tutorial","sha256":"796a3716fe64657bfb8bc6af5f9422b197278919a9d875e43b9bbbcb73262fc0","size":10 22:26 < bridge> 22:26 < bridge> servers.json 22:26 < bridge> ``` 22:26 < bridge> {"servers":[{"addresses":["tw-0.7+udp://168.195.128.149:28000"],"info":{"max_clients":64,"max_players":64,"passworded":false,"game_type":"TestDDraceNetwork","name":"My DDNet server","map":{"name":"Tutorial","sha256":"796a3716fe64657bfb8bc6af5f9422b197278919a9d875e43b9bbbcb73262fc0","size":1060483},"version":"0.6.4, 18.4","client_score_kind":"time","requires_login":false,"clients":[]}}]} 22:26 < bridge> ``` 22:26 < bridge> verify if send ipv4, port, etc 22:26 < bridge> test.txt 22:26 < bridge> ```{"now":745002,"addresses":{"tw-0.7+udp://168.195.128.149:28000":{"kind":"mastersrv","ping_time":734248,"secret":"9c008119-bc08-4735-aa42-70af8c80fb34"}},"servers":{"9c008119-bc08-4735-aa42-70af8c80fb34":{"info_serial":0,"info":{"max_clients":64,"max_players":64,"passworded":false,"game_type":"TestDDraceNetwork","name":"My DDNet server","map":{"name":"Tutorial","sha256":"796a3716fe64657bfb8bc6af5f9422b197278919a9d875e43b9bbbcb73262fc0","size":10 22:26 < bridge> 22:26 < bridge> servers.json 22:26 < bridge> ``` 22:26 < bridge> {"servers":[{"addresses":["tw-0.7+udp://168.195.128.149:28000"],"info":{"max_clients":64,"max_players":64,"passworded":false,"game_type":"TestDDraceNetwork","name":"My DDNet server","map":{"name":"Tutorial","sha256":"796a3716fe64657bfb8bc6af5f9422b197278919a9d875e43b9bbbcb73262fc0","size":1060483},"version":"0.6.4, 18.4","client_score_kind":"time","requires_login":false,"clients":[{"name":"Joaquo","clan":"","country":-1,"score":-9999,"is_player":t 22:26 < bridge> ``` 22:26 < bridge> <0xdeen> why is it announced as tw0.7? 22:27 < bridge> <0xdeen> so only the 0.6 registration is failing i guess 22:27 < bridge> i used 22:27 < bridge> ```cmake -DDEV=OFF -DCMAKE_BUILD_TYPE=Release -DPREFER_BUNDLED_LIBS=OFF -DAUTOUPDATE=ON -DVIDEORECORDER=OFF -DDOWNLOAD_GTEST=ON -DUPNP=ON -DVULKAN=OFF -DCLIENT=OFF -DMYSQL=ON -DWEBSOCKETS=ON ..``` 22:28 < bridge> and other only with -DMYSQL=ON, and same errors 22:30 < bridge> mysql shouldn't cause the issue 22:37 < bridge> what happens if you disable sixup 22:37 < bridge> sv_sixup 0 I think 22:39 < bridge> same, 22:39 < bridge> ```2024-08-13 16:38:31 E register/6/ipv4: ERROR: the master server reports that clients can not connect to this server. 22:39 < bridge> 2024-08-13 16:38:31 E register/6/ipv4: ERROR: configure your firewall/nat to let through udp on port 28000. 22:39 < bridge> ``` 22:41 < bridge> ah well afterall 0.7 registration works so not sixup 22:41 < bridge> ah well afterall 0.7 registration works so not sixup, idk 23:02 < bridge> also https://ddnet.org/explain 23:19 < bridge> @patiga im sorry for ping, but is there a way to iterate over layers to do same thing for underlying `Array2` field without matching it? im trying to reshape all physics layers from on dim to another, didn't find any other way (but there is, i guess?) 23:23 < bridge> I think he means for F-DDrace entities 23:24 < bridge> <.a0040> yeah 23:24 < bridge> <.a0040> does anyone have invite for fokko discord ? 23:24 < bridge> which is true, the client displays no explanation for all gamemodes except ddrace 23:24 < bridge> mp 23:24 < bridge> <.a0040> yeah i checked the source 23:25 < bridge> looks like there are for fng 23:28 < bridge> you can do generic programming with this trait: https://docs.rs/twmap/0.12.4/twmap/trait.TilemapLayer.html 23:32 < bridge> le god patiga 🙏 23:32 < bridge> I'm not really a fan of #8542 adding legacy 64 client support forever, but I guess it's already mostly done so it will get added. 23:32 < bridge> https://github.com/ddnet/ddnet/pull/8542 23:33 < bridge> protocol is so bloated D: 23:34 < bridge> @gerdoe that was the briefest explanation ever, ping me on things I should elaborate ^^ 23:35 < bridge> 18 loc into 4 :owo: 23:35 < bridge> (btw feel free to ping me whenever you have anything twmap related, I'm glad whenever those libraries/tools are of use) 23:45 < bridge> hm, i can't just do 23:45 < bridge> ```rust 23:45 < bridge> fn clear_layer(layer: &mut impl TilemapLayer) { 23:45 < bridge> layer.tiles_mut().unwrap_mut().fill(Default::default()) 23:45 < bridge> } 23:45 < bridge> map.physics_group_mut().layers.iter_mut().map(|layer| clear_layer(layer)); 23:45 < bridge> ``` 23:45 < bridge> since `physics_group(_mut).layers` is just a vector of `Layer` 23:46 < bridge> there's no way to divide them into physics layers and other layers i guess 23:46 < bridge> you still need to match the layer, but on each tilemap layer, you can then call that function 23:46 < bridge> here I define a function that uses the trait 23:46 < bridge> https://gitlab.com/Patiga/twmap/-/blob/a7ed9ac7fbc27544610b0211158ad9c86adc627b/twmap/src/map/edit/mirror.rs#L134 23:46 < bridge> here I call that function on the layer with matching 23:46 < bridge> https://gitlab.com/Patiga/twmap/-/blob/a7ed9ac7fbc27544610b0211158ad9c86adc627b/twmap/src/map/edit/mirror.rs#L66 23:47 < bridge> ah you asked for smth without matching 23:48 < bridge> there is no function without matching. but with this trait, you can access the `Array2` of any tilemap layer, and do stuff with generic programming 23:48 < bridge> hm, what if you divide `Layer` into `Physics(PhycicsLayers) [which is another enum :/]` and `Design(DesignLayer) [same here]`? another layer of abstraction and not quite useful 23:49 < bridge> but easier for using with `TilemapLayer` xd 23:49 < bridge> I don't quite see yet how that makes it easier 23:49 < bridge> hm, what if you divide `Layer` into `Physics(PhycicsLayer) [which is another enum :/]` and `Design(DesignLayer) [same here]`? another layer of abstraction and not quite useful 23:49 < bridge> you'd still need to handle all the different tile types 23:50 < bridge> not since all physics layers are tilemaps, arent they 23:50 < bridge> design layers are just for tiles, quads and sounds 23:51 < bridge> and `PhysicsLayer` will implement `TilemapLayer` 23:51 < bridge> what do you think? i just don't know if it fits in twmap 23:51 < bridge> what do you think? i just don't know if it fits in terms oftwmap 23:52 < bridge> what do you think? i just don't know if it fits in terms of twmap 23:53 < bridge> it can't really implement `TilemapLayer`, as it can't give a concrete type `T` for which it will return `Array2` 23:54 < bridge> dead 23:54 < bridge> that can't be done dynamically with such a trait