Log for #openttd on 14th April 2016:
Times are UTC Toggle Colours
00:19:08  *** Zeetherdroid [] has quit [Quit: Bye]
00:44:48  *** Snail [] has joined #openttd
01:09:52  *** BowenC2C [4f42167b@] has quit [Quit: - A hand crafted IRC client]
01:10:10  *** HerzogDeXtEr [] has quit [Read error: Connection reset by peer]
01:43:51  *** TrueBrain [] has quit [Read error: Connection reset by peer]
01:44:09  *** TrueBrain [] has joined #openttd
02:19:32  *** tycoondemon2 [] has joined #openttd
02:24:34  *** tycoondemon [] has quit [Ping timeout: 480 seconds]
02:51:22  *** LongyanG [] has quit [Remote host closed the connection]
02:51:22  *** LongyanG [] has joined #openttd
02:53:50  *** ConductorCat [] has joined #openttd
02:54:21  *** glx [] has quit [Quit: Bye]
02:58:39  *** urdh [] has quit [Ping timeout: 480 seconds]
03:07:17  *** urdh [] has joined #openttd
03:35:43  *** Supercheese [] has joined #openttd
03:44:59  *** Snail [] has quit [Quit: Snail]
04:45:41  *** circ-user-jr62P [] has joined #openttd
04:46:10  *** circ-user-jr62P is now known as kamnet
04:48:09  *** kamnet [] has quit [Remote host closed the connection]
04:49:05  *** kamnet [] has joined #openttd
04:49:40  <kamnet> Good early morning
05:35:06  *** sim-al2 [] has quit [Ping timeout: 480 seconds]
05:44:03  *** Ketsuban [~ketsuban@2a02:c7d:a34a:9000:b5ac:5cf2:7bb3:a4f] has joined #openttd
05:53:09  *** kamnet [] has quit [Remote host closed the connection]
06:22:11  *** Hiddenfunstuff [] has joined #openttd
06:30:38  *** Biolunar [] has joined #openttd
06:42:26  *** sla_ro|master [slamaster@] has joined #openttd
07:00:32  *** supermop [] has joined #openttd
07:22:07  *** supermop [] has quit [Read error: Connection reset by peer]
08:06:04  *** OsteHovel [] has quit [Ping timeout: 480 seconds]
08:07:44  *** OsteHovel [] has joined #openttd
08:10:26  *** sla_ro|master [slamaster@] has quit []
08:10:56  *** Wolf01 [] has joined #openttd
08:11:33  <Wolf01> o/
08:18:49  *** OsteHovel [] has quit [Ping timeout: 480 seconds]
08:20:20  *** Speedy` [] has joined #openttd
08:20:27  *** OsteHovel [] has joined #openttd
08:20:39  *** Speedy` is now known as Speedy
08:21:03  *** Samu [] has joined #openttd
08:21:14  <Samu> hi
08:31:38  <Samu> Error! Out of memory: Cannot allocate 2359304 bytes.
08:42:27  <Samu> emergency save also crashes
08:43:07  <Wolf01> I think you are pushing it to the limits
08:43:27  <Samu> I wanted to find out the barrier
08:43:31  <Samu> it's 2 GB
08:43:39  <Samu> i can screenshot this for proof
08:48:25  <Samu>
08:48:40  <Samu> the answer i was looking for
08:48:53  <Samu> 2 GB is the barrier for the entire openttd.exe process
08:48:59  <Samu> 32-bits
08:52:56  <Samu> quite easy to reproduce
08:53:10  <Samu> download Terron AI
08:53:17  <Samu> start it 15x times on a giant map
08:53:27  <Samu> wait a few seconds, crash with out of memory
08:53:42  <Samu> 15x or 14x
08:54:19  <Samu> on the 64-bit, memory rises up to about 5.5 GB
08:54:26  <Samu> without crashing
08:55:00  <Wolf01> there might be a memory leak
08:55:21  <Samu> I don't think so, it's how terron works
08:55:29  *** OsteHovel [] has quit [Ping timeout: 480 seconds]
08:55:42  <Samu> it hoards memory
08:55:55  <Wolf01> just like chrome
09:02:46  *** Quatroking [] has joined #openttd
09:03:01  <Samu> - doing the same thing, but on 64-bit, terron doesn't seem to be leaking
09:03:13  <Samu> it stops, but requires huge amounts
09:14:14  *** OsteHovel [] has joined #openttd
09:43:48  *** JacobD88 [] has joined #openttd
10:09:21  <peter1138> have you finished yet? :p
10:28:11  <Eddi|zuHause> for weeks now i have been pondering whether i should remove people from my ignore list, but i think it's still correct that they are on it...
10:29:19  <Samu> 	if (!_networking) const SaveLoadFormat *def = lastof(_saveload_formats); else const SaveLoadFormat *def = &_saveload_formats[2];
10:29:28  <Samu> what is the * doing?
10:29:42  <Samu> *def
10:30:13  <Samu> that asterisk is ruining the next code lines with def
10:30:22  *** JacobD88 [] has quit [Quit: JacobD88]
10:33:16  <Samu> original code is: SaveLoadFormat *def = lastof(_saveload_formats)
10:33:19  <Samu> ;
10:33:26  <Samu> i want to add a condition
10:33:58  <Samu> if not networking, i want it to pick up another format
10:35:00  <Samu> or actually, if networking, pick up a different format than that of original code
10:39:44  <peter1138> so, vive or rift?
10:45:06  <Samu> Run-Time Check Failure #3 - The variable 'def' is being used without being initialized.
10:45:13  <Samu> english plz
11:02:47  <peter1138> It means the variable 'def' is being used without being initialized.
11:04:48  <Samu> peter1138:
11:05:20  <Samu> lzma preset 0 is considerably slower for what I'm intending to do
11:05:58  <Samu> lzma is format _saveload_formats[3], the last available format also
11:06:21  <Samu> i want to switch to zlib which is _saveload_formats[2]
11:06:26  <Samu> how do I make this switch?
11:39:10  <Wolf01> Eddi|zuHause: once I had an idiot on my ignore list, but then the replies of other people started to get interesting and I removed him from the list, and started to flame with him again
11:39:29  *** Nothing4You [] has joined #openttd
11:42:07  <Eddi|zuHause> that's usually why i don't have a lot of people on there as well
11:42:51  <Eddi|zuHause> but i still think i should keep this one, for my own sanity
11:43:18  <Wolf01> just ignore it.. oh wait
11:44:08  <Wolf01> btw... who's ddossing everything in europe?
11:45:15  <Eddi|zuHause> peter1138: all other conditions being equal, i'd go with the not-facebook one
11:45:51  <Eddi|zuHause> but i don't know if the conditions are equal
11:46:03  <Wolf01> iirc the vive costs 100€ more
11:46:23  <Wolf01> but it's less picky about the hardware
11:48:18  <Wolf01>
11:55:29  *** tycoondemon2 [] has quit [Ping timeout: 480 seconds]
11:56:03  *** tycoondemon [] has joined #openttd
12:04:30  <peter1138> funny how rift was going to be all opensource (software-wise) and support linux etc...
12:04:33  <peter1138> bzzzt
12:11:16  <Ketsuban> €100 sounds reasonable for not having unknown data being sent to Facebook's servers whenever the device is plugged in.
12:11:57  <Ketsuban> Though I'm not convinced VR in general is ready yet.
12:17:29  *** Snail [] has joined #openttd
12:17:33  *** tycoondemon [] has quit []
12:30:44  *** Supercheese [] has quit [Read error: Connection reset by peer]
12:31:19  *** Supercheese [] has joined #openttd
12:32:26  *** Biolunar [] has quit [Quit: leaving]
12:32:30  *** sla_ro|master [slamaster@] has joined #openttd
12:34:31  *** tycoondemon [] has joined #openttd
12:35:39  *** Klanticus [~quassel@] has joined #openttd
12:38:52  *** Klanticus_ [~quassel@] has quit [Ping timeout: 480 seconds]
12:40:39  *** Snail [] has quit [Quit: Snail]
12:48:59  <Samu> what's the difference betwen _network_server and _networking?
12:49:43  <planetmaker> one only relates to a server, the other to client and server
13:00:51  *** roidal [] has joined #openttd
13:07:44  *** sla_ro|master [slamaster@] has quit []
13:12:15  *** smoke_fumus [~smoke_fum@] has quit [Quit: KVIrc 4.2.0 Equilibrium]
13:20:23  <Samu> ah
13:21:08  <Samu> _networking means the host of the server
13:21:14  <Samu> we're hosting
13:21:18  <Samu> kinda like that?
13:34:20  <Samu> nope, i didn't understand the difference
13:53:38  <Samu> _do_autosave is returning false when a client in a server starts autosaving?
13:53:43  <Samu> hmm
13:53:47  <Samu> be4tter double check
14:17:04  *** Alberth [~alberth@2001:981:c6c5:1:be5f:f4ff:feac:e11] has joined #openttd
14:17:07  *** mode/#openttd [+o Alberth] by ChanServ
14:17:14  <Alberth> hi hi
14:25:18  <Samu> hey alberth
14:25:48  <Samu> why is _do_autosave = false when a client in a server starts autosaving?
14:25:49  *** sim-al2 [] has joined #openttd
14:26:27  <Samu> what is _do_autosave supposed to mean after all?
14:26:33  <Alberth> I didn't know that was the case
14:26:42  <Alberth> nor do I know what the variable does
14:27:07  <Alberth> my first guess is to prevent starting another save before this one ends
14:27:46  <Samu> but _do_autosave = true when the server starts autosaving
14:28:49  <Samu> bool _do_autosave;        ///< are we doing an autosave at the moment?
14:30:54  <Alberth> really, you have seen more about _do_autosave than I have
14:36:14  <Samu> client on a server starting autosave: _do_autosave = false, _network_server = false, _networking = true
14:40:22  *** supermop [] has joined #openttd
14:41:18  <Alberth> so look for the code that uses that variable
14:41:56  <supermop> yo
14:42:05  <Alberth> it probably protects something, so find out what it protects
14:42:11  <Alberth> oy supermop
14:44:22  <Samu> what led me to checking this was because when the server was too fast at autosaving, the client wasn't keeping up, because it was using a different saving encoder. I don't really get this stall though, there's either something wrong in the code, or I don't get it
14:45:52  <Samu> this is when both server and client have autosave enabled
14:46:44  <Samu> the client has to wait for the entire saving process to finish before it un-stalls
14:47:09  *** Xaroth [] has quit [Ping timeout: 480 seconds]
14:48:23  <Samu> i thought the encoding was processed in a separate thread
14:48:47  <Alberth> you need a copy of the map too
14:49:53  <Samu> yes, both get to that part at nearly the exact time, given I'm testing both server and client on the same rig
14:50:09  <Samu> but the encoding part.... is behaving different
14:52:12  *** Xaroth [] has joined #openttd
14:56:17  <Samu> what I've solved so far was, getting rid of the encoding stall for the server, I picked no compression for server autosaves. The memory copy stall that you mention is before it sends it to the "no compression" filter. When it gets to this part, it basically just writes to the file in the disk. This is the where it should start a different thread, right?
14:57:34  <Samu> better double check again,
14:57:37  <Samu> brb
14:58:44  *** roidal [] has quit [Quit: WeeChat 1.4]
15:02:46  *** Geth [] has joined #openttd
15:03:20  *** Geth [] has quit []
15:05:51  <Samu> ok, re-checked
15:06:51  <Samu> i get different autosave behaviours, depending on the game mode
15:07:14  *** Hiddenfunstuff [] has quit [Ping timeout: 480 seconds]
15:07:56  <Samu> in single player, autosave stalls for the memcopy part, but then for the encoding part, it does not stall. it keeps encoding while the game still runs
15:08:54  <Samu> in a server game, as a server, autosave stalls for the memcopy part, and is still stalling for the encoding part, it only un-stalls when the encoding finishes. This is bad especially if the encoder is slow.
15:09:35  <Samu> in a server game, as a client doing autosave, I am not sure... must check
15:09:38  <Samu> brb
15:12:46  <Alberth> stalling server isn't bad, clients will pause too
15:16:13  <Samu> it's bad when the encoder takes like 20+ seconds, clients will drop because it didn't receive answer from the server ( server was still encoding)
15:18:03  <Samu> and dont' get confused, this is autosave, not about sending the map to client. it's a server with autosave enabled
15:23:14  <Samu> got the results
15:23:59  <Samu> in a server game, as a client doing autosave, it stalls for the memcopy part, it unstalls for the encoding part. client is still saving while the game is running
15:24:07  <Samu> so, the issue is indeed autosave for the server only
15:25:30  <Samu> save completed, client didn't drop from the game
15:25:38  <Samu> good :)
15:25:51  <Samu> i've even set the strongest compression method just to be sure
15:27:38  *** Wormnest [] has joined #openttd
15:31:37  *** MonkeyDronez [~Monkey@] has joined #openttd
15:36:02  *** CompuDesktop [] has joined #openttd
15:40:20  *** Compu is now known as Guest506
15:40:21  *** CompuDesktop is now known as Compu
15:41:06  *** Guest506 [~Compu@2604:6000:120a:806e:54a3:95da:7df1:1c6a] has quit [Ping timeout: 480 seconds]
15:41:31  <Samu> 			if (_network_server || !_settings_client.gui.threaded_saves) threaded = false;
15:41:42  <Samu> i bet it's this
15:42:27  <Samu> it's a network server, it's setting threaded = false for some reason, I wonder why is it being forced to false
15:43:46  *** TheMask96 [] has quit [Ping timeout: 480 seconds]
15:46:48  <Samu> must investigate this better
15:47:25  *** TheMask96 [] has joined #openttd
15:49:47  <Rubidium> to prevent client-join-save and autosave from interfering?
15:52:23  <Samu> i see, so autosave must be interrupted when a client joins
15:52:51  <Rubidium> or it should wait till autosave completed
15:53:02  <Samu> yes that's what I was thinking too
15:54:26  <Rubidium> though technically it should not be needed anymore since the rewrite I did to send the savegame data before compression finished
15:55:20  <Rubidium> but that still requires some work and checking I guess, as you want to prevent a sort of fork-bomb with saving (if saving, i.e. compressing, takes longer than processing a month of game state)
15:57:30  <Samu> the idea i initially had for server autosaving was using the fastest compression method possible, until I found this
16:00:26  <Samu> maybe the idea could still be applied here
16:01:50  <Samu> in my rig, saving with zlib preset 2 takes 6 seconds, after the memcopy part, on a map sized 4096x4096
16:02:16  <Samu> should be fast enough for monthly autosaves
16:02:41  <Samu> memcopy is about 4-5 seconds
16:07:49  *** sim-al2 [] has quit [Ping timeout: 480 seconds]
16:51:45  *** MonkeyDronez [~Monkey@] has quit [Read error: Connection reset by peer]
17:03:55  *** Progman [] has joined #openttd
17:06:41  <Wolf01> so, I just resurrected one pc with ubuntu... as every time forcing the update of the packages resolved the problem
17:13:39  *** Wolf03 [] has joined #openttd
17:13:40  *** Wolf01 is now known as Guest512
17:13:40  *** Wolf03 is now known as Wolf01
17:13:59  <Wolf01> and for the second time today, the router decides to cut off the lan
17:14:28  <Alberth> you ceased to exist for just a moment!
17:14:42  <Wolf01> :o
17:14:51  <Wolf01> you all too
17:14:52  <Alberth> maybe the world re-aligned with you :)
17:19:32  *** sim-al2 [] has joined #openttd
17:21:01  *** Guest512 [] has quit [Ping timeout: 480 seconds]
17:29:45  <supermop> office is so cold
17:30:01  <Wolf01> like my life
17:30:37  *** glx [] has joined #openttd
17:30:40  *** mode/#openttd [+v glx] by ChanServ
17:36:55  *** andythenorth [] has joined #openttd
17:36:59  <Alberth> o/
17:37:10  <Wolf01> o/
17:38:55  <supermop> 0\
17:39:46  <Wolf01> try not to /0
17:40:37  <supermop> upside down man?
17:41:03  <Wolf01> divide by 0
17:41:08  *** Arveen [] has joined #openttd
17:45:14  *** sim-al2 [] has quit [Quit:  HydraIRC -> <- Po-ta-to, boil em, mash em, stick em in a stew.]
17:45:44  <DorpsGek> Commit by translators :: r27539 trunk/src/lang/hebrew.txt (2016-04-14 19:45:35 +0200 )
17:45:45  <DorpsGek> -Update from Eints:
17:45:46  <DorpsGek> hebrew: 66 changes by dnd_man
17:51:01  *** frosch123 [] has joined #openttd
17:54:24  <andythenorth> quak
17:54:30  <andythenorth> also o/
17:54:37  <supermop> work making it had to concentrate on this podcast
17:54:38  <Alberth> quak
17:55:49  <frosch123> hoi
17:55:59  *** sim-al2 [] has joined #openttd
18:01:54  *** aard [] has joined #openttd
18:04:31  *** HerzogDeXtEr [] has joined #openttd
18:08:25  <Eddi|zuHause> i can never listen to anything without concentrating on it completely
18:08:52  <Eddi|zuHause> as soon as i focus on somehting else, it turns into unintelligible blahblah
18:11:56  *** sla_ro|master [slamaster@] has joined #openttd
18:16:26  *** funnel [] has quit [Ping timeout: 480 seconds]
18:25:55  *** funnel [] has joined #openttd
18:34:07  * andythenorth ponders
18:34:55  *** zeknurn` [] has joined #openttd
18:37:26  <Wolf01> "Man accidentally 'deletes his entire company' with one line of bad code"... rm -rf, not code but command, bad article is bad
18:38:22  <andythenorth> oh that one
18:38:28  <andythenorth> could happen to anyone
18:39:01  <andythenorth> better avoided though :P
18:39:56  *** zeknurn [] has quit [Ping timeout: 480 seconds]
18:39:56  *** zeknurn` is now known as zeknurn
18:42:02  <Wolf01> "Mr Marsala confirmed that the code had even deleted all of the backups that he had taken in case of catastrophe." <- is he an evil genius?
18:44:31  <frosch123> maybe he just likes to talk about the empty set
18:44:59  *** sim-al2 [] has quit [Ping timeout: 480 seconds]
18:45:33  <andythenorth> he had the backup volumes mounted
18:45:58  <andythenorth> I don’t want to tempt fate here, but the story I read, he is running some kind of backup maintenance / pruning script
18:46:39  <Eddi|zuHause> Wolf01: is that this thing?
18:46:48  <Eddi|zuHause> that looks rather fake to me
18:46:48  <andythenorth> I have learnt the hard way that ‘backup maintenance’ is a synonym for ‘backup loss'
18:47:12  <andythenorth> I thought it was fake, but he has other postings
18:47:24  <Wolf01> I can do only one of these things: nuke my machine | nuke the backups... if I manage to do them both at the same time I'm the king of idiots
18:47:26  <andythenorth> and with ansible, what he describes is highly plausible
18:47:38  <andythenorth> Wolf01: don’t tempt fate :P
18:48:00  <Wolf01> my machine doesn't do backups, it's another machine which logs to my machine and backups everything
18:48:16  <Wolf01> so I can't nuke the backup while nuking my machine
18:48:49  <Eddi|zuHause> there are lots of cases where the backup ticked in after wiping everything, wiping also the (non-incremental) backups
18:48:56  <andythenorth> unless you write a script to ‘maintain’ the backup Wolf01 :P
18:49:04  <andythenorth> and do it wrong
18:49:23  <Wolf01> yes, in that case I'll nuke the backups, but not my machine
18:49:43  <Eddi|zuHause> andythenorth: what broke the story for me is the comment at the bottom where he says "i switched if and of"... that can only be a troll...
18:49:47  <Wolf01> you can't nuke something which is readonly
18:49:58  <Wolf01> and indeed, that's a troll :)
18:50:00  <andythenorth> Eddi|zuHause: it did seem to go from bad to worse :)
18:50:13  <andythenorth> Wolf01: some people don’t have readonly or append only backups :P
18:50:29  <andythenorth> they go in and selectively delete, according to rules
18:52:30  <Eddi|zuHause> there was one time where i mistyped "cmp" as "cp" and only noticed halfway through... but i don't think it destroyed any data, since they were meant to be the same anyway
18:53:22  <andythenorth> sync with src and dst swapped is the mistake I have made more than once :P
18:55:56  <Wolf01> I dd'ed the boot partition from HDD the wrong way... the destination to the source, but I had a backup file
18:57:25  *** gelignite [] has joined #openttd
18:59:59  <glx> luckily not backuped the wrong way ;)
19:01:18  <Wolf01> this is really bad
19:13:16  <peter1138> oh, not cisco ios
19:13:54  *** aard [] has quit [Read error: Connection reset by peer]
19:18:26  <andythenorth> that is quite novel
19:38:03  *** Myhorta [] has joined #openttd
19:42:01  *** gelignite [] has quit [Quit:]
19:42:32  <supermop> new shinkansen idea:
19:42:33  <supermop>
19:48:28  *** frosch123 [] has quit [Quit: be yourself, except: if you have the opportunity to be a unicorn, then be a unicorn]
19:50:35  *** sim-al2 [] has joined #openttd
20:10:03  <Samu> some help needed.openttd can't have more than 1 DoSave running at the same time
20:10:16  <Samu> it could, if i knew how to code lol
20:11:59  <Samu> saves for the autosave and saves for the client joining, do both at the same time
20:12:44  <Samu> and could even save for the manual save, a 3rd instance
20:14:13  *** Supercheese [] has quit [Quit: Valete omnes]
20:15:17  *** Biolunar [] has joined #openttd
20:16:51  *** Ketsuban [~ketsuban@2a02:c7d:a34a:9000:b5ac:5cf2:7bb3:a4f] has quit [Quit: Leaving]
20:18:27  <Samu> network is immediately sending a DoSave directly without checking if a save is currently occurring :(
20:19:04  <Samu> guess it needs some coding here
20:24:31  *** andythenorth [] has left #openttd []
20:24:58  *** Arveen [] has quit [Read error: Connection reset by peer]
20:25:48  *** Netsplit <-> quits: _dp_, ConductorCat, strohalm, Speedy, NGC1, @Belugas, sim-al2, Smedles, Extrems
20:25:55  *** Netsplit over, joins: strohalm
20:26:22  *** Netsplit over, joins: ConductorCat
20:26:22  *** Alberth [~alberth@2001:981:c6c5:1:be5f:f4ff:feac:e11] has left #openttd []
20:27:03  *** Netsplit over, joins: NGC1, Extrems, _dp_
20:27:21  *** Netsplit over, joins: sim-al2
20:27:33  *** Netsplit over, joins: Smedles
20:29:04  *** sla_ro|master [slamaster@] has quit []
20:30:52  *** Speedy` [] has joined #openttd
20:31:05  *** Speedy` is now known as Speedy
20:33:03  *** Belugas [~belugas@] has joined #openttd
20:33:06  *** mode/#openttd [+o Belugas] by ChanServ
20:40:27  <peter1138> hi
20:40:40  <supermop> yo
20:46:59  <Samu> hey, this is hard :(
20:47:29  <Samu> NetworkRecvStatus ServerNetworkGameSocketHandler::SendMap()
20:48:15  <Samu> this function must force the client to wait in the queue if the server is currently performing a save
20:49:09  <Samu> wait for the save to end, then once it gets there, start sending the map
20:49:38  <Samu> complicated indeed
21:33:17  *** Progman [] has quit [Remote host closed the connection]
21:46:17  *** JacobD88 [] has joined #openttd
22:20:46  *** supermop [] has quit [Ping timeout: 480 seconds]
22:21:25  *** supermop [] has joined #openttd
22:26:39  *** Biolunar [] has quit [Ping timeout: 480 seconds]
22:33:01  *** zeknurn [] has quit [Read error: Connection reset by peer]
22:33:42  *** zeknurn [] has joined #openttd
22:52:58  *** Wormnest [] has quit [Quit: Leaving]
23:08:03  *** LadyHawk- [] has joined #openttd
23:08:52  *** JacobD88 [] has quit [Quit: JacobD88]
23:10:25  <Wolf01> 'night
23:10:28  *** Wolf01 [] has quit [Quit: Once again the world is quick to bury me.]
23:11:07  *** LadyHawk- [] has quit [Read error: No route to host]
23:11:18  *** LadyHawk- [] has joined #openttd
23:13:11  *** LadyHawk [] has quit [Ping timeout: 480 seconds]
23:13:51  *** LadyHawk- [] has quit [Read error: No route to host]
23:13:59  *** LadyHawk [] has joined #openttd
23:17:44  *** tokai [] has joined #openttd
23:17:47  *** mode/#openttd [+v tokai] by ChanServ
23:24:41  *** tokai|noir [] has quit [Ping timeout: 480 seconds]
23:30:51  <Samu> the _do_autosave bool is misleading
23:31:43  <Samu> it never returns true when I most need it to return true :(
23:48:27  *** sim-al2 [] has left #openttd []
23:48:40  *** sim-al2 [] has joined #openttd

Powered by YARRSTE version: svn-trunk