Config
Log for #openttd on 5th July 2023:
Times are UTC Toggle Colours
00:59:41  <Eddi|zuHause> i'm leaning towards "yes" on tunnel speed limits, if you can set them for NewGRF tunnels, but the default tunnel doesn't have it.
01:00:01  <Eddi|zuHause> modern tunnels go through great length to have trains entering at high speeds
01:03:58  <debdog> and they have signals
01:07:42  <Eddi|zuHause> different topic :p
01:10:26  <debdog> twue
01:10:49  <peter1138> new map array?
01:48:22  <Eddi|zuHause> that's also something michicc wanted to do :p
02:04:39  *** herms has quit IRC
02:05:24  *** Wormnest has quit IRC
02:05:41  *** herms has joined #openttd
02:22:02  *** Flygon has quit IRC
02:24:14  *** D-HUND has joined #openttd
02:27:50  *** debdog has quit IRC
03:31:55  *** keikoz has joined #openttd
04:16:33  *** tokai|noir has joined #openttd
04:16:33  *** ChanServ sets mode: +v tokai|noir
04:23:17  *** tokai has quit IRC
05:05:56  <DorpsGek> [OpenTTD/OpenTTD] YellowOnion commented on issue #11048: [Bug]: Sound non-functional in nightly linux-generic builds https://github.com/OpenTTD/OpenTTD/issues/11048
05:52:52  <pickpacket> talltyler: ๐Ÿ˜‚ I appreciate the review regardless of reason! I found the โ€knives to childrenโ€ argument very entertaining.
05:59:59  <pickpacket> Iโ€™m not sure I understand this one fully: https://github.com/OpenTTD/OpenTTD/pull/10596
06:00:15  <LordAro> hmm
06:00:34  <LordAro> office VPN dropped out about 18:30 yesterday, and hasn't come back
06:00:38  <pickpacket> โ€ This PR smoothly scales time factor to 1/16 after it reaches the previous min time factor of 31. Payments with time factor above 31 stay exactly the sameโ€ โ€ฆ?
06:00:40  <LordAro> that's going to be an issue
06:01:02  <pickpacket> LordAro: does it mean you canโ€™t work?
06:01:55  <LordAro> it probably means i'm going to have to go to the office to fix it
06:02:23  <pickpacket> talltyler: which documentation are you referring to, btw?
07:10:54  <brickblock19280> Eddi|zuHause: This is what I was thinking originally
07:11:17  <locosage> pickpacket: Just look at the charts
07:17:11  <pickpacket> locosage: I understand the consequence, I just donโ€™t understand the technical description ๐Ÿ˜„
07:18:37  <pickpacket> I am very ambivalent about it, tbh. On the one hand itโ€™s logical. On the other hand my strat is based on those really long distances
07:19:05  <pickpacket> Iโ€™d be similarily ambivalent about giving boats a collision box
07:42:32  <sittinbythefire> brickblock19280: I agree 100% with Eddi on this, NewGRF authors will want to be able to set their own speed limits, so it's probably best to include that functionality from the outset, but that shouldn't affect the default tunnels
07:52:26  <alfagamma_0007> Road speed limits affect tunnel speeds too , I think???
07:53:21  <peter1138> std::min()
07:53:29  <brickblock19280> yes tunnel currently don't have a limit
07:53:56  <alfagamma_0007> Ah
08:02:43  <DorpsGek> [OpenTTD/master-server-web] TrueBrain opened pull request #135: Change: [CI] udpate to reusing workflow https://github.com/OpenTTD/master-server-web/pull/135
08:05:47  <locosage> pickpacket: technically it talks about this time factor: <https://github.com/OpenTTD/OpenTTD/blob/master/src/economy.cpp#L1028> and MIN_TIME_FACTOR
08:08:47  <DorpsGek> [OpenTTD/master-server-web] TrueBrain merged pull request #135: Change: [CI] udpate to reusing workflow https://github.com/OpenTTD/master-server-web/pull/135
08:09:59  <DorpsGek> [OpenTTD/master-server-web] TrueBrain opened pull request #136: Upgrade: bump all dependencies to latest https://github.com/OpenTTD/master-server-web/pull/136
08:16:34  <DorpsGek> [OpenTTD/master-server] TrueBrain opened pull request #277: Change: [CI] update to reusing workflow https://github.com/OpenTTD/master-server/pull/277
08:19:19  <DorpsGek> [OpenTTD/master-server-web] TrueBrain updated pull request #136: Upgrade: bump all dependencies to latest https://github.com/OpenTTD/master-server-web/pull/136
08:23:21  <DorpsGek> [OpenTTD/master-server] TrueBrain merged pull request #277: Change: [CI] update to reusing workflow https://github.com/OpenTTD/master-server/pull/277
08:25:11  <brickblock19280> any reason this doesn't work even when this works
08:25:13  <brickblock19280> https://cdn.discordapp.com/attachments/1008473233844097104/1126066239060590642/image.png
08:25:21  <brickblock19280> https://cdn.discordapp.com/attachments/1008473233844097104/1126066273273516052/image.png
08:25:47  <DorpsGek> [OpenTTD/master-server] TrueBrain opened pull request #278: Upgrade: bump all dependencies to latest https://github.com/OpenTTD/master-server/pull/278
08:29:37  <truebrain> brickblock19280: hard to tell without more information ๐Ÿ™‚ For example, why it adds the wiggly red line there ๐Ÿ™‚
08:36:08  <LordAro> you'll all be pleased to know that the server room got too hot and turned the (hosts with the) domain controllers off
08:36:21  <LordAro> so DNS & auth stopped working
08:37:01  <LordAro> you would think that 27C would be a sufficient thermal cut off, but apparently not
08:37:20  <truebrain> haha .. "oops" ๐Ÿ˜„
08:37:54  <LordAro> we did just finish converting all our build servers to be gitlab runners, coincidentally
08:45:59  <brickblock19280> https://cdn.discordapp.com/attachments/1008473233844097104/1126071466664931379/image.png
08:45:59  <brickblock19280> truebrain: Fair enough this is what shows up when I hover over it
08:46:17  <brickblock19280> but it doesn't make sense to me since the other one works
08:46:26  <truebrain> so another `GetTunnelType` already exists
08:46:35  <truebrain> and it doesn't return `TunnelType`
08:47:11  <truebrain> it basically is telling you that you cannot define two `GetTunnelType` where only the return value is different
08:47:19  <truebrain> in this case, having a second one is most likely not your intention
08:47:28  <truebrain> so grep through the code to find the other declaration ๐Ÿ™‚
08:56:11  <brickblock19280> https://cdn.discordapp.com/attachments/1008473233844097104/1126074032022884382/image.png
08:56:11  <brickblock19280> these are the only ones tho
08:58:56  <brickblock19280> and those other ones are clearly referancing it
08:59:45  <truebrain> what can I tell you .. that is what the error indicate ๐Ÿ™‚ Without access to the code, it will be really difficult to help you ๐Ÿ™‚
09:00:02  <brickblock19280> https://github.com/search?q=repo%3ABrickblock1%2FOpenTTD%20gettunneltype&type=code
09:00:10  <truebrain> sometimes it helps to compile the code; compilers can give better errors then VSCode can, in some cases
09:00:54  <peter1138> https://cdn.discordapp.com/attachments/1008473233844097104/1126075222240542741/image.png
09:00:54  <peter1138> Cursed
09:02:36  <peter1138> TTD graphics is even more curseder. FS_LARGE is quite wide.
09:03:23  <LordAro> nice
09:04:29  <truebrain> brickblock19280: I think if you run the compiler over it, it will give you a more clear error, as I think `TunnelType` is undefined in `tunnel_map.h`. At least, you are not including the header with the type .. so that is a bit fishy
09:06:05  <brickblock19280> that would probably explain it seems that some of the includes was diffrent between the tunnel_map.h and bridge_map.h
09:07:12  <brickblock19280> thx dor the all the help ๐Ÿ™‚
09:07:19  <truebrain> no worries
09:11:21  <peter1138> LordAro: probably doesn't make sense to do this, but I need the FS_PREVIEW slot to be able to show all the 4 different sprite fonts -- or just disable preview if the sprite font is in use.
09:12:11  <peter1138> Although switching FS_SMALL to FS_NORMAL might have a use-case, mind you, but if there's s font chooser that case is smaller.
09:12:56  <truebrain> oops ... broke the NLB ... let's fix that real quick ๐Ÿ˜„
09:13:00  <truebrain> generating configuration can be hard yo
09:13:39  <truebrain> there we go!
09:17:16  <truebrain> now doing the same trick for all HTTP traffic ....
09:17:34  <truebrain> and there I failed too ๐Ÿ˜›
09:17:36  <truebrain> this is such a good morning
09:18:03  <truebrain> there we go
09:21:21  <truebrain> right, now to test old OpenTTD servers, see if they can register etc ... will be interesting
09:21:36  <truebrain> as I have no idea how to actually test that, given I cannot actually open an UDP port from outside
09:34:46  <truebrain> yippie, managed to do port forwarding at home .. I am so proud (on myself) ๐Ÿ˜„
09:34:54  <truebrain> on? of? what-ever
09:35:12  <truebrain> and I can tell, it is not working ๐Ÿ˜›
09:37:28  <DorpsGek> [OpenTTD/master-server] TrueBrain merged pull request #278: Upgrade: bump all dependencies to latest https://github.com/OpenTTD/master-server/pull/278
09:42:31  <truebrain> hmm ... PacketInvalidSize exceptions ..
09:42:35  <truebrain> that aint good
09:45:57  <truebrain> hmm .. proxy protocol issues .. joy! ๐Ÿ˜„
09:47:35  <truebrain> haha, sometimes I find these gems in code I wrote ages ago, which are just plain bad ๐Ÿ˜›
09:47:37  <truebrain> https://github.com/OpenTTD/master-server/blob/main/master_server/openttd/udp.py#L55
09:47:51  <truebrain> hard-coding that proxy-protocol only works from a `10.` IP address .... ๐Ÿ˜„
09:51:44  <peter1138> Simplified access control
09:52:16  <DorpsGek> [OpenTTD/master-server] TrueBrain opened pull request #280: Fix: assume that if proxy-protocol is enabled, all connections use it https://github.com/OpenTTD/master-server/pull/280
09:52:55  <truebrain> not 100% sure why I added the statement, but I am now sure the firewalls would prevent wrong connections to be made to start with .. so it "should be fine" ๐Ÿ˜›
09:53:54  <peter1138> Hmm, RouterOS 7.10 has a big changelog.
09:54:07  <truebrain> is that good? bad? unknown? ๐Ÿ˜›
09:55:00  <peter1138> Well... good, it's software that actually gets updates...
09:55:35  <truebrain> but if it is a fat list of: removed NNN, removed MMM, they are just the plague
09:57:43  <peter1138> Removed: bugs
09:58:00  <peter1138> *) ipsec - removed "ec2n185" and "ec2n155" values from proposal configurations;
09:58:03  <DorpsGek> [OpenTTD/master-server] TrueBrain updated pull request #280: Fix: assume that if proxy-protocol is enabled, all connections use it https://github.com/OpenTTD/master-server/pull/280
09:58:12  <peter1138> 3 removed lines ;D
09:58:23  <truebrain> how dare they!
09:58:24  <truebrain> ๐Ÿ˜„
09:58:30  <peter1138> Out of 152 lines.
09:58:53  <peter1138> I don't need to run BGP on my home router but it's good to know it's getting fixes if I ever did want to.
09:59:07  <truebrain> BGP on your home router ... yeah .... ๐Ÿ˜›
09:59:22  <LordAro> :D
09:59:57  <LordAro> a friend of mine has a routable AS number, which I think is to their home
10:01:25  <truebrain> because, why not!
10:01:26  <DorpsGek> [OpenTTD/master-server] TrueBrain merged pull request #280: Fix: assume that if proxy-protocol is enabled, all connections use it https://github.com/OpenTTD/master-server/pull/280
10:01:32  <peter1138> They probably also use A&A...
10:01:51  <LordAro> i do believe they do :D
10:05:17  <truebrain> `dbg: [net] [udp] advertising to master server`
10:05:18  <truebrain> w00p!
10:05:34  <truebrain> queried from works ... but then it still fails
10:05:35  <truebrain> hmm
10:05:45  <truebrain> so something is not fully correct yet .. I forgot how annoying the UDP stuff was ๐Ÿ˜›
10:06:55  <truebrain> so the master-server can query the server .. but either the response gets lost, or something else is going on .. hmm
10:07:04  <peter1138> Hmm, hunger.
10:09:23  <truebrain> ooowhhhh, that was why that line was there
10:09:33  <truebrain> wauw ... euh, yes ... I remember, and it is a shitty solution
10:10:33  <peter1138> Uh oh.
10:10:59  <truebrain> because these machines are firewalls to hell and back, the only way to make an UDP query is via a SOCKS proxy
10:11:12  <truebrain> but the response doesn't contain a proxy-protocol header ofc, as .. well .. it is SOCKS
10:12:30  <truebrain> hmm ... I really don't want to recompile an old OpenTTD, but it seems I kinda have to .. can I avoid it somehow ...
10:12:42  <truebrain> (I need to change the port it uses to contact the master-server)
10:13:36  <DorpsGek> [OpenTTD/master-server] TrueBrain opened pull request #281: Fix: when a connection is to the SOCKS proxy, never assume a proxy-protocol header https://github.com/OpenTTD/master-server/pull/281
10:14:00  <DorpsGek> [OpenTTD/master-server] TrueBrain updated pull request #281: Fix: when a connection is to the SOCKS proxy, never assume a proxy-protocol header https://github.com/OpenTTD/master-server/pull/281
10:14:15  <truebrain> see, that is a more sensible solution to the problem .. what was I thinking, using IP address ...
10:15:50  <truebrain> just how am I going to test it before I merge ... hmmmmmmm
10:29:18  <truebrain> meh; can't really find any, so .. YOLO!
10:29:35  <DorpsGek> [OpenTTD/master-server] TrueBrain merged pull request #281: Fix: when a connection is to the SOCKS proxy, never assume a proxy-protocol header https://github.com/OpenTTD/master-server/pull/281
10:34:00  <truebrain> yeah, that was a failure ...
10:36:23  <LordAro> "everyone has a production environment. some people are lucky enough to have a staging environment too"
10:36:39  <truebrain> I have a staging! But .. I am too lazy to modify a 1.11 for Windows ๐Ÿ˜›
10:36:44  <truebrain> but I just might need to, after lunch ..
10:39:25  <truebrain> ooowwwhhh, I see what dirty stuff I did ... yeah, okay, makes sense this doesn't work
10:39:36  <truebrain> ugh, okay, lunch, modify 1.11, and do some actual testing on preview ๐Ÿ˜›
10:41:19  <DorpsGek> [OpenTTD/master-server] TrueBrain opened pull request #282: Fix 4ca1fb4b: properly fix not assuming proxy-protocol for SOCKS traffic https://github.com/OpenTTD/master-server/pull/282
10:53:41  <locosage> newgrf terminology is quite confusing
10:53:46  <locosage> real/pseudo sprites
10:53:55  <locosage> is there some good way to call both?
11:02:58  <pickpacket> locosage: thanks! Iโ€™ll have a look at the code ๐Ÿ™‚
11:04:00  <pickpacket> Iโ€™ll probably end up doing some spreadsheets and shit to optimize my strat as a response to this ๐Ÿ˜‚
11:08:54  <truebrain> `dbg: [net] [udp] advertising on master server successful (IPv4)` w00p!
11:09:33  <DorpsGek> [OpenTTD/master-server] TrueBrain merged pull request #282: Fix 4ca1fb4b: properly fix not assuming proxy-protocol for SOCKS traffic https://github.com/OpenTTD/master-server/pull/282
11:09:44  *** D-HUND is now known as debdog
11:16:34  <locosage> pickpacket: citymania charts should be better than spreadsheets though
11:16:48  <locosage> as it calculates acceleration
11:17:42  <locosage> also, unless your strats involve routes that take longer than a year they're unlikely to be affected
11:21:46  <truebrain> okay, invite-codes are also retained .. nice! Now all that is left, is the web interface for server listing ๐Ÿ˜„
11:21:50  <pickpacket> locosage: longer than a year??? No, I donโ€™t have routes that long ๐Ÿ˜‚ how big does the map have to be for that?
11:22:32  <locosage> well, apparently not that long if you're using slow ships xD
11:22:45  <locosage> but for maglev it's basically unreachable, yeah
11:23:29  <locosage> well, irrelevant would be a better word I guess, as you can still move it in circles in theory xD
11:26:50  *** Flygon has joined #openttd
11:37:47  <truebrain> https://servers-preview.openttd.org IT IS WORKING! \o/ ๐Ÿ˜„
11:42:46  <truebrain> and even 1.11.2 shows up, nice. That means I think I am ready to flip the switch
11:42:55  <truebrain> which will disrupt multiplayer for a bit of time, but .. yeah .. little I can do about that
11:43:57  <truebrain> so I guess ... no time like the present or something?
11:46:25  <locosage> well, techically the best time is around 4-6 am utc ๐Ÿ˜œ
11:50:30  <DorpsGek> [OpenTTD/master-server-web] TrueBrain merged pull request #136: Upgrade: bump all dependencies to latest https://github.com/OpenTTD/master-server-web/pull/136
11:53:45  <truebrain> lol, that migration went a lot quicker and smoother than I expected ..
11:54:06  <truebrain> crazy how fast it re-establishes normality ๐Ÿ™‚
12:01:48  <truebrain> right, I think I can disable most of the old infra now .. but hard to tell if I am right ๐Ÿ˜„
12:04:46  <truebrain> all that is left is a bunch of static content, like redirect domains and other stuff .. but those are far less important to migrate (they cost far less)
12:05:35  <locosage> truebrain: api seems dead
12:05:37  <locosage> <https://api.master.openttd.org/server>
12:05:44  <truebrain> yes, new user: servers-api.openttd.org
12:09:18  <truebrain> okay, shut down all EC2 instances that shouldn't be needed anymore .. we will see if that is actually true ๐Ÿ™‚
12:10:32  <truebrain> https://www.openttd.org/security
12:10:32  <truebrain> Someone broke the styling!! ๐Ÿ˜›
12:19:51  <LordAro> :o
13:08:25  <peter1138> Hmm, I could do with a PoE switch now.
13:16:28  <_glx_> <https://github.com/OpenTTD/OpenTTD/compare/master...glx22:OpenTTD:bootstrap_emscripten> seems to work, but there's one annoying thing, after downloading it exits and you need to reload the page
13:23:50  <truebrain> should be solvable too ๐Ÿ˜›
13:25:19  <_glx_> it's because bootstrap runs a temporary video loop
13:26:03  <_glx_> I'll PR a draft with preview label
13:26:18  <truebrain> btw, you can remove the syncfs lines on 31 - 34 too
13:26:19  *** Kitrana1 has quit IRC
13:26:36  <truebrain> and you can remove the whole postRun
13:29:06  *** Kitrana1 has joined #openttd
13:29:12  <DorpsGek> [OpenTTD/OpenTTD] glx22 opened pull request #11109: Add: [Emscripten] support for bootstrapping https://github.com/OpenTTD/OpenTTD/pull/11109
13:29:54  <_glx_> no, I tried with them and it bootstrap each time
13:31:11  <_glx_> line 32 is to load current saved filesystem
13:31:18  <truebrain> the postRun code is deadcode now, as `openttd_downlaoded_opengfx` is never set
13:32:12  <truebrain> anyway, https://github.com/glx22/OpenTTD/blob/5db4473ae8e6d78fe9909b0d4b1095914d4d49cf/src/video/sdl2_v.cpp#L602 is what you run into with `_exit_game`
13:32:29  <truebrain> Emscripten works a bit different from other drivers, as that the Browser is telling when a next tick happens
13:32:37  <truebrain> this is also why fast-forward can't go above what-ever-the-browser-is-refreshing-us-at
13:33:12  <_glx_> yeah I tried skipping this in bootstrap case, but that didn't end well
13:33:25  <truebrain> nope, as you end up with 2 "main" loops of sorts ๐Ÿ˜›
13:35:23  <_glx_> anyway reloading the page after first start is a minor issue
13:35:49  <truebrain> well, needs to be resolved before the PR can be merged, so depends how you define "minor" ๐Ÿ˜„
13:38:41  <_glx_> hmm should be possible to autoreload the page after bootstrap exit
13:38:55  <truebrain> sure, just make a javascript function and call it ๐Ÿ™‚
13:41:58  <truebrain> you can even show a message why it is reloading, if you like ๐Ÿ™‚
13:46:49  *** nielsm has joined #openttd
13:51:27  <_glx_> of course when testing the preview the indexed DB needs to be cleaned first, else it will still use 0.6.0 or any other updated version downloaded via content download
13:52:07  <truebrain> as intended
13:52:10  <truebrain> it is just so it can load the game ๐Ÿ™‚
13:52:55  <_glx_> yeah bootstrap is the last resort fallback
13:58:22  <truebrain> and if I can remove this weird exception I now have in the infra for emscripten, that would be lovely ๐Ÿ™‚ More things the same == better ๐Ÿ˜„
14:01:55  <truebrain> There was a domain `install.cdn.openttd.org`, which was meant to migrate the NSIS installer to; but from what I can tell, we removed it before we migrated to there
14:02:25  <truebrain> so I dropped that domain .. possibly some installers out there will no longer automatically download OpenGFX .. but the last version we did that was in 1.10, after which we switched to bootstrap
14:02:39  <truebrain> just something to be aware of, when someone complaints about it or what-ever
14:03:01  <truebrain> (and in case you wonder why, Cloudflare doesn't allow certificates on domains like "a.b.openttd.org", only on "a.openttd.org" .. so I had to change some domains around, sadly)
14:04:53  <orudge> Did you just log into OVH, truebrain?
14:05:01  <truebrain> I am trying to
14:05:01  <orudge> If not we have an intruder :P
14:05:08  <truebrain> it should send me an email with a code, but I am not getting it ๐Ÿ˜„
14:05:15  <orudge> Ah
14:05:28  <truebrain> `Please enter the code you received by email` .. WELL, GIVE ME THE EMAIL ๐Ÿ˜›
14:05:31  <truebrain> but you did get an email? ๐Ÿ™‚
14:05:49  <orudge> Yes but not with a code
14:05:55  <truebrain> rude
14:06:09  <orudge> Going to school pickup now but cna try to help when I'm back :)
14:06:15  <truebrain> No worries, tnx ๐Ÿ™‚
14:06:50  <_glx_> "please validate the cancelling of this payment in your bank app"
14:07:34  <truebrain> I wanted to know how long the contract of these VPSes was going, and if I could shut them down from the management panel ... but it seems verification emails are not making their way into the mailbox ๐Ÿ˜›
14:09:02  <truebrain> not sure this is in the UK panel or the DE panel, but both claim they are sending me emails ... lol
14:09:24  <_glx_> try the french one ๐Ÿ˜‰
14:09:57  <truebrain> ah, with 6 minute delay, the webmail client gives me the "someone tried to login to the account" .. so at least something is arriving ๐Ÿ˜›
14:10:28  <truebrain> `go to your control panel:&url.managerv6.` .. someone made a template error ๐Ÿ˜›
14:12:05  <truebrain> https://cdn.discordapp.com/attachments/1008473233844097104/1126153533411045506/image.png
14:12:06  <truebrain> simple, elegant, to the point
14:13:58  <truebrain> nowhere a possibility to shut down the VPS
14:14:03  <truebrain> that is just a bit sad ๐Ÿ˜›
14:14:44  <_glx_> ok auto reload works
14:14:50  <truebrain> OVH hasn't gotten any better, dashboard-wise, over the years .. so weird
14:15:03  <_glx_> just need to add a message telling it's getting a baseset and will reload
14:15:12  <truebrain> yup
14:15:19  <truebrain> plenty of examples how to show something like that already in the code ๐Ÿ™‚
14:15:25  <_glx_> yeah yeah
14:23:40  <truebrain> oeh, maybe tonight I change dependabot on all repos to monthly grouped PR .. that will be nice ...
14:24:56  <_glx_> oh yeah
14:25:25  <_glx_> less flood in the notifications
14:25:32  <truebrain> and easier things to merge
14:25:36  <truebrain> especially now with the preview label
14:25:51  <truebrain> once a month, slap that preview label on it, wait a bit, and check if things actually work
14:35:39  <truebrain> looking through our AWS bill .. and one thing I did not consider .. via Cloudflare you connect to either of the 3 Availability Zones we have a node running in on AWS. Now it can be that the service is on another node, so on another AZ. AWS bills you for this. So basically: traffic enters at AZ1, is forwarded to AZ2, and we pay for that.
14:35:58  <truebrain> I wonder if there is a clever way to avoid that .. and make cloudflare fine the right node directly .. hmm
14:37:49  <truebrain> we used to do ~470GB per month outgoing traffic from AWS .. now after 5 days we are at 30GB .. so we will end up somewhere around 200GB .. that is a very big reduction ๐Ÿ™‚
14:39:51  <truebrain> sadly, VERY difficult to see what is actually using that bandwidth in AWS billing .. as I am rather curious what that is ๐Ÿ™‚
14:50:04  <_glx_> so aws ask money for data moving "inside" aws ?
14:50:10  <truebrain> yup
14:50:14  <truebrain> a lot less than outside, mind you
14:50:16  <_glx_> they are crazy
14:50:17  <truebrain> but they charge for everything
14:50:47  <truebrain> for example, want to see some metrics how your systems are doing? SURE! It will cost you NNN
14:51:08  <truebrain> I now moved redis from managed to inside the cluster .. consumed 5 (!) MB of RAM .. it costs 15 dollar on AWS .. I just can't explain why ..
14:51:31  <_glx_> I think most providers are happy when data is moved internally because they don't have to pay peering
14:51:52  <truebrain> a provider as AWS has so many peers in general, I doubt they ever pay for any transit traffic
14:52:01  <truebrain> so I think most of the bandwidth money is pure profit for them
14:52:09  <truebrain> sure, they have a bit of hardware costs and people maintaining that
14:52:18  <truebrain> but I think it is still a huge part of their profit
14:52:41  <truebrain> there is a reason Cloudflare says: egress is free
14:52:50  <truebrain> as they too have so many peerings, they don't actually pay (that much) for it
14:54:13  <truebrain> tomorrow I hope to move all the redirect domains etc that we have .. then I can shut down the ALB ... which costs 30 dollar a month .. Cloudflare costs 20 dollar a month, and it includes all this stuff ..
14:54:22  <orudge> In other news, trying to migrate a 2GB mailbox into Google Workspace for a client; the import has been going for 24 hours(!) so far and is still only 74% complete. But of course if you use imapsync they throttle that too. :(
14:54:25  <truebrain> but, in fairness, 4 years ago AWS was the best you could get for that price ๐Ÿ˜›
14:54:40  <truebrain> orudge: ๐Ÿ˜ฎ ๐Ÿ˜ฎ
14:54:41  <truebrain> lol
14:55:19  <truebrain> orudge: next month or so we can cancel the VPS subscription as far as I am concerned. I shut down all services, but couldn't find how to actually shut down the VPS ๐Ÿ˜› But if after a month everything still runs smoothly, it means I did my work properly, and we can just cancel them
14:55:26  <truebrain> but I will send you an email about that when that days gets here ๐Ÿ™‚
14:55:39  <orudge> truebrain: OK, sounds good. I can't remember how long is left on them either, would need to log in to check the latest invoice I guess
14:55:47  <truebrain> December
14:55:56  <orudge> OK
14:56:04  <truebrain> I checked; one of the reasons I wanted to login (and succeeded in the end ๐Ÿ˜› )
14:56:53  <truebrain> and if I can get everything done this week I hope to, the AWS bill should be at least 100 dollar less than that of May ๐Ÿ™‚
14:57:13  <truebrain> wasn't really the goal .. but more that I am just done with the insane prices AWS (still) charges ๐Ÿ˜›
14:58:00  <orudge> So after this are we going from 0-ish a month for AWS + ยฃ115/year for OVH to... /month ish for Cloudflare?
14:58:34  <truebrain> Cloudflare will be 20 (Pro) + 5 (Paid workers) + ~2 (R2 storage costs)
14:58:39  <truebrain> rough estimation
14:58:41  <orudge> OK
14:58:57  <truebrain> AWS will still be 80 + 20 + bits and pieces + bandwidth
14:58:58  <orudge> Still a good saving :D
14:58:59  <orudge> Right
14:59:07  <truebrain> but at least far less than the 280 ๐Ÿ™‚
14:59:14  <orudge> Yep
14:59:28  <truebrain> and, everything should be quicker for the end-user! ๐Ÿ™‚
14:59:35  <orudge> Nice one
15:00:12  <truebrain> of all traffic, 20% is cached
15:00:26  <truebrain> of all requests
15:00:34  <truebrain> of the traffic, it is 60%
15:01:00  <orudge> Well then we should still have around 18 months of usage covered by the money in the kitty at the new rates, versus around 10-12 months at the current rates :)
15:01:08  <truebrain> why you ask? Well, most of the CDN traffic is cached ๐Ÿ˜› Things like wiki is less cached ๐Ÿ™‚
15:01:39  <truebrain> orudge: that isn't bad! Excluding donations that will come?
15:02:40  <truebrain> 40% of BaNaNaS requests are cached, and 60% of the bandwidth comes from cache ๐Ÿ™‚ For context, cache here means that a local Point of Presence served the file .. which should be REALLY quick ๐Ÿ™‚
15:03:10  <truebrain> 80% of CDN (our releases etc) is cached ๐Ÿ™‚
15:03:11  <orudge> truebrain: Yes, excluding any future donations (there are a couple of recurring donations, but mostly it's one-offs)
15:03:11  <truebrain> haha
15:03:14  <truebrain> I love Cloudflare ๐Ÿ™‚
15:03:30  <truebrain> orudge: so the 18 months will become 24, 32, ... ๐Ÿ˜›
15:03:30  <orudge> and there are some other costs that will come up, I think the code signing certificate is due next year or the year after, can't quite remember which
15:03:31  <truebrain> ๐Ÿ˜„
15:03:42  <LordAro> woop
15:03:53  <orudge> but yes, we should be in good shape
15:03:53  <truebrain> let's see, if we go below 6 months we do a fundraiser?
15:04:06  <orudge> Probably... it's been a long time since we've needed to though!
15:04:18  <truebrain> https://cdn.discordapp.com/attachments/1008473233844097104/1126166673502785596/image.png
15:04:18  <truebrain> CDN usage of last 5 days
15:04:39  <alfagamma_0007> Why the sudden attention?
15:04:48  <truebrain> https://cdn.discordapp.com/attachments/1008473233844097104/1126166798648213595/image.png
15:04:48  <truebrain> BaNaNaS CDN usage of last 7 days
15:04:55  <truebrain> sllluuurrrrpppppp
15:05:12  <truebrain> orudge: let's see if this reduction means we still won't need it for the next few years ๐Ÿ˜„
15:05:28  <_glx_> too many abase/zbase in these 717GB I guess
15:05:51  <truebrain> https://cdn.discordapp.com/attachments/1008473233844097104/1126167065145909339/image.png
15:05:51  <truebrain> Top 2
15:06:32  <truebrain> this btw is statistics .. they sample ~20% of the traffic and extrapolate
15:06:41  <truebrain> but we push enough requests through to make that valid ๐Ÿ™‚
15:06:52  <truebrain> (200+k downloads per week goes through BaNaNaS)
15:07:02  <_glx_> still too much ugly huge basesets
15:07:10  <alfagamma_0007> Correct
15:07:56  <truebrain> zBase is downloaded 25% less than OpenGFX
15:08:00  <truebrain> we have that going for us ๐Ÿ˜›
15:08:07  <truebrain> but worded differently, 1 out of 4 people download zBase
15:08:14  <_glx_> hmm an option could be to put both in store installed
15:08:37  <truebrain> so clearly there is something about 32bpp that appeals to people ๐Ÿ™‚
15:08:49  *** merni has joined #openttd
15:08:49  <merni> _glx_: that'd increase the size of install though
15:08:54  <_glx_> most just do what they saw in tutorials
15:09:16  <merni> one of the joys of openttd is how it doesn't take 10 million hours to download on slow internet
15:09:28  <truebrain> https://cdn.discordapp.com/attachments/1008473233844097104/1126167972600352769/image.png
15:09:28  <truebrain> and just because I love graphs:
15:09:34  <_glx_> it's a one time download on steam
15:09:45  <truebrain> all our requests that hit Cloudflare in the last week, over all of openttd.org that I migrated so far
15:09:47  <_glx_> data package is separated for game package
15:10:21  <orudge> FWIW OpenGFX/SFX/MSX is included in the Windows Store package, but not any of the *Base GRFs
15:10:22  <truebrain> _glx_: we could, yes. But now it is on Cloudflare, I also don't really care anymore, I have to say ๐Ÿ˜›
15:10:27  <merni> truebrain: what happened with the US on 2nd and with Netherlands today ๐Ÿค”
15:10:32  <truebrain> orudge: same for Steam and GOG
15:11:19  <truebrain> owh, the Netherland line .. that is when I am operating the backend ... we use Nomad, and that uses A LOT OF REQUESTS ..
15:11:26  <truebrain> so I alone tot 60k requests in the last week ๐Ÿ˜›
15:11:35  <merni> Ban TrueBrain for DDOS
15:11:57  <truebrain> https://cdn.discordapp.com/attachments/1008473233844097104/1126168597836857495/image.png
15:11:57  <truebrain> here, without me ๐Ÿ™‚
15:12:18  <merni> US spike is still weird though
15:12:26  <truebrain> it is funny how you see the US offset from the EU ๐Ÿ™‚
15:12:50  <merni> yeah if there were some more asian countries that would be even more interesting
15:12:57  <merni> maybe I should get to translating some more strings
15:13:44  <truebrain> spike was on our CDN
15:13:57  <truebrain> not in bandwidth, just in requests
15:13:58  <_glx_> pff one typo and a rebuild is needed
15:14:14  <truebrain> Java/1.8.0_332
15:14:18  <truebrain> so someone was having fun
15:14:26  <truebrain> 90% of those requests were 403s ๐Ÿ˜›
15:16:14  <truebrain> 12k firewall events ๐Ÿ˜›
15:16:24  <truebrain> someone found out we now run a WAF ๐Ÿ˜›
15:16:48  <truebrain> yeah, that whole spike, all blocked requests ๐Ÿ˜„
15:17:18  <truebrain> they got presented a Browser integrity check, which they didn't do anything with ๐Ÿ˜›
15:17:23  <truebrain> happens if you use shitty user-agents
15:17:36  <truebrain> all HEAD requests .. so a spider ๐Ÿ™‚
15:17:51  <truebrain> always fun, to drill down into a spike ... even more fun: I now can, free of charge!
15:17:58  <truebrain> with AWS that would costs ~15 dollar per month (no joke)
15:18:15  <_glx_> just to check a log ?
15:18:27  <truebrain> no, to see graphs, and drill down in it
15:18:39  <truebrain> Cloudflare has a very nice analytic tool, which is even privacy friendly
15:18:57  <truebrain> and you can filter it how ever you want to ๐Ÿ™‚
15:21:17  *** Wormnest has joined #openttd
15:22:43  <merni> Okay, so
15:22:43  <merni> > {BLACK}Search content not available on OpenTTD's content service on websites not associated to OpenTTD
15:22:43  <merni> This is a button to search the content not available on Bananas, right? Not an error message of some kind?
15:23:12  <merni> nvm, I should have looked at the string name, it has TOOLTIP in it
15:25:35  <merni> it is only when you start translating that you realise how weird the use of "content" in the software/social media age is
15:25:53  <merni> meaning just "things" rather than "things within something else"
15:39:31  <_glx_> https://cdn.discordapp.com/attachments/1008473233844097104/1126175534687199254/image.png
15:39:31  <_glx_> something is overwriting my window
15:39:56  <LordAro> ghosts in the machine
15:41:20  <ahyangyi> merni: Ah, I thought that just means "thing within the form", where the form is some abstract metaphysical container
15:41:44  <merni> lmao what
15:46:25  <_glx_> https://cdn.discordapp.com/attachments/1008473233844097104/1126177270713827358/image.png
15:46:25  <_glx_> ah it's this stuff (generated by cmake)
15:57:50  <_glx_> annoying
15:59:50  *** HerzogDeXtEr has joined #openttd
16:04:00  <truebrain> Make a window on top of it! ๐Ÿ˜›
16:04:31  <truebrain> Or redeclare setStatus ๐Ÿ˜„
16:04:33  <_glx_> I went to skip setStatus if canvas is hidden
16:04:41  <truebrain> So theirs doesn't do anything anymore ๐Ÿ˜›
16:04:55  <_glx_> but setStatus is defined by us
16:06:15  <_glx_> now building again to test
16:07:14  <_glx_> the issue here was the timeout to erase "Running..."
16:33:45  <DorpsGek> [OpenTTD/OpenTTD] glx22 updated pull request #11109: Add: [Emscripten] support for bootstrapping https://github.com/OpenTTD/OpenTTD/pull/11109
16:48:40  <DorpsGek> [OpenTTD/OpenTTD] TrueBrain commented on pull request #11109: Add: [Emscripten] support for bootstrapping https://github.com/OpenTTD/OpenTTD/pull/11109#pullrequestreview-1514946529
16:50:02  <DorpsGek> [OpenTTD/OpenTTD] TrueBrain commented on pull request #11109: Add: [Emscripten] support for bootstrapping https://github.com/OpenTTD/OpenTTD/pull/11109#pullrequestreview-1514948467
16:50:57  <DorpsGek> [OpenTTD/OpenTTD] TrueBrain commented on pull request #11109: Add: [Emscripten] support for bootstrapping https://github.com/OpenTTD/OpenTTD/pull/11109#pullrequestreview-1514949837
16:57:21  *** kstar892[m] has quit IRC
17:03:11  <DorpsGek> [OpenTTD/OpenTTD] glx22 commented on pull request #11109: Add: [Emscripten] support for bootstrapping https://github.com/OpenTTD/OpenTTD/pull/11109#pullrequestreview-1514955741
17:03:50  <peter1138> https://cdn.discordapp.com/attachments/1008473233844097104/1126196754774229042/image.png
17:03:50  <peter1138> Such orange
17:04:27  <truebrain> _glx_: : for that last comment, this is what all these timeouts are for, to make sure things are updated ๐Ÿ™‚
17:04:45  <_glx_> ah seems I had some issues with the preview, it downloaded and reloaded 5 times
17:05:51  <truebrain> And weird that we don't have an onfailure .. we have that all over the place ๐Ÿ˜› I wonder how it handles errors now ..
17:06:41  <_glx_> I can see OnFailure for HTTP, but I think it's the only place
17:07:10  <truebrain> No, the content handler is also informed on issues, so it can try other methods or inform the user
17:07:45  <_glx_> this->OnDownloadProgress(this->curInfo, -1); <-- socket OnFailure does that
17:08:06  <_glx_> so OnDownloadProgress() should be able to detect failure
17:08:53  <truebrain> Well there you go ๐Ÿ™‚
17:11:47  *** Flygon has quit IRC
17:12:22  <andythenorth> peter1138: I had a orange for lunch
17:14:18  <_glx_> hmm but on first fail it retries with fallback protocol
17:20:25  <talltyler> Orange looks good on you
17:21:48  <peter1138> Well
17:22:22  <alfagamma_0007> An orange for lunch
17:22:25  <alfagamma_0007> Not bad
17:27:54  *** Flygon has joined #openttd
17:30:18  <peter1138> I had a John West "salad"
17:30:30  <peter1138> And then too many biscuits
17:31:48  <alfagamma_0007> I had the usual for a very late lunch
17:31:48  <alfagamma_0007> and a very late supper
17:35:48  <andythenorth> did I mention GS today?
17:36:04  <andythenorth> trying to avoid
17:39:12  <peter1138> I need to avoid biscuits
17:39:26  <peter1138> Anyway, it's nearly MTB time ๐Ÿ˜„
17:39:40  <peter1138> Orange is just bright brown.
17:40:08  <andythenorth> yes
17:40:40  <peter1138> https://cdn.discordapp.com/attachments/1008473233844097104/1126206024186077335/image.png
17:40:40  <peter1138> Same hue as before ;D
17:41:52  <peter1138> I need to wranlge the other blitters
17:42:04  <peter1138> And work out what my intentions were with colour packing.
17:42:38  *** gelignite has joined #openttd
17:43:05  <peter1138> IIRC there are l3 or 4 different colour types and 3 different packing schemes in use with this.
17:43:18  <peter1138> Maybe using uint64_t could simplify that.
17:50:02  <_glx_> Oh but I could show download progression
17:50:36  <_glx_> It's just a pain to wait more than 30 minutes to test a change
18:00:50  <truebrain> And now you know why it isn't finished for normal use yet ๐Ÿ˜›
18:04:50  <pickpacket> What does this mean? โ€ 230 transit "days" that are equivalent of 575 in-game daysโ€
18:09:19  <Rubidium_> cargo doesn't age every day, but at some other interval
18:10:42  <locosage> pickpacket: 1 transit "day" = 2.5 days
18:11:06  <locosage> don's ask why they're called "days" xD
18:11:30  *** Flygon has quit IRC
18:12:01  <locosage> how do cargo subtypes work for articulated vehicles?
18:12:03  <Rubidium_> yeah, things got misnamed a lot
18:12:24  <locosage> do I need to use var61 to get the subtype of the first articulated part?
18:13:55  <Rubidium_> by default cargo ages every 185 game ticks, which is by default 2.5 days. However, NewGRFs can change that... so it's definitely not days, and the equivalence of 230 cargo aging counts does not necessarily mean 575 in-game days (depends on the NewGRF)
18:19:55  *** Flygon has joined #openttd
18:21:51  <locosage> locosage: looks like I do...
18:29:59  <DorpsGek> [OpenTTD/OpenTTD] rubidium42 opened pull request #11110: Codechange: the templated StrMakeValidInPlace is not in place https://github.com/OpenTTD/OpenTTD/pull/11110
18:30:04  <DorpsGek> [OpenTTD/OpenTTD] rubidium42 opened pull request #11111: Codechange: do not make a string valid in place, to then copy it https://github.com/OpenTTD/OpenTTD/pull/11111
18:43:03  <DorpsGek> [OpenTTD/OpenTTD] eints-sync[bot] pushed 1 commits to master https://github.com/OpenTTD/OpenTTD/commit/9f28da4e3343b64111197169dec420734426599a
18:43:04  <DorpsGek>   - Update: Translations from eints (by translators)
19:35:07  *** Wolf01 has joined #openttd
19:48:36  *** toHarry has joined #openttd
19:53:28  *** toHarry has left #openttd
20:20:45  *** gelignite has quit IRC
20:48:48  *** nielsm has quit IRC
20:49:31  <DorpsGek> [OpenTTD/OpenTTD] glx22 updated pull request #11109: Add: [Emscripten] support for bootstrapping https://github.com/OpenTTD/OpenTTD/pull/11109
20:51:40  <DorpsGek> [OpenTTD/OpenTTD] TrueBrain commented on pull request #11109: Add: [Emscripten] support for bootstrapping https://github.com/OpenTTD/OpenTTD/pull/11109#pullrequestreview-1515346510
20:52:07  <truebrain> starting to look nice _glx_ ๐Ÿ™‚
20:52:52  <truebrain> still wonder what happens if it just can't download anything .. always those annoying edge-cases
20:53:00  <truebrain> for example if you just enter a wrong DNS name for the websocket
20:53:05  <_glx_> guess it will hang
20:53:30  <truebrain> what is a bit odd, you talk about fallback, but fallback is the only thing used
20:53:36  <truebrain> emscripten cannot make use of the HTTP
20:54:03  <truebrain> (emscripten uses `http_none`)
20:54:21  <truebrain> so isn't a `bytes < 0` indication it will fail completely?
20:54:31  <_glx_> in this case yes
20:54:55  <_glx_> (I just copy/pasted from other place)
20:55:10  <truebrain> `pre.js`, line 4
20:55:16  <truebrain> causes the TCP connection to use a websocket
20:56:29  <truebrain> changing `bananas-server` to anything else that doesn't exist on line 5 should simulate such failure condition btw
20:58:03  <truebrain> btw, not sure, but it might be an idea to split off the emscripten part to an `bootstrap_emscripten.cpp` and create a `bootstrap.cpp` for the `HandleBootstrap` function or something
20:58:10  <truebrain> it becomes a bit crowded now in that single file ๐Ÿ™‚
20:58:40  <truebrain> but that is making thing spretty .. not really all that important
20:59:16  <truebrain> I think it is awesome to see you can even visualise the download progress; so I think this is absolutely the right road to walk ๐Ÿ™‚
21:00:23  <_glx_> with current code I think a download fail will endlessly reload and retry
21:00:59  <_glx_> I guess that's what I saw with the 5 reload on previous push
21:01:06  <truebrain> hmm .. better show the user that downloading failed, if we can ๐Ÿ™‚
21:02:17  <_glx_> modified pre.js:5 to test locally
21:02:54  <_glx_> wss://nothing.bananas-server.openttd.org/ should be a could invalid thing
21:03:10  <truebrain> ๐Ÿ˜„
21:04:32  <truebrain> I always forget that opening the indexdb hangs the browser .. TOO_MUCH_DATA ๐Ÿ˜›
21:04:33  <_glx_> and I can force downloading with fallback directly (it's just an extra parameter to _network_content_client.DownloadSelectedContent(this->total_files, this->total_bytes);
21:05:54  <truebrain> I hope one day Chrome also supports streaming downloads; but till that time, we will have to use the TCP fallback ๐Ÿ˜ฆ
21:06:10  <truebrain> (under Chrome, it downloads the HTTP file in full, then gives it to you .. so for aBase it just hangs the game for a few seconds)
21:07:18  <truebrain> hmm .. I forgot how I can remove an indexeddb from firefox .. I can never find it ๐Ÿ˜›
21:07:40  <_glx_> hmm the 5 reload I had could also be because reload was too fast
21:08:12  <truebrain> yeah, that is why I had these dependency thingies in there, so one action would wait on the next
21:08:17  <truebrain> otherwise it might not have sync'd etc
21:08:48  <_glx_> yeah and that's why I kept them ๐Ÿ™‚
21:08:50  <truebrain> you could do `        FS.syncfs(false, function (err) { location.reload() });` for example
21:09:01  <truebrain> making sure the FS is sync'd
21:09:59  <DorpsGek> [OpenTTD/OpenTTD] rubidium42 opened pull request #11112: Codechange: rename cargo aging days to periods, as they are not really days https://github.com/OpenTTD/OpenTTD/pull/11112
21:10:00  *** keikoz has quit IRC
21:10:24  <truebrain> looks really good _glx_ ; was testing it a bit, but it just looks good
21:10:34  <_glx_> there's openttd_syncfs followed by openttd_reload and reloading waits for 1000ms
21:10:51  <truebrain> yeah, maybe better move the syncfs to openttd_reload and openttd_exit
21:10:59  <truebrain> making sure it is always finished before either is done
21:11:08  <truebrain> might be a bit more robust, in case people have shitty slow HDDs ๐Ÿ˜›
21:11:18  <_glx_> good point
21:11:48  <truebrain> it is so ironic, that you can't download via HTTP on a browser .. dunno .. still feels weird ๐Ÿ˜„
21:12:10  <truebrain> https://emscripten.org/docs/api_reference/fetch.html#streaming-downloads for future reference
21:12:16  <truebrain> (the `note` part)
21:12:23  <_glx_> and in openttd_abort too
21:12:27  <truebrain> yes
21:13:08  <_glx_> but I'm building to test with the invalid url, so I won't touch the code ๐Ÿ™‚
21:15:47  *** Wormnest has quit IRC
21:17:16  <truebrain> also curious if emscripten can handle our threads by now .. they have pthread support, but it was really buggy, so I disabled it. But it has been a few years .. so another place where emscripten might be improved ๐Ÿ™‚
21:17:24  <truebrain> you notice it mostly when generating a (big) map .. the game just hangs ๐Ÿ˜›
21:21:03  <_glx_> IIRC you fixed the save crash
21:25:07  <_glx_> there will be the json thing to fix too (preview workflow doesn't apply the patch BTW)
21:26:30  <_glx_> but locally it is applied, it is found by cmake but at the same time it is not found
21:26:58  <truebrain> well, you see how annoying it is to debug those things ๐Ÿ˜›
21:28:12  <_glx_> that's in the cmake area, less time consuming, but still annoying
21:29:18  <_glx_> and my script always does cmake host, build host, cmake, build
21:30:44  <truebrain> keeping the docker instance alive really helps btw
21:30:52  <truebrain> as Emscripten otherwise keeps recompiling the libraries
21:34:04  *** HerzogDeXtEr has quit IRC
21:38:07  <_glx_> truebrain: webdev tools, you can delete it in storage tab
21:39:07  <_glx_> ok failure to connect just crash
21:39:11  <truebrain> yeah, I found it; it just always takes for ever to find it ๐Ÿ˜›
21:39:15  <truebrain> it is in such a weird place
21:40:37  <_glx_> https://cdn.discordapp.com/attachments/1008473233844097104/1126266411514335312/image.png
21:44:30  *** esselfe has quit IRC
21:48:34  *** esselfe has joined #openttd
21:49:11  *** Wormnest has joined #openttd
21:55:32  *** Kitrana has joined #openttd
22:01:56  *** Kitrana2 has joined #openttd
22:03:09  *** Kitrana1 has quit IRC
22:06:34  *** Kitrana has quit IRC
22:25:50  *** Wolf01 has quit IRC
22:41:24  *** Wormnest has quit IRC
23:01:15  <truebrain> Btw _glx_ , nightly succeeded ๐Ÿ˜„
23:01:52  <_glx_> oh I forgot to check ๐Ÿ™‚
23:19:17  *** Wormnest has joined #openttd
23:21:23  <DorpsGek> [OpenTTD/OpenTTD] glx22 updated pull request #11109: Add: [Emscripten] support for bootstrapping https://github.com/OpenTTD/OpenTTD/pull/11109
23:30:05  *** keikoz has joined #openttd

Powered by YARRSTE version: svn-trunk