IRC logs for #openttd on OFTC at 2020-07-15
            
00:03:01 *** Progman has quit IRC
00:03:04 *** tycoondemon has quit IRC
00:23:42 *** WormnestAndroid has quit IRC
00:29:31 *** openttdguest has joined #openttd
00:29:33 *** openttdguest has left #openttd
00:34:38 <TrueBrain> LordAro : yeah, most repos have documentation in their readme
00:35:02 <TrueBrain> There is also a gist with the design
00:35:07 <LordAro> TrueBrain: they all have "how to run this", but none of them have "how this works"
00:35:09 *** openttdguest has joined #openttd
00:35:21 <TrueBrain> I will soon put that somewhere more permanent
00:35:26 <LordAro> :)
00:35:34 <openttdguest> anyone know how to get full md5sum outside of game?
00:36:09 <TrueBrain> LordAro : but there really is not much to it, so it is just a few lines explaining how things link up
00:36:20 <glx> there are many tools for that openttdguest
00:36:29 <TrueBrain> But, that should be in a repo, not a gist :)
00:36:54 <LordAro> TrueBrain: i was thinking something explaining the format of the files in the BaNaNaS repo too
00:37:07 <TrueBrain> Also in a gist :)
00:37:11 <LordAro> openttdguest: please explain in more detail what you are trying to achieve
00:37:46 <TrueBrain> Will put it on my todo. Anything else specific you would like to have documented?
00:37:48 <openttdguest> I would like to download network content outside the game
00:38:16 <LordAro> TrueBrain: a brief sentence on "why only partial md5s" as well :)
00:38:26 <TrueBrain> openttdguest : this is currently not supported till someone implements one of the issues we have open for this
00:38:34 <LordAro> because i couldn't answer ^ properly :)
00:38:47 <openttdguest> TrueBrain: is it supported how to get md5sum?
00:38:51 <TrueBrain> LordAro : will do!
00:39:23 <TrueBrain> openttdguest : no, currently this is not without faking a client or already knowing this
00:39:34 <openttdguest> I tried this: 09 00 01 01 00 02 42 76 49, but it doesn't work
00:40:03 <TrueBrain> https://github.com/OpenTTD/bananas-api/issues/29
00:40:13 <TrueBrain> Pull requests are welcome
00:40:33 *** gelignite has quit IRC
00:40:43 <TrueBrain> openttdguest : as LordAro mentioned, please state what problem you are trying to solve
00:41:32 <TrueBrain> LordAro : short answer btw is to make sure you can only easily download the latest version or you already need to know the md5sum
00:41:45 <TrueBrain> Call it a passphrase or something :)
00:44:27 <TrueBrain> We simply abuse the hash for that, basically :D But next month or so I will all make sure it is nicely written down in one of the repos :D
00:44:48 <openttdguest> TrueBrain: trying to download from browser, a CLIENT_INFO_LIST works (08 00 00 02 62 6d 08 18), but not a CLIENT_INFO_ID
00:45:42 <milek7> 24 bit is rather poor passphrase
00:45:48 <DorpsGek_III> [OpenTTD/OpenTTD] LordAro approved pull request #8273: Center text and icons in the status bar vertically https://git.io/JJscn
00:47:03 <openttdguest> network content that is
00:47:19 <glx> as said it's not supported yet
00:47:52 <openttdguest> glx: I am trying to write a program to get the md5
00:48:53 <glx> I think you need to act like openttd
00:50:02 <TrueBrain> milek7 : it is 104 bits, but tnx for the nonconstructice remark
00:50:37 <TrueBrain> Hmm, no, 96 bits, oops, counting is difficult
00:50:50 <milek7> 24bit+counter is actually needed to download something
00:51:37 <TrueBrain> openttdguest : you confuse is a bit with the mention of 'from browser'. Via a browser you currently cannot download BaNaNaS content
00:52:16 <glx> (unless you know the complete url)
00:53:19 <openttdguest> glx: Yes, e.g., https://bananas.cdn.openttd.org/ai/41444d4c/4ccd92fb8f8f01045145be99a28e14a6/41444d4c-AdmiralAI-25.tar.gz, but I just need the md5sum
00:53:27 <TrueBrain> If you are faking a client, we don't really support that but you are free to do so within reason. See the OpenTTD client for an implementation for this
00:53:35 *** WormnestAndroid has joined #openttd
00:54:44 <TrueBrain> openttdguest : still we do not understand why you would need that. It is a technical detail, so what you are trying to do is unclear to us
00:55:25 <glx> IIRC openttd send a request to get the url, then it can download
00:55:32 <Timberwolf> I have been suckered into playing a FIRS Steeltown game as the only way to test that all of my various metal colours look good next to each other.
00:56:52 <glx> but everything is in openttd source
00:57:20 <openttdguest> glx: https://github.com/OpenTTD/OpenTTD/blob/master/src/network/network_content.cpp, for PACKET_CONTENT_CLIENT_INFO_ID, it seems like its 2 bytes packet size, 1 byte type, 2 bytes count, and 4 bytes id, but I do not get a response
00:57:53 <openttdguest> with type 0x0 packets, I get a response, but not type 0x1
00:58:16 <Timberwolf> Make that two games, I actually wanted FIRS 4 Steeltown not FIRS 3 Steeltown.
00:58:47 <TrueBrain> Seems we will never know what problem is being solved :D off to bed, night all
01:01:37 <openttdguest> TrueBrain: me? to download outside the game client
01:02:37 <_dp_> openttdguest, why download outside when you can download inside the game?
01:03:52 <milek7> openttdguest: what bytes you are sending?
01:04:23 <openttdguest> milek7: 09 00 01 01 00 02 42 76 49
01:06:50 <glx> https://github.com/OpenTTD/OpenTTD/blob/706c47265e3abf88341be8376532133bde582828/src/network/network_content.cpp#L336 you just need the 32bit id of content
01:09:24 <openttdguest> glx: for this newgrf, https://bananas.openttd.org/package/newgrf/49764202, it seems the 32bit id is 49 76 42 02, right?
01:09:38 <glx> yes
01:09:42 <TrueBrain> No
01:09:46 <glx> in reverse
01:09:55 <TrueBrain> Content-id is not the same as uniqueid
01:10:12 *** Eddi|zuHause has quit IRC
01:12:16 <openttdguest> TrueBrain: i see, where is the uniqueid?
01:12:30 <milek7> openttdguest: uniqueid is last 24bits of md5, and usually 0x00 at end
01:13:10 <milek7> eg. for querying admiralai -> 09 00 01 01 00 8e 14 a6 00
01:13:24 <TrueBrain> milek7 : shitty advise
01:13:44 <milek7> ?
01:13:51 <TrueBrain> openttdguest : type 2 allows you to query based on uniqueid, like the value you mentioned
01:14:11 <TrueBrain> Type 1 uses contentid, which you get from type 0 requests
01:14:50 <glx> with contentid you always get the latest release I think
01:15:00 <TrueBrain> With type2 too
01:15:39 <TrueBrain> Type2 packets also need the content-type btw
01:16:17 <TrueBrain> (As uniqueids are only unique within their category, strictly spoken)
01:17:48 <TrueBrain> But it all still depends on what you actually want to do, and why we keep asking this :)
01:18:02 <TrueBrain> Is it to download all content or just a specific version
01:18:13 <TrueBrain> Etc etc
01:18:20 <TrueBrain> Context is important :)
01:19:22 <TrueBrain> But normal client flow is: type 0 request, returns list of contentids, type 1 request for the ones the clients wants to download
01:19:34 <openttdguest> TrueBrain: is issue #29 (send download url via api) a program that inputs content id and outputs download url?
01:20:08 <TrueBrain> It adds the possibility of having download links on the webpage, yes
01:20:52 <openttdguest> TrueBrain: just for the newgame?
01:21:15 <glx> newgame means latest version
01:21:15 <TrueBrain> Yes. As by our terms of services, that is the only thing we offer
01:21:27 <TrueBrain> What glx says
01:22:01 <TrueBrain> It does not mean an in game new game :D
01:22:17 <openttdguest> TrueBrain: I am confused. type 1 requests use content id. Aren't I using content ids?
01:22:27 <TrueBrain> No, you use uniqueids
01:22:39 <TrueBrain> Contentids are only given from type0 requests
01:23:04 <openttdguest> TrueBrain: Do type 1 requests give md5sum?
01:23:07 <TrueBrain> And are unique to those two packets (well, two more places, but not important now)
01:23:48 <TrueBrain> openttdguest : only for the latest version of that content, yes. As does type2
01:24:13 <TrueBrain> (Ignoring some exceptions; nothing you will notice)
01:24:42 <glx> and you usually don't need to know the md5 to get a file
01:25:05 <glx> (unless when loading a savegame missing something)
01:25:10 <TrueBrain> But as we are flying blind here, it is hard to really help you
01:25:15 <openttdguest> TrueBrain: AdmiralAI I believe uses version 2 of the library while newgame is version 3, how does the game get the md5 for version 2?
01:25:36 <openttdguest> glx: Do you need the md5 to get it via http?
01:25:45 <TrueBrain> There is the exception, dependencies ;)
01:26:08 <TrueBrain> Type0 also shows older versions of content when it is a dependency of something else
01:27:35 <TrueBrain> openttdguest : okay, it becomes a tiny bit more clear what you try to do: never assemble the URL yourself. We change that often. Use the infrastructure in place to give you the complete URL. But LordAro pointed out to me that is not yet documented in a sane place how to do that
01:27:49 <TrueBrain> Mostly as nobody ever cared :D
01:28:00 <glx> :)
01:28:22 <glx> basically you request content list, then select ids in the list and ask for them
01:28:58 <TrueBrain> And because of historical reasons, another endpoint can give you the full url based on the contentid
01:29:50 <TrueBrain> openttdguest : you are the first I know that wants to do this, so basically we have nothing in place for it yet. The issue mentioned before is the proper solution I guess :)
01:30:14 <TrueBrain> Otherwise, follow exactly what the client does :)
01:30:21 <openttdguest> TrueBrain: looking at the code, does the game verify network content?
01:30:34 <TrueBrain> Define 'verify'
01:30:58 <openttdguest> TrueBrain: use a secure channel to verify file integrity
01:31:14 <TrueBrain> Still difficult to answer :D
01:31:30 <TrueBrain> It does not use an encrypted channel to protect in transit from spies
01:31:40 <TrueBrain> It uses TCP for integrity
01:32:56 <TrueBrain> So you can maninthemiddle the fuck out of it, but otherwise the integrity is there
01:33:55 <openttdguest> TrueBrain: is there anyway to tell if a file is completely downloaded?
01:34:08 <TrueBrain> Size, and in the end the checksum
01:34:23 <openttdguest> TrueBrain: using the partial checksum?
01:34:28 <TrueBrain> The md5sum is (partially) known
01:34:43 <TrueBrain> But the client does not do this actively to validate integrity
01:34:58 <openttdguest> TrueBrain: why not put the full checksum of newgame content on the website?
01:35:04 <glx> client trusts server and tcp
01:35:19 <TrueBrain> openttdguest : what problem are you solving?
01:36:36 <openttdguest> TrueBrain: well perhaps for the rare case of ambiguity of the first 8 bytes of the hash
01:37:31 <TrueBrain> The odds of a bit flip causing the same 8 bytes of md5sum is .... well, I did not run the math, but highly unlikely ;)
01:37:46 <TrueBrain> Not sure that is worth protection for :)
01:38:42 <TrueBrain> And there is no valid content with the same md5sumpartial (those uploads are denied)
01:39:22 <TrueBrain> Just remember this protocol is 15 years old. It hasn't been revised. But this part is the least of our issues :D
01:44:30 <TrueBrain> Anyway, I was off to get some sleep. It is 0140 here. Feel free to send an email if you want more info etc, but next month I will also update the docs on this!
01:44:44 *** openttdguest has quit IRC
01:45:14 <TrueBrain> Seems google translate doesn't know hi and goodbye :p
02:00:55 <b_jonas> gray fish on the gray background of the station window is a bit hard to see
02:27:25 *** WormnestAndroid has quit IRC
02:27:58 *** WormnestAndroid has joined #openttd
02:41:48 *** Eddi|zuHause has joined #openttd
02:53:40 *** b_jonas has quit IRC
03:52:23 *** Flygon has joined #openttd
04:34:19 *** glx has quit IRC
04:50:03 *** Smedles has joined #openttd
06:15:06 <CornsMcGowan[m]> fish?
07:34:12 *** sla_ro|master has joined #openttd
07:37:52 <Eddi|zuHause> <TrueBrain> The odds of a bit flip causing the same 8 bytes of md5sum is .... well, I did not run the math, but highly unlikely ;) <-- i'm pretty sure if that were possible, it would implode the complete algorithm
08:01:57 *** sla_ro|master has quit IRC
08:29:00 *** snail_UES_ has quit IRC
08:50:54 <TrueBrain> https://www.reddit.com/r/openttd/comments/hrbni4/why_a_developer_of_openttd_should_release_openttd/
08:52:52 <Eddi|zuHause> that url is misleading
08:57:32 <dwfreed> reddit slugging sucks
09:05:38 *** nielsm has joined #openttd
09:06:30 <LordAro> lol
09:12:51 <Eddi|zuHause> https://www.reddit.com/r/openttd/comments/hrbni4/btw_you_can_write_just_about_anything_here
09:17:36 *** HerzogDeXtEr has joined #openttd
09:30:32 *** cHawk- has quit IRC
09:46:01 *** iSoSyS has joined #openttd
10:16:51 *** cHawk- has joined #openttd
10:32:57 *** WormnestAndroid has quit IRC
10:33:10 *** WormnestAndroid has joined #openttd
11:06:09 <CornsMcGowan[m]> whats slugging
11:06:18 <CornsMcGowan[m]> also wild idea: discontinuous landscape
12:02:48 <TrueBrain> The comments are funny, lot of (unfounded) speculation :D
12:09:10 <Eddi|zuHause> turns out i'm terrible at tropico
12:09:15 *** iSoSyS has quit IRC
12:10:04 <Eddi|zuHause> particularly, making money and keeping the superpowers happy...
12:15:58 <LordAro> TrueBrain: someone is wrong on the internet :o
12:33:26 *** tokai|noir has joined #openttd
12:33:26 *** ChanServ sets mode: +v tokai|noir
12:40:13 *** tokai has quit IRC
13:01:46 *** HerzogDeXtEr1 has joined #openttd
13:07:37 *** HerzogDeXtEr has quit IRC
13:26:40 *** snail_UES_ has joined #openttd
13:33:23 <supermop_Home> hello
14:00:40 <DorpsGek_III> [OpenTTD/OpenTTD] Kuhnovic opened pull request #8274: Feature: option to auto remove signals when in the way during rail co… https://git.io/JJsQJ
14:39:29 *** tokai has joined #openttd
14:39:29 *** ChanServ sets mode: +v tokai
14:46:22 *** tokai|noir has quit IRC
14:52:59 *** gelignite has joined #openttd
14:54:45 *** glx has joined #openttd
14:54:45 *** ChanServ sets mode: +v glx
14:57:01 <DorpsGek_III> [OpenTTD/OpenTTD] Kuhnovic commented on pull request #8274: Feature: option to auto remove signals when in the way during rail co… https://git.io/JJs5Z
15:04:40 <DorpsGek_III> [OpenTTD/OpenTTD] Kuhnovic updated pull request #8274: Feature: option to auto remove signals when in the way during rail co… https://git.io/JJsQJ
15:07:03 <DorpsGek_III> [OpenTTD/OpenTTD] LordAro commented on pull request #8274: Feature: option to auto remove signals when in the way during rail co… https://git.io/JJs5S
15:23:24 <DorpsGek_III> [OpenTTD/OpenTTD] Kuhnovic updated pull request #8274: Feature: option to auto remove signals when in the way during rail co… https://git.io/JJsQJ
16:06:43 *** gelignite has quit IRC
16:16:37 *** WormnestAndroid has quit IRC
16:17:15 *** WormnestAndroid has joined #openttd
16:58:52 <DorpsGek_III> [OpenTTD/OpenTTD] glx22 merged pull request #8273: Center text and icons in the status bar vertically https://git.io/JJ355
18:07:37 *** gelignite has joined #openttd
18:12:58 *** cHawk- has quit IRC
18:42:53 *** Flygon has quit IRC
18:49:46 *** frosch123 has joined #openttd
19:04:09 *** skrzyp2 is now known as skrzyp
19:04:56 *** Progman has joined #openttd
19:05:43 *** Wolf01 has joined #openttd
19:20:20 *** cHawk- has joined #openttd
20:51:50 *** cHawk_ has joined #openttd
20:57:57 *** cHawk- has quit IRC
21:10:28 <glx> ah I broke compile farm
21:10:47 *** sla_ro|master has joined #openttd
21:26:39 *** frosch123 has quit IRC
21:39:10 <Wolf01> @seen andythenorth
21:39:10 <DorpsGek> Wolf01: andythenorth was last seen in #openttd 3 days, 23 hours, 12 minutes, and 18 seconds ago: <andythenorth> :)
21:39:14 <Wolf01> Hmmm
21:39:23 <Wolf01> Suspicious
21:43:02 <supermop_Home> indeed
21:43:16 <supermop_Home> who am I going to tell about all the steelmills I saw
21:43:45 <supermop_Home> wait
21:44:15 <supermop_Home> my timestamps just changed by an hour
21:46:12 <supermop_Home> https://imgur.com/yOXbZOf
21:46:48 <supermop_Home> it's certainly 3:46 here, not 2:46
21:47:16 <Wolf01> Aahah
21:47:31 <Wolf01> NTP poison
21:52:47 <DorpsGek_III> [OpenTTD/CompileFarm] glx22 opened pull request #45: Fix 091287d: [release-docs] cmake requires a compiler https://git.io/JJGIx
22:01:10 <DorpsGek_III> [OpenTTD/CompileFarm] TrueBrain approved pull request #45: Fix 091287d: [release-docs] cmake requires a compiler https://git.io/JJGLc
22:01:18 <TrueBrain> I am sure you have a reason for that :P YOLO! :D
22:03:14 *** Eddi|zuHause2 has joined #openttd
22:03:34 <DorpsGek_III> [OpenTTD/CompileFarm] glx22 merged pull request #45: Fix 091287d: [release-docs] cmake requires a compiler https://git.io/JJGIx
22:03:35 <DorpsGek_III> [OpenTTD/CompileFarm] glx22 pushed 1 commits to master https://git.io/JJGL2
22:03:35 <DorpsGek_III> - Fix 091287d: [release-docs] cmake requires a compiler (#45) (by glx22)
22:04:56 <glx> hmm DorpsGek_III is noisy on this repo :)
22:07:52 *** Eddi|zuHause has quit IRC
22:14:54 <glx> ok let's try a rerun of failed nightly jobs
22:15:35 <michi_cc> Wolf01: https://www.tt-forums.net/viewtopic.php?p=1234185#p1234185 :(
22:16:05 <glx> should be safe as manifest was fixed the last time
22:16:37 *** WormnestAndroid has quit IRC
22:16:56 <Wolf01> Meh, ragequits, what do they solve?
22:17:08 <glx> ok failed again :(
22:17:08 *** WormnestAndroid has joined #openttd
22:19:11 <glx> oups my fault, it's not easy to do compilefarm stuff
22:42:19 <DorpsGek_III> [OpenTTD/CompileFarm] glx22 opened pull request #46: Fix 3775a12: [release-docs] use default clang https://git.io/JJGql
22:42:28 <glx> same player try again :)
22:56:04 *** Eddi|zuHause2 is now known as Eddi|zuHause
23:08:11 *** Speeder has joined #openttd
23:18:12 *** nielsm has quit IRC
23:18:22 *** WormnestAndroid has quit IRC
23:18:29 *** WormnestAndroid has joined #openttd
23:33:24 <DorpsGek_III> [OpenTTD/CompileFarm] TrueBrain approved pull request #46: Fix 3775a12: [release-docs] use default clang https://git.io/JJG3k
23:57:44 <DorpsGek_III> [OpenTTD/CompileFarm] glx22 merged pull request #46: Fix 3775a12: [release-docs] use default clang https://git.io/JJGql
23:57:45 <DorpsGek_III> [OpenTTD/CompileFarm] glx22 pushed 1 commits to master https://git.io/JJGsY
23:57:45 <DorpsGek_III> - Fix 3775a12: [release-docs] use default clang (#46) (by glx22)