Luanti logo

IRC log for #luanti, 2025-11-30

| Channels | #luanti index | Today | | Google Search | Plaintext

All times shown according to UTC.

Time Nick Message
00:20 * mrcheese ends up too late for the game jam :P
00:20 user333_ by 40s iirc
00:21 mrcheese something like that ;-;
00:21 MTDiscord <wsor4035> by 2 minutes
00:21 MTDiscord <wsor4035> well technically 24h2m
00:21 MTDiscord <wsor4035> the 24h was for getting it approved, not getting it in
00:22 mrcheese lol fair
00:22 mrcheese note to self: dont try to figure out how to use ContentDB while you have 5 minutes left ;-;
00:24 SFENCE joined #luanti
00:26 mrcheese tbh the game was kinda badly put together (it was not a good game by any standard ;-;)
00:26 MTDiscord <greenxenith> You have some license issues to fix but if you can address them in like a minute flat and no one scores anything in the meantime, you might be able to sneak in
00:27 mrcheese yea i was hoping that wasnt gonna happen (was trying to figure out this and that. safe to say trying to get it ready was a pain)
00:28 MTDiscord <greenxenith> I think all you need to change is select LGPL on CDB and add a line to the readme prompting to reference the MTG files for licenses and it can probably be approved
00:30 MTDiscord <greenxenith> And if you can do that in the next few minutes, you might get lucky
00:36 mrcheese ok set the license to LGPL-2.1-or-later and added "see respective mods readme/license files for more information" to the readme. is that sufficient?
00:36 MTDiscord <greenxenith> @wsor
00:37 MTDiscord <wsor4035> needs to be in the license file
00:38 mrcheese ? (yea sorry. first time doing this stuff)
00:38 MTDiscord <greenxenith> Add the "see respective licenses" thing to the license file
00:39 MTDiscord <greenxenith> chop chop
00:39 MTDiscord <wsor4035> "see respective mods readme/license files for more information" to line 23 of https://github.com/IonicCheese/superposition/blob/main/LICENSE
00:40 mrcheese ook got that added
00:44 MTDiscord <greenxenith> mrcheese: Since only you had rated anything on the rating page so far, your package is able to sneak in, and I dont have to go to the trouble of editing the backend/frontend to filter your package out. The cost is you will need to redo whatever ranking you had done. Fair trade, I think
00:45 mrcheese fair enough
00:45 mrcheese thanks for getting it approved though :)
00:57 kamdard joined #luanti
01:12 SFENCE joined #luanti
01:32 SFENCE joined #luanti
01:49 runxiyu joined #luanti
01:51 user333_ you can thank me for that game's terrible flashlight texture
01:53 fluxionary joined #luanti
02:04 mrcheese xD
02:04 mrcheese i mean. it works xD
02:36 ___nick___ joined #luanti
02:40 ___nick___ joined #luanti
02:46 mrcheese joined #luanti
03:34 sparky4 joined #luanti
04:13 SFENCE joined #luanti
04:17 SFENCE_arch joined #luanti
04:41 SFENCE joined #luanti
05:00 MTDiscord joined #luanti
05:12 cheapie hydraulic piston *nods* https://cheapiesystems.com/media/2025-11-29%2023-11-17.webm
05:57 SFENCE joined #luanti
08:13 SFENCE joined #luanti
08:19 YuGiOhJCJ joined #luanti
08:19 FeXoR joined #luanti
08:20 MTDiscord <et086> amazing
08:26 SFENCE joined #luanti
08:37 VinAdmin joined #luanti
08:44 VinAdmin joined #luanti
09:15 mrcheese joined #luanti
09:15 mrcheese joined #luanti
09:22 Warr1024 joined #luanti
09:47 Warr1024 joined #luanti
10:12 mrkubax10 joined #luanti
10:27 SFENCE joined #luanti
10:39 repetitivestrain joined #luanti
11:01 repetitivestrain luatic: why don't you consider reimplementing LuaJIT string buffers and the LuaJIT serializer for PUC Lua, rather than string.pack?
11:01 repetitivestrain Hmm
11:02 repetitivestrain luatic7: what was said above, and to continue, it's much more performant under luajit and is well optimized for luajit's ffi facilities
11:02 repetitivestrain which, despite not being available to secure mods, is still quite availing in luanti modding
11:21 jaca122 joined #luanti
11:27 SFENCE joined #luanti
11:52 Talkless joined #luanti
12:26 mrkubax10 joined #luanti
12:59 runxiyu joined #luanti
13:08 fuckfuck joined #luanti
13:17 ireallyhateirc joined #luanti
13:27 cx384 joined #luanti
13:33 mrkubax10 joined #luanti
13:40 Sharpman joined #luanti
13:54 Sharpman joined #luanti
13:57 PoochInquisitor joined #luanti
13:58 MinetestBot [git] cx384 -> luanti-org/luanti: Move SoundMaker out of game.cpp and some refactoring (#16703) d1ec7a9 https://github.com/luanti-org/luanti/commit/d1ec7a9356fe9593ebea07136a80c1c74b464973 (2025-11-30T13:57:44Z)
13:59 noname1234 joined #luanti
14:00 noname1234 What do you think about modern Minecraft?
14:00 noname1234 I haven't played modern Minecraft for years now!
14:03 noname1234 The problem is: it was currently owned by Microsoft and someone trying to made this game even worse than before
14:07 repetitivestrain noname1234: then play mineclonia haha
14:07 erle noname1234 if you want something like that, go play mineclonia. if you have a *really* beefy PC, set the mapgen to “singlenode”, allegedly halon made a mapgen that is EXACTLY LIKE MINECRAFT (though i do not have any computer good enough to test it i think).
14:08 erle noname1234 if you want an anarchy server experience, go join oysterity. it's one of the few servers where it becomes painfully obvious that the map is too small for true PvP play (because you can't hide well unless you do it in the end sky or so).
14:14 noname1234 repetitivestrain: I don't have enough time to play mineclonia
14:15 repetitivestrain noname1234: how would it place more demands on your time than other games, or microsoft minecraft?
14:16 noname1234 repetitivestrain: i don't play games mostly
14:16 repetitivestrain hmm, but what prompted you to ask us for our Views on minecraft
14:19 Krock what is minecraft
14:21 noname1234 Krock: sandbox video game created by mojang and it was created in 2009 by notch
14:21 MTDiscord <rollerozxa> this minecraft thing sounds interesting, wonder if it will ever take off
14:24 repetitivestrain i think it's time i took a moment to remind all and sundry what is realizable with client side modding: https://streamable.com/0aoqbf
14:26 repetitivestrain to, i hope, motivate people to direct more attention towards sscsm, and once that is in place, perhaps adopting the APIs mineclonia's client side mod requires
14:27 erle rollerozxa non-free software, no lua modding
14:27 erle repetitivestrain have you looked into the openra traits system by now?
14:28 repetitivestrain erle: no, not yet
14:29 repetitivestrain however, i stand by my opinion that no declarative system is capable of substituting for client-side modding
14:29 erle yes, it looks unclean. like the firing mode of the tesla coil and obelisk of light is a single trait (for two buildings), not used anywhere else i think (maybe for the tesla tank? idk, it's about the charging sounds and animation, the thing powers down if the target gets out of range). but it is very interesting how they *have* lua scripts but only need it for the most convoluted minigames, not for the main tasks.
14:30 repetitivestrain particularly when it is necessary to implement unanticipated technical facilities on the client
14:30 erle repetitivestrain and i stand by my opinion that you should always use the system that gets you to your target with the least amount of computational power invested
14:30 erle repetitivestrain when you get to it, check out the base openra game, then check out combined arms. it has implemented new traits.
14:31 erle repetitivestrain have you read the LANGSEC papers? and “web architecture from 10k feet” by the OG web developer tim berners-lee?
14:33 repetitivestrain erle: no, i don't develop for the web, i am just a lowly staff engineer who hacks on miscellaneous components of C programs for a living, and emacs and luanti games as a pastime
14:33 erle repetitivestrain as an example: when someone does layout or animations on web pages with js it's usually overengineered and worse performance than doing it with CSS/SVG. unless you do stuff like an n-body simulation where you can add random bodies. can't do that in a declarative system.
14:34 repetitivestrain but i have observed in the course of implementing all of minecraft's features in mineclonia that it is not feasible to anticipate every requirement that a game might pose ahead of time
14:35 repetitivestrain and that most of my energy was devoted to onerously implementing facilities in the engine or in lua that no one could possibly have conceived of in advance
14:36 erle repetitivestrain that's trivially true, but also “we can't anticipate everything, so we need a turing complete system” gets you to places where everything is possible but nothing is performant or secure.
14:36 repetitivestrain e.g., fixed dtimes in the main game loop with intervening frames created through interpolation
14:36 erle that's a pretty classic game engine thing
14:36 repetitivestrain transferring biome data from two independent and incompatible biome systems to the client
14:36 erle like, A LOT of engines have it
14:36 repetitivestrain Luanti doesn't
14:37 erle the biome thing is part of “this grew organically, no requirements engineer ever worked it out before implementation” i'd argue
14:37 erle repetitivestrain i don't want to argue much rn, but i suggest to read Security Applications of Formal Language Theory https://langsec.org/papers/langsec-tr.pdf and https://langsec.org/papers/langsec-tr.pdf http://langsec.org/papers/langsec-cwes-secdev2016.pdf
14:37 repetitivestrain or, just today, deterministically spawning particles around a player into a vertex buffer on each frame to give the appearance of motion
14:37 erle repetitivestrain you do not have to agree with me or the authors, but it *will* make you a better developer if any of it is new to you
14:39 erle (reading and understanding both papers is worth about 3 months of code review by a senior dev)
14:39 erle (who is on the same project)
14:40 repetitivestrain all of these required modifications to the engine's C++ and facilities to support them in mcl_localplayer, and granted, these requirements are now known and could be exposed declaratively, but it will not be possible to accommodate the next developer to encounter a requirement that was not
14:42 noname1234 left #luanti
14:42 repetitivestrain erle: i would just recommend reading https://codeberg.org/halon/mcl_localplayer/ and the very eclectic improvements upon the engine in https://codeberg.org/halon/Minetest, and considering whether or not it would be feasible for engine developers, having no prior knowledge of these facilities, to provide for this mod's functionality by declarative server-side means
14:47 erle repetitivestrain “it will not be possible to accommodate the next developer to encounter a requirement that was not” – good systems do precisely that, bad systems do not.
14:48 erle repetitivestrain you might know about signal messenger. the signal main dev was like “federation is bullshit, you can't innovate with that” – and yet, there exist dozens of interoperable XMPP-based messengers and a lot of games use it as in-game chat etc. – you just have to accept that you don't have central control (motivated reasoning here).
14:49 erle repetitivestrain i do agree though that with the, uh, way APIs in luanti are designed you are probably not going to get anything, because “this is easy to implement” is often prioritized over anything else.
14:49 repetitivestrain erle: like i said, how would you propose that luanti accommodate, declaratively, a biome system that does not exist in the engine and requires that biome data be read from mod storage on the server, transferred to clients in units of 64-byte strings, and deciphered and randomized with reference to the level's seed by a singular algorithm, all of which are, i emphasize, nonexistent in the engine
14:49 erle repetitivestrain what's the deal with the 64 byte strings?
14:49 repetitivestrain it's the run-length encoded format in which compressed biome data is saved in mod storage
14:50 erle repetitivestrain i am not a domain expert on biome systems, so i doubt i can come up with a good proposal right now. but just from a cursory look, your requirements look not abstract enough to me,.
14:50 repetitivestrain in minecraft and in mcl_levelgen, biome data is generated with each chunk and recorded permanantly so that biomes in existing chunks may remain intact after upgrades that modify the biome map
14:51 erle repetitivestrain now *that* is a solid abstract requirement
14:51 repetitivestrain erle: they can't be generalized because the requirements are _very exacting_
14:51 erle well the general thing you probably already know you want is “give me a facility for chunk meta analogous to node meta”
14:52 repetitivestrain they must be carried out to the letter so that the biome data as viewed by the client may be exactly identical to the biome data as viewed by a minecraft client at the same position and with the same seed
14:52 erle like, that seems like it is a part of a solution, or not?
14:52 repetitivestrain erle: i have already proposed this, but how do you propose to generalize this algorithm?
14:53 repetitivestrain https://codeberg.org/mineclonia/mineclonia/src/commit/main/mods/MAPGEN/mcl_levelgen/biomes.lua#L6853
14:54 erle repetitivestrain as i have said, i am not a domain expert. you may be, idk. but being a domain expert IMO doesn't actually matter much unless you are a core developer, as you can see from a bunch of things (query me about it if you want evidence, i don't want to spam this channel).
14:55 erle repetitivestrain i think you learning about how other games have abstracted it and about LANGSEC is a more promising idea than me trying to gain the domain knowledge.
14:55 repetitivestrain erle: that's the reason i'm posting my requirements and my results here
14:55 repetitivestrain other games aren't attempting to clone minecraft unto the last block
14:56 erle this is btw how i always acted when doing corporate workshops: try to teach some new techniques to the people who *already* know the domain, but might see some useful things in the general techniques i am presenting.
14:56 erle repetitivestrain openra is an RTS engine.
14:56 erle repetitivestrain have you read the AOSA books? they are useful too
14:56 erle repetitivestrain architecture of open source applications
14:57 erle afk now, eating and playing heroes of might and magic III
14:57 erle :3
14:57 repetitivestrain erle: that it may be, but i am confident in stating categorically that you cannot reproduce minecraft player physics in openra by purely declarative means
14:57 erle it's a 2D RTS, not a 3D block game
14:58 erle also that proves nothing useful
14:58 repetitivestrain why not?
14:58 erle repetitivestrain btw, i understand that having different use cases is better for generalizing. like if you compare contentdb (luanti) to BaNaNas (openttd) to whatever wesnoth uses, you'll probably have some insights. but even with a single domain you *can* figure out some things.
14:59 erle repetitivestrain because as i said, you only need to make a system as powerful as it needs to be to fulfil the tasks. read the LANGSEC papers for why.
14:59 repetitivestrain recreating minecraft is a very apposite application for a program that is, for good or ill, minecraft's only viable competitor
15:00 repetitivestrain erle: it's not possible without specifically programming mechanics designed for the purpose of emulating minecraft into the engine, which would be justly repugnant to luanti core developers
15:01 repetitivestrain with client-side modding, it is possible to incorporate only the truly general facilities into the engine
15:01 MTDiscord <a.corp.serot> what are you guys conversing about? like how does langsec applies to luanti?
15:02 repetitivestrain while devolving the responsibility for reproducing minecraft's mechanics on me
15:02 MTDiscord <a.corp.serot> (i've read the general strokes of the paper. i'm just not seeing the connection)
15:02 repetitivestrain erle's arguing against CSMs
15:02 MTDiscord <luatic> repetitivestrain: the point of string.pack/string.unpack is a somewhat simple API to read/write binary data
15:02 MTDiscord <luatic> luajit string buffers do not quite solve the same problem, do they?
15:02 repetitivestrain luatic: luajit's _serializer_, which writes into string buffers, does
15:03 [MatrxMT] <birdlover32767> ive seen lots and lots of ai generated assets on this game jam
15:03 repetitivestrain https://luajit.org/ext_buffer.html#serialize
15:03 [MatrxMT] <birdlover32767> also been seeing them in general
15:03 MTDiscord <luatic> repetitivestrain: no, but that's a slightly different problem?
15:03 MTDiscord <a.corp.serot> repetitivestrain: so what, erle wants a restrictive DSL instead of lua?
15:03 MTDiscord <luatic> it's serialization of lua data structures
15:03 repetitivestrain and primitives, such as numbers, into binary data
15:05 repetitivestrain it is string.pack, only without forcing you to define your data's format as a format string, and i think substantially more performant than the serialization facilities currently available in the engine
15:05 repetitivestrain though i can't attest to how it compares with string.(un)pack, as i have not benchmarked the two
15:05 MTDiscord <luatic> i do see that it is valuable for lua value serialization, but that's not exactly what i would use string.pack for
15:06 MTDiscord <luatic> string.[un]pack is for when you have some fixed binary format you need to comply with
15:06 MTDiscord <luatic> and i do not see how string buffers help with that
15:08 repetitivestrain Hmm
15:08 repetitivestrain you have a point
15:12 MTDiscord <luatic> for SSCSM, might want to take a look at https://github.com/luanti-org/luanti/pull/15818, that's where it's currently headed
15:13 MTDiscord <luatic> the plan is that SSCSMs will run in a separate process, and only interact with the main game process via an event loop
15:18 SFENCE joined #luanti
15:23 repetitivestrain luatic: hmm, has anyone measured the performance impact of doing so?
15:29 sfan5 how would you do that?
15:33 repetitivestrain sfan5: benchmarking the overhead incurred by an rpc roundtrip and multiplying the same by the number of luanti API calls my csm issues every globalstep
15:33 repetitivestrain and deciding whether the product is acceptable
15:33 silverwolf73827_ joined #luanti
15:33 repetitivestrain one moment
15:34 sfan5 the result may be interesting but this requirement is not negotiable
15:41 repetitivestrain well, if the overhead (which has not yet been measured) isn't adequate, then the corollary is that sscsm will not be capable of realizing many of the functions that are expected of it...
15:42 repetitivestrain anyway mcl_localplayer issues 6 to 98 calls to functions in the core table per globalstep, with a median of 12
15:43 ireallyhateirc nice wall of text
15:43 ireallyhateirc @grok make a summary of the above
15:43 sfan5 IIRC the ipc latency was already discussed in some PR and it turned out to be in the order of microseconds
15:44 repetitivestrain that's not bad at all
15:44 repetitivestrain if it's just microseconds it should absolutely be possible for mineclonia to adopt sscsm once it's available
15:46 SFENCE joined #luanti
16:04 mrkubax10 joined #luanti
16:19 SFENCE joined #luanti
17:05 SFENCE joined #luanti
17:21 m33 joined #luanti
17:48 SFENCE joined #luanti
18:24 SFENCE joined #luanti
18:25 erle rubenwardy what would need to be changed about contentdb so it could host CSMs?
18:25 rubenwardy CSMs would first need to become supported by the engine rather than experimental
18:26 rubenwardy from the ContentDB side, it's just adding a new package type
18:27 rubenwardy something like worlds/schematics would be more complicated as it's drastically different
18:27 erle wdym supported by the engine? the CSM functions are *very* lacking compared to dragonwire, waspsaliva and whatever that cheater team with the bugged backend had come up with … but i managed to use intiface to get rumble feedback every time a player was damaged. and i have read about people doing stuff with 3D audio (engine tells you where the player is).
18:27 erle dragonfire
18:28 erle like, vanilla CSMs have been used for a loooooong time
18:28 MinetestBot [git] cx384 -> luanti-org/luanti: Rename hud.h/cpp to hud_element.h/cpp dc48f98 https://github.com/luanti-org/luanti/commit/dc48f98a20d002a395cd36e4925389e1e00c1b87 (2025-11-30T18:26:22Z)
18:28 MinetestBot [git] cx384 -> luanti-org/luanti: Rename sound.h to sound_spec.h 5a799b9 https://github.com/luanti-org/luanti/commit/5a799b9b248ca63b0b7cb73f87b91a8fc3e55249 (2025-11-30T18:26:22Z)
18:28 MinetestBot [git] cx384 -> luanti-org/luanti: Move serialisation code out of sound_spec.h d4c3529 https://github.com/luanti-org/luanti/commit/d4c3529af7b1a57b3e6af836ba9d79a91eaec0c9 (2025-11-30T18:26:22Z)
18:28 rubenwardy https://github.com/luanti-org/luanti/blob/master/doc/client_lua_api.md#introduction
18:28 erle rubenwardy you mean a client GUI?
18:28 rubenwardy CSMs are experimental and unsupported, there's no client GUI or guarantees on the aPI
18:29 ireallyhateirc luanti moment
18:30 erle yeah lol
18:31 erle functionality can not change for years, but as developers declare it “experimental”, they reserve the right to be the pontius pilate of API design
18:32 erle also the last time i tried to add a CSM client GUI via a mod the result was that it is now no longer possible to change the main menu via a mod ._.
18:33 erle rubenwardy so what would you say could be some steps to making CSMs non-experimental and supported?
18:35 rubenwardy https://github.com/luanti-org/luanti/issues/16005
18:37 erle > There seem to have been no major CSM API features in recent years […]
18:39 erle maybe because everyone who *does* implement new CSM APIs has some suspicions about it getting into luanti?
18:39 erle given that there are entire servers with CSM-built rail systems … (no cheating here, users still need to dig the resources out of the ground)
18:41 erle auto-eat, tracers, “rotate me exactly that way”, “go to this position i have put a waypoint on”, “log every particle spammer in a CSM so that we can remove possible infoleaks”
18:42 erle like yeah, if you don't accept the new functionality that people are willing to implement (and are using right now), there won't be any new functionality
18:45 Guest26 joined #luanti
18:47 BuckarooBanzai4 rubenwardy: fyi, i'm getting timeouts on http://content.luanti.org
18:47 rubenwardy I'm being DDOSed
18:47 BuckarooBanzai4 welcome to the club :D
18:47 BuckarooBanzai4 that bad?
18:49 SFENCE_arch What somebody need to DDOS contentdb ? :D
18:49 rubenwardy I'm getting requests from 900 unique ip addresses from Sogou web spider/4.0(+http://www.sogou.com/docs/help/webmasters.htm#07)
18:49 rubenwardy many 100s per second
18:50 rubenwardy updating iptables did nothing, probably conflicting with ufw
18:50 Guest26 uwf? ubuntu host?
18:51 ireallyhateirc perhaps Microsoft sent its minions
18:51 ireallyhateirc or someone is just testing their botnet lol
18:51 BuckarooBanzai4 a short term "solution" would be to filter the requests by user-agent, not really something for the long-term though
18:52 rubenwardy okay ufw is slow at adding 900 rules
18:53 BuckarooBanzai4 anubis has some user-agent anti-bot rules if you want to go down that route
18:53 sfan5 ufw feeds into iptables
18:53 SFENCE joined #luanti
18:55 rubenwardy okay back online
18:55 Guest26 is it nginx? you can configure a 444 response based on user agent
18:56 rubenwardy I've blocked the ip addresses and also the user agent via nginx
18:56 Guest26 ayee
18:56 rubenwardy it looks it's rotating to other ip addresses now
18:56 BuckarooBanzai4 nice, thanks for hosting/supporting the cdb btw ❤️
18:58 rubenwardy ❤️
18:59 erle rubenwardy idk what it was called, but a friend of mine once had a setup where accessing a common filename that was never linked anywhere (think wordpress login or so) would trigger a ban. ig that's one way to keep out misbehaving bots.
18:59 rubenwardy fail2ban
18:59 erle i only noticed because it was banning me … for requesting the favicon
19:03 rubenwardy I would rather avoid anubis but maybe I should have it set up for emergencies
19:04 rubenwardy could automatically turn on when under ddos
19:05 rubenwardy I am forwever thankful that I'm not on AWS/GCP/Azure
19:08 rubenwardy they supposedly have a complaints form https://fankui.sogou.com/index.php/web/web/index?type=4
19:09 HuguesRoss joined #luanti
19:09 darylsun joined #luanti
19:09 fgaz joined #luanti
19:09 jfred joined #luanti
19:09 ursa-major joined #luanti
19:09 anemofilia joined #luanti
19:10 z812 joined #luanti
19:10 HamAdams joined #luanti
19:10 sfan5 did you check if it's the ip range they usually use?
19:12 rubenwardy I would need to double check that yeah could be someone else
19:13 rubenwardy https://gist.github.com/rubenwardy/cadcf87cf2456c3a71ae5caf7804444b
19:19 sfan5 looking at my own collected logs that generally matches the IP's I have seen the same bot from
19:19 sfan5 weird
19:24 kamdard_ joined #luanti
19:25 heavygale joined #luanti
19:26 krisbug joined #luanti
19:26 sugarbeet joined #luanti
19:27 rubenwardy also looks like the bottleneck was postgres
19:27 rubenwardy If I ever needed to scale CDB up it would probably be a good idea to cache most public pages
19:27 rubenwardy rather than hitting the DB every time
19:35 mrcheese joined #luanti
19:35 mrcheese joined #luanti
19:44 erle <rubenwardy> I am forwever thankful that I'm not on AWS/GCP/Azure
19:44 erle rubenwardy what would that have done? infinite money payment glitch?
19:44 rubenwardy yeah. Surprise! Large bill
19:45 erle autoscaler? you receive a big beautiful bill!
19:48 erle rubenwardy from my experience, varnish (a caching solution by PHK) can easily turn “someone is hitting my API” into a non-issue. like, *as long as you get the caching keys right* and your architecture isn't absolutely uncacheable (i.e. you do actual REST and not “i have read what REST is on a phpBB 20 years ago and i am totally doing it”) you can easily serve a hundred times more traffic, maybe even a thousand times
19:51 jaca122 joined #luanti
19:57 SFENCE joined #luanti
20:32 SFENCE joined #luanti
20:34 SFENCE joined #luanti
20:56 sparky4 joined #luanti
21:13 SFENCE joined #luanti
21:56 SFENCE joined #luanti
22:49 mrcheese joined #luanti
22:53 crazylad joined #luanti
23:00 crazylad joined #luanti
23:23 Trifton joined #luanti
23:27 chloetax joined #luanti
23:32 panwolfram joined #luanti
23:38 FeXoR joined #luanti

| Channels | #luanti index | Today | | Google Search | Plaintext