IRC logs for #openttd on OFTC at 2024-12-26
⏴ go to previous day
01:14:23 <talltyler> I’ve been experiencing desyncs in multiplayer games, both 14.1 and JGRPP. In 14.1 I get kicked, in JGRPP it crashes the dedicated server. Each time it seems to be related to changing signals, but I can’t figure out exactly how to reproduce it. Curious if anyone else has experienced this or if there are better ways to find it.
01:18:53 <_jgr_> Unfortunately the desync log generation in my branch got accidentally broken when merging the file handle changes
01:19:51 <_jgr_> That'll be fixed in the next release but I can take a look into signals in the meantime
01:23:40 <talltyler> Do desyncs write a log in vanilla? I didn’t see one.
01:24:53 <_jgr_> They don't, it's something I've added
01:25:29 <talltyler> If the server crashed, will it produce a useful crash log? Or is that what’s broken?
01:26:21 <_jgr_> It crashes when creating the desync log file, the crash log doesn't have any the desync-specific stuff needed to actually get anywhere with finding the source of the desync
01:26:39 <talltyler> Ah, okay. Thanks for the help.
01:28:33 <talltyler> Given that it happens in both vanilla and JGRPP, I wonder if it’s related to the new “green path signal” change, which is the latest change to signals. 🙂
01:29:51 <_jgr_> That's not in 14.1 though?
01:32:48 <talltyler> Oh, oops, it was not in 14.1 — I was playing the nightly with family
01:33:00 <talltyler> Which is maybe why it hasn’t been reported before now 🙂
01:33:08 <talltyler> “Nobody plays the nightlies”
01:34:56 <_jgr_> Presumably the issue is the 15.0 beta as well now
03:01:55 <_glx_> yeah we hope people will play beta more than nightlies
03:26:21 <talltyler> The desync log might be worth downstreaming in this case
03:26:54 <talltyler> Rivers were never my strong suit
03:27:16 *** gnu_jj_ has quit IRC (Ping timeout: 480 seconds)
03:29:52 <peter1138> That requires detangling everything and reentangling it our way.
03:34:36 *** debdog has quit IRC (Ping timeout: 480 seconds)
04:42:34 <DorpsGek> - Update: Translations from eints (by translators)
08:26:31 <michi_cc> Hmm, changelog change might have a changelog problem...
08:42:31 *** nielsm has quit IRC (Ping timeout: 480 seconds)
09:27:10 <johnfranklin> Why is even reduced salt bacon too salty for me?
09:29:50 <truebrain> michi_cc: A silly mistake by merni that I also didn't spot. Changelog generator is in wrong if-branch 🙂
09:31:30 *** jinks has quit IRC (Remote host closed the connection)
09:41:11 <truebrain> E_TOO_MUCH_NESTING, basically 😄
10:08:11 *** Speedy` has joined #openttd
10:08:13 *** reldred has quit IRC (Quit: User went offline on Discord a while ago)
10:19:11 <michi_cc> All the nesting, all the time 🙂
10:19:40 *** gelignite has joined #openttd
10:33:45 <xarick> desyncs and signals huh? let me test
10:44:01 <xarick> what PR is the “green path signal”?
11:40:12 *** Kuka_lie_nokia has joined #openttd
11:41:36 <Kuka_lie_nokia> is there a way to run ottd in symbian
11:42:59 <Kuka_lie_nokia> btw i use n73 for irc
11:43:07 <truebrain> We officially do not support any mobile device, although there are 3rdparty that are doing that for Android. But I strongly doubt anyone invested any time in porting OpenTTD to a platform that has been discontinued for 15 years 😄
11:43:23 <truebrain> So you would have to do that yourself 🙂
11:44:40 *** Kuka_lie_nokia has quit IRC (Read error: Connection reset by peer)
11:45:46 *** Kuka_lie_nokia has joined #openttd
11:46:20 <truebrain> Kuka_lie_nokia: did you see my reply, or were you disconnected by that time already?
11:47:34 <Kuka_lie_nokia> i cant open links
11:49:10 <Kuka_lie_nokia> no js in web browser
11:50:02 <xarothbrook> That link doesn't require js
11:50:06 <peter1138> No modern HTTPS support would be more of a problem.
11:51:15 <Kuka_lie_nokia> i cant copy that
11:52:20 <peter1138> The answer is, no, there is no way to run OpenTTD on Symbian.
11:53:43 <Kuka_lie_nokia> Do you know any games that run
11:54:27 <Kuka_lie_nokia> Where to get it
11:55:20 <xarothbrook> I'd expect the Nokia site but that would probably require js and modern ssl.
11:55:27 <Kuka_lie_nokia> Nokia store dont work
11:55:53 <truebrain> We are not #symbian nor #nokia
11:57:06 <truebrain> I doubt anyone here has any knowledge about a system that hasn't been in the market for over 15 years
11:57:13 <Kuka_lie_nokia> What network those have
11:57:30 <truebrain> Google it! Really, you are asking the wrong crowd 🙂
11:57:36 <peter1138> xarothbrook: I would imagine it's all shut down by now.
11:58:51 *** Kuka_lie_nokia has quit IRC (Read error: Connection reset by peer)
11:59:13 <truebrain> Very stable connection
11:59:40 <peter1138> The era of mobile devices that close things when you switch to another program.
12:00:46 *** Kuka_lie_nokia has joined #openttd
12:02:04 <Kuka_lie_nokia> It crashed again
12:04:06 *** Kuka_lie_nokia has quit IRC ()
12:07:12 <LordAro> might be biting off a bit more than they can chew with that
12:07:31 <LordAro> an old rasppi would do better
12:08:52 <peter1138> Yes, 64MB and 240x320 isn't going to go far.
12:09:44 <peter1138> But actually interface scale 50% does work—I didn't see any point in allowing it generally, though 🙂
12:29:11 <johnfranklin> Hello. Which software does OpenTTD use to make IRC logs?
12:33:39 *** ahyangyi has joined #openttd
12:37:59 <_glx_> Any IRC client can do logging
12:39:24 <johnfranklin> So there is an IRC client on the server side?
12:41:17 <_glx_> We don't manage IRC server
12:41:39 <_glx_> Dibridge is just a cross network client
12:46:02 <truebrain> nothing to run for your own project / channel; it will fail misserable 🙂
12:46:10 <truebrain> it is specifically designed for OpenTTD 🙂
12:53:12 <ahyangyi> truebrain: Yeah, I misunderstood the question. Thought "duplicating every message to Discord" as an exotic way of logging.
12:53:37 <cu-kai> not least because discord has... questionable permanence
12:53:57 <truebrain> ahyangyi: except logging implies control, and you don't have control over Discord's logging 😛 It can be taken away at ANY MOMENT 😛
12:54:19 <LordAro> truebrain: tbf, the same could be said of OFTC :p
12:54:26 <truebrain> but not of the weblogs 🙂
12:54:29 <LordAro> OTFC? I can never remember
12:54:30 <truebrain> that is 100% in our control 😄
12:55:10 <LordAro> oh right, OFTC, it's right there right next to my input field
13:16:47 <xarick> found a strange bug joining a server
13:17:20 *** johnfranklin is now known as Guest4186
13:17:21 *** Guest4186 is now known as johnfranklin[d]
13:19:38 *** johnfranklin has joined #openttd
13:23:40 <xarick> I can't reliably reproduce this issue
13:25:24 <Rubidium> can you do it unreliably?
13:26:26 <Rubidium> if so, check docs/desync.md and docs/debugging_desync.md
13:29:19 <xarick> there, it happened again
13:29:38 <xarick> i joined, but game didn't unpause
13:50:14 <xarick> i am so disappointed I can't reproduce this for the camera
13:57:50 <xarick> at 1:00, doesn't unpause
14:12:47 *** johnfranklin has quit IRC (Quit: johnfranklin)
14:24:52 <_glx_> Active client or spectator?
14:25:09 <_glx_> And what is min_players setting?
14:27:18 <_glx_> Oh it's not a dedicated server
15:23:46 <xarick> min_active_clients is = 0
15:24:03 <xarick> but the server is playing
15:25:41 <xarick> server is playing in the red company
15:26:37 *** Flygon has quit IRC (Remote host closed the connection)
16:27:10 <_glx_> Maybe you manually paused the server
17:16:22 <_glx_> anyway here it's the pause on join not unpausing
18:46:46 *** ChanServ sets mode: +v tokai
18:53:48 *** tokai|noir has quit IRC (Ping timeout: 480 seconds)
20:02:28 *** Wormnest has joined #openttd
20:04:37 <_glx_> Used to be UB, now we just reject
20:09:38 <andythenorth> xarick: Which are you? 🙂
20:12:18 <_jgr_> You can't make bridge replacement sets using NML, so it's not that surprising that bridge sets tend to be error-prone
20:20:22 <_glx_> if it's no doable in nml, fallback to nfo 🙂
20:21:09 <peter1138> Less examples to blindly copy & paste from.
20:24:20 <_glx_> and bridge spec is not easy, seems weirded than stations
20:25:28 <peter1138> Eh, it's just a list of sprites/palettes, no layouts.
20:25:36 <peter1138> "When I get around to it"
20:31:43 <andythenorth> Hmm why don’t we recommend DLC to players according to popularity?
20:36:02 *** gelignite has quit IRC (Quit: Stay safe!)
20:50:03 <xarick> joined the game, but dropped because it took longer to join
20:50:52 <peter1138> Joined then left. No problem there.
20:52:37 <_glx_> join, could not catch up with commands since network save, kicked
20:53:02 <xarick> but the game is paused
20:53:13 <_glx_> it's not paused during download
20:53:58 <xarick> it's in the video, it joined, but the server didn't unpause
20:55:23 <_glx_> could be a bad timing, maybe because you did multiple join/leave pretty quick
21:16:47 <xarick> Rubidium wanted a TileOffset
21:19:37 <xarick> > TileAdd could be replaced by operator+, but that's for another PR
21:19:37 <xarick> Not sure what this means
21:19:55 <xarick> Isn't it there already?
21:21:02 <Rubidium> when/if operator+ is going to function the same as TileAdd, then it makes no sense to keep TileAdd around (why have two functions doing exactly the same thing?)
21:22:52 <_glx_> yeah operator+ replacing TileAdd can make sense
21:23:18 <_glx_> but will be a huge diff
21:25:03 <_glx_> we already have some places doing `tile + something`
21:25:22 <xarick> well, I did actually remove TileAdd function on mine branch
21:25:35 <xarick> so I guess I can do the same for Rubidium's branch
21:26:53 <_glx_> it's using StrongType::Integer::operator+ in this case
21:28:35 <xarick> I went as far as removing TileIndexDiff completely
21:28:55 <xarick> and convert all instances of TileIndexDiff to TileIndexDiffC
21:29:34 <xarick> but, rubidium's approach is kinda neat
21:29:54 <xarick> use the performant approach for release builds
21:30:21 <_glx_> in non debug build TileAdd is just using operator+
21:30:50 <_glx_> constexpr TileIndex TileAdd(TileIndex tile, TileIndexDiff offset) { return tile + offset; }
21:36:43 <_glx_> I can see 170 results for `tile \+` but only 16 `TileAdd\(` (19 if I count the implementation and declarations)
21:37:15 <_glx_> some in most case we don't validate bounds
21:47:21 *** virtualrandomnumber has joined #openttd
21:47:39 *** virtualrandomnumber has quit IRC ()
21:55:07 <xarick> > It could be considered to get rid of the TileIndexXY function and just call the two parameter constructor (make that public).
21:55:07 <xarick> I think you meant TileDiffXY
22:03:28 <xarick> if I understood the assignment... get rid of the names TileDiff, TileIndexDiffC, and similar "Diff" names and name them "Offset"
22:03:55 <xarick> TileOffsetC? TileOffsetXY
22:18:31 <xarick> after all these renames, it still builds
22:28:34 *** nielsm has quit IRC (Ping timeout: 480 seconds)
22:41:24 *** keikoz has quit IRC (Ping timeout: 480 seconds)
23:11:11 *** Wolf01 has quit IRC (Quit: Once again the world is quick to bury me.)
continue to next day ⏵