IRC logs for #openttd on OFTC at 2023-07-14
โด go to previous day
00:03:21 <talltyler> Yes, Iโm focusing on whatโs really important ๐
00:04:00 <talltyler> Also need a new PR title, thatโs a mouthful and will become the commit title once squashed
01:25:14 *** esselfe has quit IRC (Ping timeout: 480 seconds)
02:17:32 *** debdog has quit IRC (Ping timeout: 480 seconds)
02:24:36 *** Wormnest has quit IRC (Quit: Leaving)
02:24:51 *** D-HUND is now known as debdog
02:35:41 <debdog> OpenRCT2 is much more stressful than OTTD
02:48:44 *** Smedles_ has joined #openttd
02:52:02 *** Smedles has quit IRC (Ping timeout: 480 seconds)
02:52:29 <alfagamma_0007> I haven't been successful in decorating as much as in openttd
03:26:51 <alfagamma_0007> What's nlohmann_json
03:27:06 <alfagamma_0007> Showing me error messages while compiling
03:43:27 <Eddi|zuHause> that library is used for the survey
04:04:31 *** barbagus has joined #openttd
04:06:27 *** Flygon has quit IRC (Read error: Connection reset by peer)
04:16:53 *** ChanServ sets mode: +v tokai
04:23:49 *** tokai|noir has quit IRC (Ping timeout: 482 seconds)
04:24:15 <pickpacket> it needs to be added as a dependency in COMPILING.md
04:45:59 <pickpacket> is a company's available capital taken into account when calculating company value?
06:51:29 *** barbagus has quit IRC (Remote host closed the connection)
07:13:47 *** barbagus has joined #openttd
07:21:31 *** barbagus has joined #openttd
07:23:16 <barbagus> Is there any way a GScript can write to filesystem ?
07:23:51 <barbagus> Is there anyway to copy/paste content from AI/GS debug window ?
07:25:02 <LordAro> that would be a useful debugging feature
07:26:11 <truebrain> Doesn't `-dscript=4` or something dump the GS logs also to console?
07:27:56 <Rubidium> well... there is json serialisation to the admin (network) port, which could be used to serialize stuff to disk
07:31:38 <barbagus> `-dscript=4` does indeed dump the AI/GS debug to stdout :) Thanks !
07:32:51 <barbagus> context: I am acquiring game data with a GScript and would like to do some analysis on it with external tool
07:33:15 <barbagus> goal: tweaking AI settings
08:05:58 <truebrain> well, good luck and enjoy ๐
08:06:18 <truebrain> an interesting approach for sure ๐
08:11:06 <barbagus> my mistake, it doesn't dump to stdout (on windows) but open's a side console... now need to capture that :)
08:12:28 <LordAro> i think that's a console vs windows app thing
08:12:33 <LordAro> there's a way to convert between the two, iirc
08:12:44 <truebrain> yeah, glx keeps telling us how, I just keep forgetting
08:21:20 <Rubidium> you just needed to search for "convert.exe" on github (in the discussions)
08:28:50 <peter1138> I think the "buy 25% shares to stop a takeover" take is amusing.
08:29:36 <peter1138> Real-life hostile takeovers don't need 100% shareholding...
08:30:31 <andythenorth> I'm going to buy a VPS to run grf.farm
08:30:45 <peter1138> Run it on your MBP.
08:30:45 <andythenorth> I can probably just yum update every 3 months or so right?
08:31:12 <andythenorth> and if I just throw a nagios on it I'll get alerts about issues?
08:31:43 <peter1138> No, just tell nagios to do nothing.
08:31:54 <truebrain> haha, I see andy is building a castle of despair ๐
08:32:04 <andythenorth> I like CPanel, I heard it's a really great secure way to manage LAMP?
08:32:08 <andythenorth> for non-technical users
08:32:40 <andythenorth> but I should run it all in docker containers
08:33:10 <andythenorth> I should probably run the Apache in a separate docket from the sftp server
08:33:24 <andythenorth> they can communicate via the host filesystem?
08:33:30 <andythenorth> or do I need a private subnet on the host?
08:34:25 <andythenorth> the VPS host provider usually has a snapshot backup system with a web panel for configuration
08:34:48 <barbagus> @Rubidium, @truebrain: the "convert.exe" looks patchy I manage with, `-l 127.0.0.1:xxx` and my python analysis script listen to that :)
08:35:35 <andythenorth> if yogscast link FIRS, I might get bill shock, but I can probably just set up some alerts, if I'm fast enough I can probably remove the DNS entries for the domain
08:35:46 <andythenorth> or repoint the domain at one of the google.com IPS
08:36:11 <peter1138> webmin is where it's at, andy!
08:36:23 <peter1138> (Oh god, that is still going)
08:37:06 <andythenorth> $10 VPS, learn docker, learn LAMP, learn cPanel, learn sftp hosting, set up a subnet or communicate via the filesystem, configure backups, configure alerting, and learn cron so I can cron job a yum update every 3 months?
08:37:24 <peter1138> apt install unattended-upgrades
08:37:46 <andythenorth> and something so I can dump the domain to null if yogscast link me
08:37:53 <andythenorth> this is much simpler than using a cloud host
08:38:07 <andythenorth> and probably saves money
08:40:23 <truebrain> in all cases, they are not wrong it is over-engineered. What they missed, and also not mentioned in the blog, that it is optimized towards as little maintenance as possible. For that group of people that is not something they are used to. Hobbyists want to do it themselves, which is totally fine.
08:43:45 <peter1138> Also having it devops is useful. What they talk about seems to be oldschool sysadmin style.
08:44:09 <truebrain> like we used to do it ๐
08:44:18 <truebrain> still remember that it had a Debian Etch running
08:44:24 <truebrain> it was 6+ years old ๐
08:45:08 *** barbagus has quit IRC (Ping timeout: 480 seconds)
08:46:57 <andythenorth> it's over-engineered like Iron Horse is over-engineered
08:47:25 <andythenorth> the flip side is I can regenerate the whole project on deman
08:49:08 <peter1138> "Just use Azure SQL Database Hyperscale"
08:49:10 <truebrain> and the infra is overengineered, as we kept adding shit to it over the years ๐ Still can't believe we run our own TURN network ๐ ๐
08:49:49 <LordAro> just throw it all out and have a folder in /var/www that conatains everything
08:49:58 <LordAro> occasionally copy it somewhere else and append (1) on the end
08:49:59 <andythenorth> perl is available by default, yes?
08:50:06 <LordAro> andythenorth: more or less
08:58:19 <LordAro> don't need perl for chmod
08:58:52 <LordAro> though that reminds me someone set up an irc bot with a shell interface to a VM
08:59:09 <LordAro> one of the (many) ways we managed to break it was to use perl-chmod instead of actual chmod
09:00:50 <andythenorth> chmod 777 perl_pasted_from_the_internet.pl
09:00:59 <andythenorth> oh, and it's obfuscated perl ๐
09:01:05 <andythenorth> to 'protect' the IP of the original author
09:01:14 <andythenorth> no we really used to do this ๐
09:03:50 <Rubidium> andythenorth: please don't use chmod 777, use chmod 6777 instead for optimal effect
09:04:49 <andythenorth> oh so only the internet can run it
09:05:14 <andythenorth> "if chmod 755 doesn't work try chmod 777" was the advice we used to follow
09:18:34 <peter1138> 'Given that the "Hostile Takeover" feature is coming' ... is it?
09:19:11 <peter1138> Oh I guess there is that thing already done. forgot about that ๐
09:23:56 <andythenorth> I liked the Railroad Tycoon 3 stock market
09:24:29 <andythenorth> featured stock issues, dividends, share splits, short selling and margin purchases
09:24:53 <andythenorth> it was the main feature of the game, along with purchasing industries
09:26:55 <pickpacket> andythenorth: sounds really fun, but also very far from what openttd is about
09:27:12 <andythenorth> how about just write a GS API for stock market?
09:27:23 <andythenorth> and leave the actual rules to content authors?
09:28:52 <pickpacket> I think there's a bit of a philosophical question around whether it's a feature that's compatible with what the game is about
09:29:40 <pickpacket> even "just" providing a GS API requires a design around the actual trading
09:30:54 <pickpacket> I guess it could just be "buy shares" and "sell shares" but I don't know enough about the GS API to know whether that's enough. Can GS change company value, for example?
09:31:23 <andythenorth> dunno, I'm a bit militant about "don't make philosophical decisions, just expose a content API" ๐
09:31:30 <andythenorth> I might be an army of one here though ๐
09:32:11 <pickpacket> I still wonder what that API would need to enable
09:33:15 <locosage> hm... ` Message: Assertion failed at line 177 of /home/dp/Projects/OpenTTD/src/strings_internal.h: this->parameters[n].string_view == nullptr && this->parameters[n].string == nullptr`
09:33:32 <locosage> can't seem to repro though
09:33:41 <andythenorth> by delegating to GS, content authors could decide whether e.g. 51% control causes companies to be merged
09:33:46 <andythenorth> or operated as subsidiaries
09:34:06 <pickpacket> andythenorth: yeah, but what would the API look like?
09:34:21 <pickpacket> and what kind of logic would have to be one the game side of the API?
09:34:39 <locosage> and, yeah, totally move stupid features to GS xD
09:34:41 <andythenorth> I'd have to read the current GSCompany API L:)
09:34:49 <pickpacket> could you write a post in the thread with your thoughts?
09:34:49 <andythenorth> usually it's CRUD
09:34:54 <andythenorth> CRUD for companies
09:34:58 <andythenorth> CRUD for a dividend policy
09:35:53 <andythenorth> hmm Company mergers might be GSGame, not GSCompany?
09:36:05 <andythenorth> GSGame.MergeCompanies(A, B)
09:36:31 <andythenorth> dunno, this might all be terrible
09:36:43 <andythenorth> but why is gameplay defined in the game?
09:36:54 <andythenorth> gameplay should be content-ish
09:37:00 <andythenorth> this isn't an FPS
09:37:03 <pickpacket> ... because that's the point of the game?
09:37:32 <pickpacket> I mean of having a game at all
09:39:09 *** ahyangyi has joined #openttd
09:39:09 <ahyangyi> I think it's because stock mechanism clashes with the fundamental premise of the game ("you play as a transportation company")
09:40:43 <ahyangyi> There should be few things hardcoded in a sandboxish game, but "who am I playing as" and "what this game is about" are usually among them
09:41:11 <locosage> fundamental premise of openttd is "we liked this old game so much we piled random features on it for 20 years" ๐
09:42:10 <ahyangyi> Yeah, I'm not against just having more options ๐
09:42:49 <ahyangyi> Well, there are many features I don't like but I don't want to remove them either
09:42:55 <ahyangyi> So there's no contradiction
09:44:52 <pickpacket> I see a contradiction even if I generally agree with you. If a stock market system, no matter how simplified, fits into the game about as much as the idea of real estate speculation then I don't see why removing it is a problem
09:45:15 <andythenorth> it's a tycoon game with companies
09:45:29 <andythenorth> I see no contradiction in having share trading
09:45:48 <andythenorth> whether we call that 'stock market', or 'share trading' might be relevant, or irrelevant ๐
09:47:32 <pickpacket> There's the question of "what are the companies supposed to do?" If the answer is "build a transport empire" then stock trading doesn't really fit into the game. If the answer is "make money! Be capitalistic!" then it's weird that the game is so focused on transportation
09:48:28 <pickpacket> and as ahyangyi said: There should be few things hardcoded in a sandboxish game, but "who am I playing as" and "what this game is about" are usually among them
09:50:12 *** robinovitch61 has joined #openttd
09:50:12 <robinovitch61> It's free and open source. I'm looking for people who might benefit from it, and am super open to new feature requests - I want to make it as good as possible.
09:51:03 <pickpacket> ahyangyi, andythenorth: can I post this convo in the forum thread or would you like it to be kept here?
09:58:39 <pickpacket> could derail the discussion though... I did explicitly say that the thread isn't about whether removing the feature was a good idea ๐ Maybe I should stick to my own rules
10:00:33 <andythenorth> don't derail it ๐
10:15:59 <_jgr_> pickpacket: The indifferent majority are unlikely to bother reading the thread or voting
10:23:20 *** barbagus has joined #openttd
10:29:51 <truebrain> It is weird.. dependabot now makes a grouped PR every month .. I am not used to this low amount of PRs on the backend repos .. ๐
10:32:33 <peter1138> Okay, vector would work better on the accepted/produced arrays. d'oh.
10:34:09 *** barbagus has quit IRC (Ping timeout: 480 seconds)
10:59:37 <LordAro> Not looking forward to tomorrow
10:59:54 <pickpacket> what happens tomorrow?
11:01:00 <LordAro> and also probably thunderstorms
11:01:28 <alfagamma_0007> peter1138: Funny
11:03:45 <peter1138> Yea, if it is as forecast I might give it a miss </fairweathercyclist>
11:05:09 <alfagamma_0007> My back tyre got flat
11:56:59 *** Flygon has quit IRC (Quit: A toaster's basically a soldering iron designed to toast bread)
12:25:22 <peter1138> I'm not sure on that one :p
12:26:14 <peter1138> Oh weather for Sunday is now crap as well.
12:34:25 <FLHerne> "Today's forecast is rain" "When?" "Rain."
12:36:31 <truebrain> I still don't understand why merging to master cancels CI tasks running on master .. it shouldn't, as far as I can tell .. weird
12:36:39 <truebrain> also not actually harmful, so what-ever ๐
12:38:13 <LordAro> cancel-in-progress: ${{ github.ref != 'refs/heads/master' }}
12:38:23 <LordAro> ref somehow different?
12:38:35 <truebrain> if you look at the cancel message, it shows the ref should be correct there
12:39:03 <truebrain> `Canceling since a higher priority waiting request for 'CodeQL-refs/heads/master' exists`
12:40:16 <LordAro> well that's not 'refs/heads/master'
12:40:23 <truebrain> no, this is the `group`
12:40:32 <truebrain> now look at what the group is composed off, and you see what I mean ๐
12:40:39 <truebrain> no, the line you copied, look one up
12:43:11 <truebrain> pretty sure this just used to work, but .. guess no longer! ๐
12:43:59 <truebrain> ah, no, wait, this is that stupid choice GitHub made
12:44:21 <truebrain> basically, job A1 starts .. job A2 is queued .. now if job A3 is queue, and A2 is still in the queue, it is cancelled
12:44:23 <truebrain> as it never started
12:45:33 <truebrain> right, I discovered this before, and forgot .. as it is weird ๐
12:46:02 <LordAro> well that makes sense
12:46:08 <LordAro> why start a build that's already out of date?
12:47:55 <peter1138> out of date doesn't mean conflict.
12:49:57 <Rubidium> to be able to pinpoint a compilation error to a precise PR-merge from within GitHub?
12:50:32 <Rubidium> also for the CodeQL stuff to link to the right PR that introduced some issue
12:50:58 <Rubidium> though whether doing that for OpenTTD makes much sense is another question
13:27:58 <peter1138> Looking at online menus for restaurants... sees the calories per dish... stops looking...
13:51:48 <pickpacket> truebrain: thank you so much for merging my change! :D
13:59:43 *** Eddi|zuHause2 has joined #openttd
14:01:24 *** Eddi|zuHause has quit IRC (Ping timeout: 480 seconds)
14:33:38 <talltyler> truebrain: Can you send me the group photos from our Brussels meetup? If you haven't figured out a distribution plan, I could pick the best and DM them to people on Discord. I don't know how to directly reach people on IRC, unless they have an OpenTTD email address I guess
15:16:47 <andythenorth> `Can you get your LAMP stack to pass a PCI-DSS audit after 1 hour of work? I can make contractual guarantees that my stack is going to pass those audits before I log into my PC for the day.`
15:19:10 <andythenorth> still reading HN thread ๐
15:20:06 <andythenorth> `That's, say, $70 including the cost for a domain and such, and all it requires in maintenance is regular system updates.`
15:20:16 <andythenorth> and this is why OpenTTDCoop died
15:20:51 <andythenorth> 'regular system updates' is someone who's never encountered a diamond dependency
15:21:13 <andythenorth> or needed 2 different versions of headers to keep building a non-maintained critical dep
15:21:22 *** HerzogDeXtEr has joined #openttd
15:26:13 <ahyangyi> what happened to OpenTTDCoop ๐ฎ
15:27:56 <andythenorth> unmaintained dedicated server running unmaintained services
15:28:40 <_glx_> the data are there, but not accessible except by admin
15:43:31 <_jgr_> That sounds rather like a bus factor 1 issue
15:45:30 <_jgr_> If the singular admin stops addressing issues then even a well designed system is not going to run itself in perpetuity
15:46:15 <LordAro> well at least we've got a nice document explaining it all ;)
15:46:46 <truebrain> And many people with access to the credentials ๐
15:50:12 <ahyangyi> I doubt many of the talking people on HK were able to fix that "16k map cause OOM" problem we fixed last month.
15:50:36 <truebrain> They would have gotten a bigger VPS
15:51:20 <ahyangyi> Or getting a bigger MBP ๐
15:51:31 <LordAro> throw more hardware at it is a tried and true strategy
15:52:07 <LordAro> threadripper pro build servers are pretty fun
15:52:13 <LordAro> still takes nearly 3 hours, mind
15:56:36 <andythenorth> _jgr_: yeah no free pass on complicated infra
15:57:12 <andythenorth> the coop case is more an example of self hosted vs. commodity service, specific to the repos
15:57:13 * LordAro looking at proxmox again
15:57:45 <LordAro> zfs + replication or zfs-over-iscsi, hmm
16:44:42 <_glx_> I can see a news window in the screeshot
16:47:06 *** kuhnovic has joined #openttd
16:47:06 <kuhnovic> KuhnovicviaGitHub: Can someone slap a Preview label on this one plz ๐
16:47:51 <_glx_> I think you can do it with the recent preview changes
16:48:33 <talltyler> Oops, already beat you to it
16:48:47 <kuhnovic> Hehe thanks! So how can I do it in the future?
16:58:05 <peter1138> StUpId DrOpDoWn ChAnGeS
17:18:24 *** Wormnest has joined #openttd
17:24:02 *** frosch123 has joined #openttd
17:24:02 <frosch123> i thought rb was missing on the photo, but then remembered who made the photo...
17:24:43 <talltyler> Yes, I was confused about that too
17:28:00 <kuhnovic> Is the foto shared somewhere?
17:30:00 <talltyler> Check our DMs on Discord
17:30:12 <talltyler> I sent it privately to everyone
17:45:08 <kuhnovic> Missed that notification. Thanks!
19:16:33 *** gelignite has joined #openttd
19:31:47 *** belajalilija has joined #openttd
19:31:47 <belajalilija> Baby donโt hurt me
19:53:21 <peter1138> Hmm, lumber mills... is it possible to use their behaviour in NewGRF industries?
19:55:29 <FLHerne> peter1138: yes, in NML it's IND_FLAG_CUT_TREES
19:56:18 <FLHerne> action0 prop 1A bit 1
19:56:50 <FLHerne> (farms are _PLANT_FIELDS_PERIODICALLY, bit 0)
19:57:30 <FLHerne> ...and IND_FLAG_PLANT_FIELDS_WHEN_BUILT, bit 6
19:59:06 <talltyler> Yes, I did it in Lumberjack Industries (somewhat poorly because itโs based on rainforest trees growing much faster than normal)
20:03:02 <peter1138> Okay, my vector accepted/produced patch is not going to work right now.
20:03:50 <peter1138> NewGRFs are able to set up invalid slots in between used slots. The patch assumes they are all at the beginning.
20:04:38 <peter1138> Although it seems to only be older GRFs (without INDUSTRYBEH_CARGOTYPES_UNLIMITED) that can do this.
20:07:21 <peter1138> Still might be feasible. I think such a GRF could only use the first 2 or 3 slots in that case, so still a potential saving.
20:46:57 *** Eddi|zuHause2 is now known as Eddi|zuHause
21:37:38 *** nielsm has quit IRC (Ping timeout: 480 seconds)
21:48:50 *** gelignite has quit IRC (Quit: Stay safe!)
21:53:38 *** keikoz has quit IRC (Ping timeout: 480 seconds)
22:37:12 *** HerzogDeXtEr has quit IRC (Read error: Connection reset by peer)
23:54:43 <talltyler> I love it when that happens
continue to next day โต