IRC logs for #openttd on OFTC at 2020-07-15
⏴ go to previous day
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: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: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: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:13 <TrueBrain> Pull requests are welcome
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: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: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:09:55 <TrueBrain> Content-id is not the same as uniqueid
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: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: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: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: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: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: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: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
04:50:03 *** Smedles has joined #openttd
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:52:52 <Eddi|zuHause> that url is misleading
08:57:32 <dwfreed> reddit slugging sucks
09:17:36 *** HerzogDeXtEr 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: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
13:01:46 *** HerzogDeXtEr1 has joined #openttd
13:26:40 *** snail_UES_ has joined #openttd
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 *** ChanServ sets mode: +v tokai
14:52:59 *** gelignite has joined #openttd
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: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:49:46 *** frosch123 has joined #openttd
19:04:09 *** skrzyp2 is now known as skrzyp
19:04:56 *** Progman has joined #openttd
21:10:47 *** sla_ro|master has joined #openttd
21:39:10 <DorpsGek> Wolf01: andythenorth was last seen in #openttd 3 days, 23 hours, 12 minutes, and 18 seconds ago: <andythenorth> :)
21:43:16 <supermop_Home> who am I going to tell about all the steelmills I saw
21:44:15 <supermop_Home> my timestamps just changed by an hour
21:46:48 <supermop_Home> it's certainly 3:46 here, not 2:46
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> - Fix 091287d: [release-docs] cmake requires a compiler (#45) (by glx22)
22:04:56 <glx> hmm DorpsGek_III is noisy on this repo :)
22:14:54 <glx> ok let's try a rerun of failed nightly jobs
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 *** 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:56:04 *** Eddi|zuHause2 is now known as Eddi|zuHause
23:08:11 *** Speeder has joined #openttd
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> - Fix 3775a12: [release-docs] use default clang (#46) (by glx22)
continue to next day ⏵