Time |
Nick |
Message |
00:28 |
|
Puka joined #minetest-dev |
00:49 |
|
rubenwardy joined #minetest-dev |
00:54 |
|
Wayward_One joined #minetest-dev |
01:01 |
|
Tmanyo joined #minetest-dev |
01:15 |
|
kaeza joined #minetest-dev |
01:38 |
|
crazyR joined #minetest-dev |
01:42 |
|
est31 joined #minetest-dev |
02:14 |
|
STHGOM joined #minetest-dev |
02:19 |
|
Void7 joined #minetest-dev |
03:08 |
|
Void7 joined #minetest-dev |
03:17 |
paramat |
#4135 tested and seems good +1 |
03:17 |
ShadowBot |
https://github.com/minetest/minetest/issues/4135 -- Biomegen by kwolekr |
03:21 |
paramat |
hmmmmm would like more reviewers for that though |
03:21 |
est31 |
I've looked at the commits |
03:21 |
est31 |
and they make sense |
03:21 |
est31 |
but it was no detailed review at all |
03:22 |
hmmmmm |
i think a line-by-line review may take too much time |
03:22 |
hmmmmm |
much of it is moving large functions from file to file and aren't really that risky |
03:24 |
hmmmmm |
the things that i'm most nervous about are causing memory leaks, double frees, shadowing class variables on accident, etc. things like that |
03:24 |
est31 |
I've seen you shadow read on accident |
03:25 |
hmmmmm |
then make a comment on the PR! |
03:26 |
est31 |
was no issue for me |
03:26 |
hmmmmm |
?? |
03:26 |
est31 |
if you want to call read() you will get a compiler error |
03:26 |
hmmmmm |
ohh you mean the identifier 'read' |
03:26 |
est31 |
thats what c/c++ has a static type system for |
03:27 |
est31 |
unlike javascript |
03:27 |
est31 |
or lua |
03:27 |
hmmmmm |
erm, this isn't in the PR though if it did happen |
03:28 |
hmmmmm |
in any case I still like to make sure every identifier is unique, regardless of how clear scoping rules may seem |
03:29 |
est31 |
hrmm might have been another identifier |
03:37 |
est31 |
agh irrlicht joystick support is FUBAR |
03:37 |
est31 |
well i can live with it |
03:37 |
est31 |
most of irrlicht is FUBAR anyway |
03:46 |
|
rubenwardy joined #minetest-dev |
03:51 |
paramat |
i'll fly through mgv7 again to check memory use |
03:57 |
hmmmmm |
i'd be more concerned about memory usage from starting a game and then quitting to the main menu repeatedly, but there's nothing that is large enough to make a noticable difference |
03:57 |
hmmmmm |
sorry |
03:58 |
paramat |
i see |
03:59 |
paramat |
good, one less thing to do |
04:36 |
est31 |
setting the camera already works with the joystick |
04:36 |
est31 |
now I have to add movement |
04:37 |
est31 |
and think of a good design around this stuff |
04:37 |
est31 |
but I already have ideas |
05:08 |
|
Hunterz joined #minetest-dev |
05:17 |
|
Etzos joined #minetest-dev |
05:17 |
est31 |
hmmmmm, one of the things I am wondering about: when I write .0 |
05:17 |
est31 |
is that really a double? |
05:18 |
est31 |
I only know how it is for haskell, it gets stored as some "floatLiteral" type |
05:18 |
est31 |
and then gets automatically made a float or double depending on what type there is |
05:18 |
sofar |
are you asking about c++ making it a float or double? |
05:18 |
sofar |
or double vs. some integer? |
05:18 |
est31 |
about c++ yes |
05:18 |
est31 |
no float vs double |
05:18 |
est31 |
if you say float f = .0; |
05:19 |
est31 |
does it make a double .0 and then convert it to a float |
05:19 |
est31 |
or does it make a float .0 |
05:19 |
sofar |
well constants aren't typed until they're used |
05:19 |
sofar |
afaik |
05:19 |
est31 |
thats what one of the commits by hmmmmm did |
05:20 |
est31 |
https://github.com/minetest/minetest/pull/4135/commits/e1435b2166d12165751e86962d7bd06ecaa25ca0 |
05:25 |
sofar |
34bff278a03779b511a09f8b9676357f |
05:25 |
sofar |
https://gist.github.com/sofar/34bff278a03779b511a09f8b9676357f |
05:25 |
sofar |
shrug, sorry, still no clue :D |
05:27 |
sofar |
actually, it seems that if it exceeds FLT_MAX, it's automatically a double then |
05:36 |
est31 |
okay then |
05:36 |
est31 |
just wondered about it |
05:37 |
est31 |
in other news, I think I now also have implement movements with a gamepad |
05:37 |
est31 |
I'm building atm |
05:37 |
sofar |
cool |
05:37 |
sofar |
I have a logitech controller, wonder if it would work |
05:38 |
sofar |
http://gaming.logitech.com/en-us/product/f710-wireless-gamepad |
05:38 |
est31 |
you wanna try |
05:39 |
est31 |
I'll upload it |
05:39 |
sofar |
nah, looking at slab stuff right now |
05:39 |
sofar |
later though |
05:39 |
sofar |
my sheep are also getting lonely |
05:41 |
est31 |
sofar, https://github.com/est31/minetest/tree/gamepad |
05:41 |
est31 |
it is damn ugly code still |
05:44 |
sofar |
not too big of a patch, though |
05:50 |
hmmmmm |
hmm |
05:51 |
hmmmmm |
actually now that I'm reading about it, it seems that what 5.f is interpreted as depends on the value of FLT_EVAL_METHOD |
05:54 |
hmmmmm |
but yeah, in general 0.0 is double, 0.f is float, 0.l is long double |
05:54 |
hmmmmm |
take a look at 6.4.4.2(4) |
05:55 |
hmmmmm |
the reason why i change them is because the compiler isn't allowed to optimize it to a float because of the difference in precision causing (negligible for our purposes) differences |
06:24 |
|
everamzah joined #minetest-dev |
06:26 |
|
dmurph joined #minetest-dev |
06:32 |
|
Taoki joined #minetest-dev |
06:34 |
|
nrzkt joined #minetest-dev |
07:01 |
|
jin_xi joined #minetest-dev |
07:02 |
nore |
the more I try to rebase #1118, the more I realize that most of it is just moving a lot of stuff from CNodeDefManager to something that belongs more to ContentFeatures or MapNode (actually, to NodeWithDef) |
07:02 |
sofar |
game#1111 |
07:02 |
ShadowBot |
https://github.com/minetest/minetest/issues/1118 -- Meta set nodedef by Ekdohibs |
07:02 |
ShadowBot |
https://github.com/minetest/minetest_game/issues/1111 -- Big simplification of slabs combination by sofar |
07:03 |
nore |
so I might try to get these changes in a separate PR |
07:03 |
nore |
that doesn't add meta_set_nodedef, but that adds NodeWithDef |
07:03 |
|
Darcidride joined #minetest-dev |
07:03 |
nore |
which is but (for now, will change in meta_set_nodedef) a MapNode and a pointer to a ContentFeatures |
07:04 |
nore |
does it look good? |
07:04 |
nore |
sofar: reading your game pr |
07:06 |
sofar |
I think it's even simpler now |
07:07 |
sofar |
it works as I intended as well, but, I'm tired lol |
07:08 |
nore |
sofar: see my comment |
07:08 |
nore |
something seems strange |
07:09 |
nore |
btw, sofar: your connected nodeboxes make rebasing meta_set_nodedef a pain :p |
07:10 |
sofar |
sure, yes, it touched a lot of code |
07:11 |
nore |
yup |
07:11 |
nore |
anyway, going back to that |
07:11 |
nore |
(what's your opinion on making a PR with NodeWithDef btw?) |
07:12 |
sofar |
tbh, I have not looked into that yet, I've been so busy |
07:13 |
nore |
there's only what I just said anyway |
07:13 |
nore |
(btw, weren't you supposed to not have time for a week?) |
07:14 |
sofar |
everyone is in bed, I'm indulging in a little brain candy |
07:16 |
est31 |
My main problem about that PR (1118) is that it is so totally wasteful |
07:16 |
nrzkt |
sofar: can look at last #4155 commit and tell me if the scheme is good for you |
07:16 |
ShadowBot |
https://github.com/minetest/minetest/issues/4155 -- Implement player attribute backend by nerzhul |
07:16 |
est31 |
meta shouldnt be used |
07:16 |
est31 |
rather use param 1 or 2 for it |
07:16 |
est31 |
and if there is really need for more data, meta can be used |
07:16 |
est31 |
but param 1 and 2 should be the first choice |
07:16 |
nore |
est31: it is |
07:17 |
nore |
I suggested that a while back |
07:17 |
nore |
but anyway, my objective right now is making it possible |
07:17 |
sofar |
nrzkt: I'm assuming that "attributes" can be arbitrary things like json tables, etc. |
07:17 |
nore |
(both of them) |
07:17 |
nrzkt |
because it's text, there is no limitation |
07:17 |
sofar |
nrzkt: but in principle I'm a fan of the DB conversion |
07:18 |
nrzkt |
you can put all you book into it in a yaml, json etc :p |
07:18 |
nrzkt |
or your Lua functions if you want |
07:18 |
nore |
est31: actually about half this PR is a cleanup |
07:18 |
sofar |
well, I just want to make sure it's safe :) |
07:19 |
nore |
moving functions from CNodeDefManager to MapNode, etc |
07:19 |
sofar |
nrzkt: so, just keep trucking ahead, looking forward to the sqlite3 code since that will allow me to test |
07:19 |
nrzkt |
sofar: yes, i will do it for the second step, i just need some time to backport it from my fork |
07:20 |
est31 |
yes I like it |
07:20 |
nore |
est31: so what I want to do right now is to get that cleanup |
07:21 |
est31 |
nrzkt, about your pr, i like the database layout |
07:21 |
est31 |
nore, well if its only a cleanup then its good |
07:21 |
nore |
and merge it, so that meta_set_nodedef will be easier in the future |
07:21 |
nore |
est31: well, what I want to add too is a NodeWithDef struct |
07:21 |
hmmmmm |
i have a question |
07:21 |
nore |
which is but a MapNode and a pointer to ContentFeatures |
07:21 |
est31 |
the question of course is whether it is a cleanup or something else called a cleanup |
07:21 |
nrzkt |
est31: did you look at the last commit i did 1 hour ago ? |
07:21 |
|
paramat joined #minetest-dev |
07:21 |
hmmmmm |
why are player attributes needed in the core |
07:22 |
hmmmmm |
this is something a mod can do |
07:22 |
nore |
which avoid moving GameDef's around all the time |
07:23 |
est31 |
hmmmmm, well in the future we can manage player inventories over it |
07:23 |
nore |
hmmmmm: and player stats (hp for example) |
07:24 |
est31 |
exposing it to mods is just added flexibility |
07:24 |
nrzkt |
a common interface for all mods with a good interface for external tools |
07:29 |
nore |
est31: the objective is to be able to do what is done in this file: https://github.com/minetest/minetest/pull/1118/files#diff-18513665750ef5adf42b5ec29e14162eL304 |
07:30 |
sofar |
nrzkt: first user will be converting bed spawns :) |
07:31 |
paramat |
game#1110 |
07:31 |
ShadowBot |
https://github.com/minetest/minetest_game/issues/1110 -- Default: Bookshelf has 2 openings instead of 4 by paramat |
07:31 |
sofar |
nrzkt: and /home positions |
07:31 |
nrzkt |
sofar: trivial then :p |
07:31 |
nrzkt |
but how did you provide a migration mode for this? |
07:31 |
sofar |
only read old storage files at startup |
07:32 |
nrzkt |
seems lgtm |
07:32 |
sofar |
then uhm... mark them obsolete |
07:32 |
sofar |
well, if player attribute bed_pos is set, don't read from old file |
07:32 |
sofar |
should be doable without much trouble |
07:32 |
est31 |
nore, well that change is okay |
07:33 |
* sofar |
goes to bed |
07:33 |
est31 |
if you separate it out it can be added |
07:33 |
est31 |
(IMO) |
07:33 |
est31 |
hmmmmm, theoretically mods could do it themselves |
07:34 |
est31 |
think of /home positions as example |
07:34 |
est31 |
now you can create a file home_pos.dat |
07:34 |
est31 |
and manage it via a lua table which maps the player name to the home position |
07:35 |
est31 |
you load it using minetest.deserialize and store it using minetest.serialize |
07:35 |
est31 |
now, when to store it? |
07:35 |
est31 |
of course, at shutdown |
07:35 |
est31 |
but what if nothing has changed? |
07:35 |
est31 |
and if you have, say thousands of players |
07:35 |
est31 |
then it does all the saving without any reason |
07:36 |
est31 |
next thing: you want to be resilient against sudden crashes |
07:36 |
est31 |
usually you make the save code with a minetest.register_on_shutdown |
07:36 |
nore |
est31: you want to store at the same time as the server saves the map... |
07:36 |
est31 |
but ofc when a crash happens that isnt called |
07:36 |
est31 |
then you have to add some timers to save the table regularly |
07:36 |
nore |
(should we add a minetest.register_on_save callback btw?) |
07:37 |
est31 |
so what you end up with is that you write the whole table each couple of seconds |
07:37 |
nrzkt |
nore: saving players with map mean saving all players without verifying they have been modified, it could be huge |
07:37 |
est31 |
and again, if you have lots of players, the table can be very long |
07:38 |
nore |
nrzkt: of course, this should be done by the core with a db backend that doesn't save what hasn't been modifies |
07:38 |
nore |
-s°d |
07:38 |
nore |
-°++ |
07:38 |
est31 |
nore, you mean with register_on_save that you pass it a function that has no params, right? |
07:38 |
* nore |
tries to type too fast |
07:38 |
nore |
est31: yep |
07:38 |
est31 |
nore, well I dont think there is any advantage in that |
07:38 |
nore |
so that mods that have data in memory (let's say, for speed) can write it back |
07:39 |
nore |
example: I have a mod that wants to store information in some items' metadata |
07:39 |
nore |
but that information is too big for that and causes huge network lags and client slowdowns |
07:39 |
nore |
(8KiB metadata) |
07:40 |
nore |
so, it stores them in memory |
07:40 |
nore |
and then, writes it in a file |
07:41 |
hmmmmm |
mods already do this |
07:41 |
hmmmmm |
the reason why i am against it is quite simply because: |
07:41 |
est31 |
I still dont see where register_on_save would help here |
07:41 |
nore |
est31: well, the mod would store its data |
07:41 |
hmmmmm |
- each mod knows how to optimally store its data in its own optimal format |
07:41 |
nore |
at the same time as the server |
07:41 |
nore |
so that there is no inconsistent state |
07:41 |
hmmmmm |
- this adds even more bloat to the API |
07:42 |
nore |
hmmmmm | - this adds even more bloat to the API <-- having 25 different mods doing that is even worse |
07:42 |
hmmmmm |
so then add a function or two to builtin |
07:43 |
nore |
hmmmmm | - each mod knows how to optimally store its data in its own optimal format <-- I have yet to see a mod that does something else than minetest.serialize |
07:43 |
est31 |
yes |
07:43 |
est31 |
+1 to that |
07:43 |
est31 |
I sometimes feel the same as you |
07:43 |
hmmmmm |
right no need to overengineer this kind of thing |
07:43 |
est31 |
wondering "this adds so much bloat, we shouldnt have it" |
07:43 |
est31 |
but here I think it is useful |
07:43 |
hmmmmm |
way too much code to do something really simple |
07:44 |
hmmmmm |
and here nerzhul wants to add it to a user-opaque database |
07:44 |
hmmmmm |
jeez |
07:44 |
est31 |
hmmmmm, the map has the same level of user opaqueness |
07:44 |
est31 |
even worse |
07:44 |
hmmmmm |
the map is the map though |
07:44 |
nrzkt |
hmmmmm: database is less opaque than having thousands of files on the filesystem |
07:45 |
nrzkt |
else, tell chrome and firefox stop using leveldb and sqlite to store their datas, it's too opaque |
07:46 |
hmmmmm |
chrome and firefox have their own set of design criteria |
07:46 |
hmmmmm |
i personally want minetest to follow the unix way of doing things |
07:46 |
nrzkt |
and players are a special thing, like map, external tools wants to interact with it with a ocmmon interface not a shitty thousands of files with many mods |
07:46 |
celeron55 |
my opinion these days is that sqlite isn't really very opaque, but other databases are |
07:47 |
hmmmmm |
it's not opaque if you know what utilities to use |
07:47 |
celeron55 |
the sqlite command line utility is rather ubiquitous |
07:47 |
est31 |
server owners will find out what utilities to use |
07:47 |
nrzkt |
okay, tell a new user to use files he didn't know vs SQL |
07:47 |
hmmmmm |
i'm willing to bet that 90% of minetest players do not know how to view or edit a sqlite3 db |
07:47 |
hmmmmm |
and even then they have to know SQL in order to do anything |
07:47 |
nrzkt |
and tell users to find where mod store its data, and which mod store data ? |
07:48 |
est31 |
hmmmmm, no not really |
07:48 |
nrzkt |
it's just a pain, there are files everywhere |
07:48 |
est31 |
there is sqlitebrowser |
07:48 |
est31 |
I think that its name |
07:48 |
nore |
hmmmmm: I can bet 90% of them don't know the format which mods use for their data |
07:48 |
est31 |
its point and click |
07:48 |
nrzkt |
sqlite3 <file> |
07:48 |
est31 |
bit like excel |
07:48 |
hmmmmm |
if you open up a text file it's immediately obvious |
07:48 |
celeron55 |
files are of course more accessible though; i'm not going to pretend sqlite is better in that aspect than files |
07:48 |
est31 |
you can set up sqlitebrowser to immediately open as well |
07:48 |
nrzkt |
hmmmmm: okay, and if i want to see all my player datas with my 150 mods ? i should open many files with "proprietary" formats |
07:49 |
hmmmmm |
so nrzkt's problem with this approach is that there are too many files |
07:49 |
est31 |
in fact I think it does that if you install it on debian |
07:49 |
hmmmmm |
i completely agree with this |
07:49 |
hmmmmm |
having too many files is slow, messy, etc. |
07:49 |
hmmmmm |
but the thing is, the only time you'd have this issue is on massive servers with 1000s of users |
07:49 |
hmmmmm |
people who run their own servers are able to configure them for more optimal settings |
07:49 |
nrzkt |
hmmmmm: and the second point is to permit websites to interact with game, with a safe way, and the safer way is to use the database backend because MT will not reload files. |
07:50 |
Calinou |
there's DBeaver to administer databases, including SQLite ones |
07:50 |
hmmmmm |
so if you make it optional then nobody loses here |
07:50 |
hmmmmm |
the casual players are able to edit their player files no problem |
07:50 |
hmmmmm |
you have all the opaqueness |
07:50 |
est31 |
hmmmmm, what is the use case for that |
07:51 |
celeron55 |
nrzkt: a database isn't going to magically solve the fact that minetest does not reload things at runtime |
07:51 |
hmmmmm |
if you NEED to scale up though, and you NEED to administrate this from a web interface... then okay, I can see a server owner wanting those advanced features |
07:51 |
est31 |
when do you as player want to edit your player file |
07:51 |
|
davisonio joined #minetest-dev |
07:51 |
hmmmmm |
est31: your itemstack for one? position? |
07:51 |
hmmmmm |
a zillion different things |
07:51 |
Calinou |
as for web interfaces, there's Adminer that can handle PostgreSQL |
07:51 |
est31 |
except if it got messed up because the server crashed |
07:51 |
nrzkt |
celeron55: not all the problems, but the concurrency problem, and it's a huge thing :) |
07:51 |
Calinou |
(and also MySQL, and perhaps SQLite) |
07:51 |
est31 |
hmmmmm, /teleport? |
07:51 |
hmmmmm |
so like I said before |
07:52 |
celeron55 |
nrzkt: concurrency... in what? |
07:52 |
hmmmmm |
-1 for me if this isn't purely optional |
07:52 |
est31 |
and about itemstacks, the whole game is about moving around items |
07:52 |
nrzkt |
celeron55: if MT is writing the file and the website is write too... boom |
07:52 |
Calinou |
ye, Adminer does SQLite |
07:52 |
Calinou |
it can even do MS SQL ;) |
07:52 |
est31 |
and if you want to edit the player file of *another* player then you are an admin |
07:53 |
est31 |
They will adjust, we shouldnt think they are dumb |
07:53 |
hmmmmm |
and FYI |
07:53 |
hmmmmm |
you cited firefox as an example |
07:53 |
est31 |
android exposes an sqlite library to its apps as well |
07:53 |
celeron55 |
i would say that if there is a general sqlite utility on windows that is usable to a person that doesn't know SQL, we could use sqlite |
07:53 |
hmmmmm |
firefox uses craptons of plain text configuration files |
07:54 |
celeron55 |
i haven't searched for one |
07:54 |
est31 |
http://sqlitebrowser.org/ |
07:54 |
nrzkt |
celeron55: navicat is proprietary but works very well pg workbench, and sqlitebrowser |
07:54 |
est31 |
Its "double click sqlite file -> select table -> edit the rows" kind of simple |
07:54 |
celeron55 |
est31: that seems fine for this purpose |
07:54 |
celeron55 |
this means at least i don't have anything against storing players in sqlite |
07:55 |
nrzkt |
hmmmmm: plain text for configuration, SQLite for other datas (not configuration) |
07:55 |
est31 |
and player data is not configuration |
07:55 |
Calinou |
hey, that tool looks nice, est31 |
07:55 |
Calinou |
yes, indeed |
07:55 |
nrzkt |
celeron55: we can help dusers by adding documentation on the wiki/website for that, it's not the problem |
07:56 |
est31 |
what about using sqlite per default |
07:56 |
celeron55 |
with tools like that, it might even make people edit things more than less than before |
07:56 |
est31 |
and using pqsql if users want to configure it |
07:56 |
Calinou |
isn't that already the case, est3? |
07:56 |
Calinou |
and the case for most programs, like Quassel IRC |
07:56 |
hmmmmm |
also without an option to read players from text configuration, you lose reverse compatibility unless you want to add extensive code to convert it to the new format |
07:56 |
Calinou |
(default to SQLite, use PostgreSQL if desired) |
07:56 |
nrzkt |
it's already the case est31, postgresql is for dedicated servers, not for client |
07:56 |
hmmmmm |
just remember |
07:57 |
est31 |
hmmmmm, reverse compat must be retained, I wont +1 any pr that does not provide it |
07:57 |
hmmmmm |
if you want to take the choice of text player files out of the user's hands, you're pretty much lennart poettering |
07:57 |
nrzkt |
hmmmmm: for the PR i'm working on there is no problem with this because i'm not changing the existing backend |
07:57 |
est31 |
hmmmmm, its no log files |
07:57 |
nrzkt |
but yes for other players datas we should read the player file before reading database to ensure the migration |
07:57 |
est31 |
log files are *meant* to be read by the user |
07:58 |
hmmmmm |
not just logfiles |
07:58 |
nrzkt |
but it's not the purpose of the current PR, which is adding a common backend to raw player attributes |
07:58 |
hmmmmm |
with init scripts or rc.d you can edit all these things with the most basic of tools already on everybody's system |
07:59 |
hmmmmm |
not with these new fancy smancy locked-down binary format |
07:59 |
est31 |
you can edit systemd config files as well |
07:59 |
hmmmmm |
things |
07:59 |
est31 |
its not even xml bs |
07:59 |
hmmmmm |
yeah maybe you need a hex editor |
07:59 |
hmmmmm |
pshh |
07:59 |
hmmmmm |
so yeah |
07:59 |
est31 |
do you even have used systemd once? |
07:59 |
hmmmmm |
from my point of view, nerzhul wants to pull a systemd on us |
07:59 |
nrzkt |
wtf |
07:59 |
hmmmmm |
i don't want that to happen |
08:00 |
hmmmmm |
est31, i'm pretty sure i used it when i installed debian in a VM recently |
08:00 |
nrzkt |
debian does shit with systemd |
08:00 |
nrzkt |
their integration was pure shit |
08:00 |
nrzkt |
archlinux integration works better, having systemd + systemV like debian trigger OS level shit on services |
08:00 |
celeron55 |
well, frankly, systemd works fine |
08:01 |
nrzkt |
systemd is very very good, except when you have systemV with it |
08:01 |
celeron55 |
(fedora here) |
08:01 |
hmmmmm |
systemd is a probable u.s. government backdoor |
08:01 |
nrzkt |
celeron55: fedora/redhat removed systemv ? |
08:01 |
celeron55 |
hmmmmm: it's a backdoor for sure, but that isn't really a concern in MT |
08:01 |
nrzkt |
hmmmmm: yes, like ipsec with openbsd, and the linux kernel, and openssl |
08:01 |
hmmmmm |
there's no other reason why everybody would be so glad to have this bullshit shoehorned on nearly all distros at the same time |
08:02 |
nrzkt |
hmmmmm: i think you should stop working for Dell, they are adding backdoors to hardware |
08:02 |
Calinou |
systemd actually improved the GNU/Linux desktop IMO :-) |
08:02 |
Calinou |
worked fine on Fedora, worked fine on Debian, works fine on Arch Linux |
08:02 |
est31 |
+1 |
08:03 |
hmmmmm |
I can't hear you over in my RC.d directory |
08:03 |
est31 |
I now have a cross distro tool to set up whether to start a service at boot |
08:03 |
hmmmmm |
la la la la la |
08:03 |
nrzkt |
and systemd is great for server owners, they add cgroup level integration on the unit, it's very good, private tmp dir, file system path secure |
08:03 |
nrzkt |
hmmmmm: you are on a BSD |
08:03 |
Calinou |
really, adding PostgreSQL or something isn't bloat |
08:03 |
Calinou |
it just shouldn't be the default because of the involved setup |
08:03 |
est31 |
no more update-rc.d.sh stuff |
08:03 |
Calinou |
however, we might have a message on first server startup: "Warning: SQLite can be slow for large worlds. Consider using the PostgreSQL instead if possible." |
08:03 |
nrzkt |
hmmmmm: and i agree the BSD rc.d is very very good, but the Linux SystemV init.d is just crazy and shit |
08:03 |
Calinou |
est31: yeah, it standardized init systems, which is great, also the service files are quite easy to write |
08:03 |
celeron55 |
Calinou: there's no need for that because migrations work fine |
08:04 |
celeron55 |
nothing is lost if you start with sqlite and need to change later |
08:04 |
Calinou |
yeah, but still |
08:04 |
Calinou |
beginner server owners could be dellusioned with the performance |
08:04 |
Calinou |
if they happen to have a large server |
08:05 |
hmmmmm |
they gotta RTFM |
08:05 |
est31 |
^ |
08:05 |
hmmmmm |
but the manual should tell them what options to enable and so on |
08:06 |
nrzkt |
hmmmmm: one time you said users are stupid, and now you said they should be power users. |
08:06 |
hmmmmm |
not, "oh by the way, you know those text files you used to just be able to edit?" |
08:06 |
hmmmmm |
"well fuck you, you're gonna need to download a new application now" |
08:06 |
est31 |
hmmmmm, no |
08:06 |
est31 |
hmmmmm, on windows your text editors are all shit |
08:06 |
hmmmmm |
nrkzt: I said power users should be power users |
08:06 |
est31 |
there is no good text editor per default on windows |
08:06 |
nrzkt |
est31: :( |
08:06 |
est31 |
and sqlitebrowser is just as convenient to use |
08:07 |
hmmmmm |
nrzkt: people who are actually concerned about performance or running a server are what i consider power users |
08:07 |
hmmmmm |
running a large server* |
08:07 |
hmmmmm |
in any case |
08:07 |
est31 |
and who needs to edit the player files but power users |
08:07 |
nrzkt |
est31: +1 |
08:07 |
hmmmmm |
I am a bit upset that nobody mentioned the ACID guarantee as a pro for sqlite |
08:07 |
nrzkt |
(or server owner's cheaters :p) |
08:08 |
est31 |
hmmmmm, I did indirectly |
08:09 |
est31 |
or at least I think so |
08:09 |
est31 |
but yeah the only time I had to edit a player file is because the server crashed and the player files were all corrupt |
08:09 |
est31 |
so I had to fix them |
08:10 |
hmmmmm |
i've edited it plenty of times to set position, restore HP, edit my items, etc. |
08:10 |
hmmmmm |
i'm sure there are probably commands to do all those things but it's immediately obvious what settings do what in the text file |
08:10 |
hmmmmm |
it's discoverable |
08:11 |
hmmmmm |
as far as i'm concerned, the text files are part of the user interface. and an important part of a user interface is discoverability |
08:11 |
nrzkt |
players.sqlite |
08:11 |
nrzkt |
seems discoverable too :p |
08:12 |
hmmmmm |
sure |
08:12 |
hmmmmm |
i'm still -1ing your PR unless there's an option for text files, and the text files are the default |
08:12 |
est31 |
well we could build an user interface if you insist |
08:13 |
est31 |
the reason why there is none just yet is because its too easy to edit the files themselves |
08:13 |
nrzkt |
hmmmmm: you can -1, but as it seems nore, est31, sofar and me are for it |
08:14 |
Calinou |
come on, player files are a large performance bottleneck for any decently sized server :( |
08:14 |
hmmmmm |
hey i'm not the one being stubborn here |
08:15 |
hmmmmm |
there is a clear option to please everybody |
08:15 |
est31 |
atm I think we are discussing about whether to use text files per default or the database |
08:15 |
Calinou |
pleasing everyone is not always a good idea in software |
08:15 |
Calinou |
sometimes, being opinionated makes you much more productive |
08:16 |
est31 |
hmmmmm agrees to implementing a database backend that large server owners can enable, right? |
08:16 |
Calinou |
it might be less viable in the long term though |
08:16 |
hmmmmm |
absolutely, i think that's a great idea |
08:16 |
hmmmmm |
just not necessarily the only way |
08:16 |
Calinou |
to me, using text files by default feels like not enabling opcache in PHP :) |
08:16 |
hmmmmm |
calinou, that attitude is what turned firefox into firefox |
08:16 |
hmmmmm |
that's why gnome is shit |
08:17 |
Calinou |
I'd say Chromium is more opinionated than Firefox, it's not as customizable |
08:17 |
hmmmmm |
that's why all these big projects that were once fantastic went downhill so hard so fast |
08:17 |
hmmmmm |
and chromium isn't as good... i don't like it |
08:17 |
hmmmmm |
maybe it might be technically better in terms of JS execution performance |
08:18 |
Calinou |
not all configuration options are "gratis" in terms of complexity to implement, also this doesn't save you from having sane defaults |
08:18 |
Calinou |
(people judge software a lot based on the defaults) |
08:18 |
Calinou |
(no wonder why Ubuntu is preferred on the desktop, rather than Debian) |
08:18 |
est31 |
6 years ago you needed to install a plugin in order to play internet videos |
08:18 |
est31 |
pls download windows media player plugin |
08:18 |
est31 |
pls download silverlight |
08:19 |
est31 |
pls download adobe flash |
08:20 |
est31 |
now you just start the browser and it works without putting holes in the sandbox |
08:20 |
est31 |
well, at least on most sites |
08:21 |
nrzkt |
hmmmmm: gnome is very good if you are not a windows mouse user :p |
08:22 |
* est31 |
wondes why this discussion hasn't yet met the godwin point yet |
08:22 |
nrzkt |
atm at work there is an external resource which comes and he have an ubuntu shit where network doesn't work properly because of the stupid dnsmask idea |
08:22 |
nrzkt |
i think hmmmmm wants to be the führer of the files |
08:22 |
nrzkt |
est31: win :D |
08:22 |
nrzkt |
files' Fürher, sorry :p |
08:23 |
est31 |
hehe |
08:23 |
* hmmmmm |
sits down on mein kamfy chair |
08:36 |
|
proller joined #minetest-dev |
08:37 |
|
yang2003 joined #minetest-dev |
08:48 |
|
Fixer joined #minetest-dev |
08:53 |
|
proller joined #minetest-dev |
09:00 |
|
davisonio joined #minetest-dev |
09:01 |
|
damiel joined #minetest-dev |
09:13 |
|
paramat left #minetest-dev |
09:13 |
|
Puka joined #minetest-dev |
09:54 |
|
Megaf joined #minetest-dev |
09:57 |
|
davisonio joined #minetest-dev |
10:24 |
|
proller joined #minetest-dev |
10:30 |
|
proller joined #minetest-dev |
10:45 |
|
bpatlarge joined #minetest-dev |
10:49 |
|
bpatlarge joined #minetest-dev |
11:52 |
|
rubenwardy joined #minetest-dev |
12:03 |
|
STHGOM joined #minetest-dev |
12:39 |
|
proller joined #minetest-dev |
12:55 |
|
stormchaser3000 joined #minetest-dev |
13:25 |
|
stormchaser3000 joined #minetest-dev |
13:37 |
|
proller joined #minetest-dev |
13:55 |
|
jin_xi joined #minetest-dev |
14:19 |
Sokomine |
the trouble with too many player files existing and slowing down a server may not even be limited to particulary large servers. even smaller ones did easily get into the thousands, sometimes even approaching ten thousand users. never looked like that from ingame though. a vast majority of them might have been guest<random number> or other one-time-visitors |
14:20 |
Sokomine |
resolving that problem by moving those files to a database could help a lot and spare the server admins from regulary having to clean up supposedly inactive players |
14:26 |
|
Darcidride joined #minetest-dev |
14:36 |
nrzkt |
yes Sokomine, imagine DELETE FROM players WHERE last_connection > NOW() - 5 days; |
14:36 |
nrzkt |
:) |
14:36 |
nrzkt |
errr < |
14:38 |
|
Taoki joined #minetest-dev |
14:45 |
|
KaadmY joined #minetest-dev |
14:57 |
|
hmmmm joined #minetest-dev |
14:59 |
|
Void7 joined #minetest-dev |
15:10 |
hmmmm |
i just don't want the player db move to be a verschlimmbesserung |
15:20 |
nrzkt |
hmmmm: that's not the purpose, having clear tables no blob is required |
15:20 |
nrzkt |
a real strong scheme |
15:22 |
hmmmm |
that's not possible when the whole purpose of this feature is to store arbitrary metadata though |
15:25 |
|
est31 joined #minetest-dev |
15:25 |
|
DI3HARD139 joined #minetest-dev |
15:25 |
est31 |
nrzkt, NO thats a bad way to do it |
15:25 |
est31 |
that's how I lost logins two times already |
15:25 |
est31 |
server owners cleaned up player files based on last connection |
15:26 |
est31 |
then somebody registered with my name |
15:26 |
est31 |
and got access to all my protection blocks and griefed my houses |
15:26 |
est31 |
AND THAT HAS HAPPENED TWICE already |
15:27 |
est31 |
both times the server owner gave me back access |
15:27 |
est31 |
we should have some further thing |
15:27 |
est31 |
like num_connected |
15:27 |
est31 |
increased every time the user connects |
15:27 |
rubenwardy |
Or delete player profile, but not auth details |
15:28 |
est31 |
then one can do DELETE FROM players WHERE (last_connection > NOW() - 5 days) AND (num_connected < 50); |
15:30 |
|
proller joined #minetest-dev |
15:32 |
est31 |
rubenwardy, thats an idea too |
15:37 |
|
STHGOM joined #minetest-dev |
15:40 |
|
damiel joined #minetest-dev |
15:40 |
est31 |
perhaps there should be a bool flag |
15:41 |
est31 |
is_minetest_dev_you_should_not_piss_off |
15:41 |
est31 |
if its set the player is never deleted xD |
15:45 |
|
thatgraemeguy joined #minetest-dev |
15:45 |
|
ptv joined #minetest-dev |
15:53 |
Fixer |
admins periodically delete player data, thats very annoying |
16:01 |
hmmmm |
that's a horrible justification for SQL |
16:01 |
hmmmm |
you can get the same exact result using crontab and a shell script |
16:02 |
est31 |
writing shell scripts to delete old players is more complicated than the SQL statement |
16:04 |
* est31 |
is having fun flying around minetest with his gamepad |
16:04 |
est31 |
flying around is more fun than coding |
16:04 |
est31 |
thats not good, gamepad support should be finished |
16:05 |
est31 |
maybe tomorrow |
16:06 |
|
thatgraemeguy joined #minetest-dev |
16:06 |
|
ptv joined #minetest-dev |
16:09 |
est31 |
maybe then |
16:10 |
|
Megaf joined #minetest-dev |
16:14 |
|
proller joined #minetest-dev |
16:17 |
Sokomine |
est31: yes, that's a serious problem on servers. time since last login just doesn't work. a better indicator might be if the player actually protected anything. sadly, figuring that out depends on the mod used for protection |
16:40 |
sofar |
at a certain point we should add OAUTH |
16:56 |
|
Hunterz joined #minetest-dev |
17:04 |
|
nrzkt joined #minetest-dev |
17:18 |
|
Grandolf2 joined #minetest-dev |
17:19 |
|
the_doctor joined #minetest-dev |
17:36 |
|
halt_ joined #minetest-dev |
17:36 |
halt_ |
hi |
17:37 |
halt_ |
question: is it possible to set up a system of servers that you can tp through w/o exiting one and joining the other by hand? |
17:38 |
|
Krock joined #minetest-dev |
17:38 |
halt_ |
hi krock |
17:38 |
Krock |
hi halt_ |
17:38 |
halt_ |
hi krocko/ |
17:38 |
halt_ |
oops :P |
17:38 |
halt_ |
o/ |
17:39 |
halt_ |
you ghot a clue on: |
17:39 |
halt_ |
is it possible to set up a system of servers that you can tp through w/o exiting one and joining the other by hand? |
17:39 |
Krock |
halt_, is it fine for you when I use you to save some power? Sending HLT command the the CPU when it's not used |
17:39 |
halt_ |
i guess...? |
17:39 |
Krock |
nope, this goes outside the possibilities of the current Lua api |
17:40 |
halt_ |
oh :/ would it b possible to configure the lua api to do that? |
17:40 |
hmmmm |
lol. |
17:40 |
halt_ |
im working on a TARDIS mod i wanted 2 do dat with |
17:41 |
hmmmm |
your lawnmower can also dry clothes, it just needs to be configured the right way |
17:41 |
halt_ |
if u took out da blades :P |
17:42 |
Krock |
no, you need the blades to make wind |
17:42 |
Krock |
just make sure you don't touch them when it's running |
17:42 |
halt_ |
lol |
17:43 |
halt_ |
anyhow anyone goty a clue how to tweak the api to do that? (not dry cloths but tp u between servers :P) |
17:46 |
|
Grandolf2 joined #minetest-dev |
17:46 |
halt_ |
hi |
17:48 |
halt_ |
hmm and would it b possible to make a "galaxy" in MT where all the planets have their own gravatational field? |
17:51 |
halt_ |
rubenwardy Krock OldCoder_ VanessaE any of yall got an idea on either question? |
17:51 |
rubenwardy |
#minetest is the better place for this |
17:51 |
halt_ |
hmm kk |
17:51 |
rubenwardy |
and don't ping people like that on IRC, it's bad etiquette |
17:51 |
halt_ |
kk srry |
17:52 |
* VanessaE |
hides |
17:53 |
hmmmm |
"tweak" |
17:53 |
hmmmm |
"configure" |
17:53 |
VanessaE |
teleporting people between servers has been talked about before. I'm sure that'll be possible in the future. As for a "galaxy", that should be doable now, since gravity is one of the things you can override on-demand |
17:53 |
hmmmm |
this guy doesn't get it |
17:53 |
hmmmm |
the functionality does not exist |
17:53 |
hmmmm |
if you want something, you need to code it |
17:53 |
hmmmm |
nothing is free in life |
17:54 |
hmmmm |
in any case this is something that could be added relatively easily with client side modding |
17:55 |
|
ptv joined #minetest-dev |
17:56 |
halt_ |
so what would i do to go about modding this? |
17:58 |
hmmmm |
the first thing you could do is read the minetest source code |
17:58 |
hmmmm |
learn its architecture |
17:58 |
|
xunto joined #minetest-dev |
17:58 |
|
Hunterz joined #minetest-dev |
17:58 |
hmmmm |
then understand why it's not simple at all |
17:59 |
halt_ |
ik a bit about it but as i think u can tell... im not an experianced coder :/ |
17:59 |
hmmmm |
sorry to say this but you don't really have a chance |
18:00 |
halt_ |
ik :/ but im still trying |
18:00 |
hmmmm |
but it would be a good experience to soak up as much as you can in an attempt to do it |
18:01 |
hmmmm |
just read a lot, code a lot, gain experience and knowledge |
18:03 |
halt_ |
hmm i dont understand how to do the coding part though :/ ive read alot of int.luas but nothing to do with this yet :/ cant find anything for it |
18:05 |
hmmmm |
so you haven't modded at all yet? |
18:07 |
rubenwardy |
halt_: http://rubenwardy.com/minetest_modding_book/ |
18:07 |
rubenwardy |
</selfpromotion? |
18:07 |
halt_ |
thnx ruben :) |
18:08 |
|
electrodude512 joined #minetest-dev |
18:09 |
hmmmm |
in any case i suggest you start out with making tweaks to existing mods |
18:09 |
hmmmm |
like maybe try challenging yourself to change the name of a dirt block |
18:14 |
|
Obani joined #minetest-dev |
18:14 |
|
Obani left #minetest-dev |
18:28 |
halt_ |
i have done that b4 |
18:28 |
halt_ |
the item string needs to b changed/the discription |
18:29 |
halt_ |
and ive changed rubenwardys nuke mod |
18:30 |
|
VargaD joined #minetest-dev |
18:35 |
|
stormchaser3000 joined #minetest-dev |
19:25 |
|
Puka joined #minetest-dev |
19:40 |
|
electrodude512 joined #minetest-dev |
20:06 |
|
DI3HARD139 joined #minetest-dev |
20:11 |
|
Amaz joined #minetest-dev |
20:23 |
|
xunto1 joined #minetest-dev |
20:35 |
celeron55 |
eh, what kind of discussion was that |
20:36 |
celeron55 |
the answer is: no, it is not possible; to make it possible, it needs to be added to the protocol, implemented on the server and the client and added to the lua API |
20:37 |
VanessaE |
celeron55: teleporting/transferring between servers has been requested multiple times, though. |
20:37 |
VanessaE |
(not that you're wrong) |
20:38 |
celeron55 |
though? |
20:38 |
celeron55 |
how is that a though |
20:38 |
VanessaE |
disregard the "though" :P |
20:39 |
VanessaE |
I read your statement as a "I don't like this idea and it'll never happen". |
20:41 |
celeron55 |
that's ridiculous; i have even suggested it myself as far as i remember |
20:48 |
Fixer |
everyone feel free to code ^_> |
21:04 |
OldCoder |
Fixer, http://minetest.org/netfix-0.4.14.zip |
21:04 |
OldCoder |
Others, it has been proposed that the RESEND RELIABLE patch be merged at this time |
21:05 |
OldCoder |
The preceding link is the latest version of the patch, synced with git current |
21:24 |
|
troller joined #minetest-dev |
21:29 |
|
turtleman joined #minetest-dev |
21:59 |
|
electrodude512 joined #minetest-dev |
22:18 |
|
electrodude512 joined #minetest-dev |
22:32 |
|
paramat joined #minetest-dev |
22:32 |
|
endev15_ joined #minetest-dev |
22:37 |
|
stormchaser3000 joined #minetest-dev |
22:42 |
|
DFeniks joined #minetest-dev |
22:47 |
Megaf |
item transfer from one server to another? |
22:47 |
Megaf |
extremely easy |
22:47 |
Megaf |
but it has to be done outside minetest, it needs a companion app |
22:47 |
Megaf |
or, IRC |
22:48 |
Megaf |
the stuff could be encoded in base64 but a mod and sent over IRC |
22:48 |
Megaf |
then decoded |
22:48 |
Megaf |
or even easier, just use IRC mode to send modname:itemname amount player |
22:48 |
Megaf |
or something |
22:49 |
Megaf |
and the mod would use the server's IRC nick and send stuff via private messages of course |
22:49 |
Megaf |
and it would likely have to be whitelisted on the other side |
22:49 |
Megaf |
if that makes any sense |
22:50 |
Megaf |
OldCoder, VanessaE Fixer celeron55 ^ |
22:50 |
Megaf |
and halt_ |
22:50 |
Fixer |
not a developer >_> |
22:50 |
Megaf |
and hmmmm |
22:50 |
OldCoder |
R |
22:50 |
OldCoder |
Sure |
22:50 |
OldCoder |
Could be handled through the IRC mods |
22:51 |
OldCoder |
For which, BTW, I'd like support... est31's patch needs to be merged |
22:51 |
OldCoder |
Support that merge, Megaf, and you get that feature |
22:51 |
OldCoder |
Fair enough? |
22:51 |
Megaf |
OldCoder, can you link me to the merge please? |
22:52 |
Megaf |
I mean, is there a PR? |
22:52 |
OldCoder |
I believe so, let me check. He and I will start one if he has not done so. |
22:52 |
OldCoder |
Wait a couple of minutes, please |
22:52 |
Megaf |
Ok, take your time. |
22:53 |
OldCoder |
https://github.com/minetest/minetest/pull/3859 |
22:53 |
OldCoder |
There you go |
22:53 |
OldCoder |
Without this patch, if it is the right one, the life of a server admin is complicated |
22:53 |
Megaf |
let me check that |
22:53 |
OldCoder |
What right does upstream have to dictate the security polices that server owners wish to take? |
22:54 |
OldCoder |
Megaf, context is that the IRC mods no longer work without this patch |
22:56 |
Megaf |
nore, what's your github? |
22:57 |
Megaf |
or what's is the nores github? |
22:57 |
Megaf |
ekdohibs? |
22:58 |
Megaf |
https://github.com/minetest/minetest/pull/3859#issuecomment-221426924 |
22:58 |
Megaf |
OldCoder, ^ |
22:58 |
OldCoder |
Hi |
22:58 |
OldCoder |
R |
22:59 |
Megaf |
by the way, I like the One approval lebel you implemented for voting, very clever. But I still like the :+1: |
23:00 |
OldCoder |
Megaf, One Approval isn't mine, if you're talking to me... But thank you for the comment and I'll comment myself as well... |
23:01 |
Megaf |
OldCoder, well, I do like the idea, so I commented on it |
23:01 |
OldCoder |
If this goes through, I'll implement item transfer myself. May do so regardless, as my wording above suggests this. |
23:01 |
Megaf |
I also think that IRC mod could be streamlined and maybe integrated into the core |
23:01 |
OldCoder |
I'll add to the thread now myself... |
23:01 |
OldCoder |
Yes, streamlined is essentially |
23:01 |
Megaf |
it's a lightweight OpenSource protocol |
23:01 |
OldCoder |
It's a headache to build it |
23:01 |
Megaf |
so, why not? |
23:02 |
OldCoder |
Well, there will be points raised, I'm sure. One step at a time. |
23:02 |
|
electrodude512 joined #minetest-dev |
23:02 |
Megaf |
just get rid of a couple of mapgens and legacy stuff like bitmap fonts and you can fit 10 or more IRC implementations into the core... |
23:02 |
OldCoder |
Let's keep an eye on this. Remind me of my promise later. |
23:02 |
* OldCoder |
is working on his own comment |
23:02 |
Megaf |
sure (for one step at a time) |
23:03 |
Megaf |
although I still defend my point that new features (as this one we are talking about, the authentication thingy) should not be implemented before streamlining/optimizing current code and removing bad/old/legacy/dead code from the core |
23:06 |
OldCoder |
How do I +1 ? |
23:06 |
OldCoder |
I'm about to comment; where is the approval button? |
23:06 |
OldCoder |
Hm; and the preview tab doesn't work |
23:07 |
Megaf |
OldCoder, type there :+1: |
23:07 |
OldCoder |
In my post? |
23:07 |
Megaf |
or just click the thumbs up in est first comment |
23:07 |
Megaf |
yes, in your post |
23:07 |
OldCoder |
What about preview tab? Should it work? |
23:08 |
Megaf |
OldCoder, are you part of the dev team on github? |
23:08 |
OldCoder |
No; so :+1: will not work? But what about preview tab? |
23:08 |
Megaf |
OldCoder, so after your text just make a new line and type :+1: and comment |
23:08 |
OldCoder |
What about preview tab? It does not do anything; should it? |
23:09 |
Megaf |
I think it should, is your JavaScript active? |
23:10 |
OldCoder |
Huh |
23:10 |
OldCoder |
Comment button does nothing either... |
23:10 |
OldCoder |
JS is on and popups are enabled... |
23:11 |
OldCoder |
And now it shows 10 copies of my post O_O |
23:11 |
Megaf |
I see 3 |
23:11 |
Megaf |
OldCoder, just click the "x" in the corner to delete your comment |
23:11 |
OldCoder |
"Something went wrong with that request. Please try again." |
23:11 |
OldCoder |
It says that when I delete |
23:12 |
* OldCoder |
frowns |
23:12 |
OldCoder |
Do you see just 1 copy now? |
23:12 |
Megaf |
OldCoder, yep, things are fine now |
23:12 |
OldCoder |
O.K. Thank you |
23:12 |
Megaf |
You're welcome |
23:12 |
OldCoder |
Remind me at a later point regarding the item transfer issue |
23:13 |
Megaf |
ok |
23:33 |
* Megaf |
waits for more people to wake up |
23:33 |
Megaf |
and commend on #3859 |
23:33 |
ShadowBot |
https://github.com/minetest/minetest/issues/3859 -- Add minetest.check_password_entry callback by est31 |
23:33 |
sofar |
!tell est31 my joystick works, but I can't stop moving forward, and I can't dig/use |
23:33 |
ShadowBot |
sofar: O.K. |
23:34 |
Megaf |
sofar, I would't say that your joystick works then |
23:34 |
sofar |
read the first 3 words of my sentence |
23:38 |
Megaf |
"my joystick works" ? |
23:38 |
OldCoder |
but |
23:40 |
|
DI3HARD139 joined #minetest-dev |
23:50 |
|
DI3HARD139 joined #minetest-dev |