Minetest logo

IRC log for #minetest-dev, 2013-08-03

| Channels | #minetest-dev index | Today | | Google Search | Plaintext

All times shown according to UTC.

Time Nick Message
00:02 hmmmm i don't remember exactly why i would use at()
00:02 hmmmm but erm, change that to find
00:03 hmmmm no reason for that odd exception flow
00:11 PilzAdam like this? https://github.com/PilzAdam/minetest/commit/250770d3c5e324bdfbc7b4e0698c2017c94fee92
00:52 hmmmm yeah, like that.  except maybe put the declaration and initialization of it on separate lines
00:52 hmmmm (or is that below 80 columns?)
00:55 PilzAdam its 82
00:56 PilzAdam Ill split it
00:57 PilzAdam I push it to upstream then
01:04 PilzAdam joined #minetest-dev
02:36 IceCraft joined #minetest-dev
03:34 IceCraft joined #minetest-dev
03:35 Anchakor1 joined #minetest-dev
03:36 init joined #minetest-dev
03:47 IceCraft joined #minetest-dev
04:38 Akien joined #minetest-dev
04:47 IceCraft joined #minetest-dev
05:01 aoper joined #minetest-dev
05:55 kaeza joined #minetest-dev
06:46 Strikeboba joined #minetest-dev
06:50 Strikeboba joined #minetest-dev
07:57 darkrose joined #minetest-dev
07:57 darkrose joined #minetest-dev
08:03 neko259 joined #minetest-dev
08:28 Calinou joined #minetest-dev
08:31 iqualfragile joined #minetest-dev
08:35 jin_xi joined #minetest-dev
08:47 iqualfragile i think that there is a problem with minetests view range adjusting
08:47 iqualfragile for one its clearly broken and shows a far too small range
08:48 iqualfragile (pressing r and by that adding 3 times the view range does not decrease the fps by a bit)
08:48 iqualfragile the other problem is that minetest might prevent the gpu to increase its frequency
08:48 Calinou are you serious?
08:48 Calinou GPUs increase their frequency too often in most programs, actually
08:48 Calinou feel free to look in your driver's control panel
08:53 VanessaE the view range autotuner IS way too slow, yes
08:55 VanessaE there are parts of my server's map that could be displayed with a range of 150+ (on my GPU) and still do 60 fps, while other places need a range of about 50 or so just to maintain ~30 fps
08:55 VanessaE but the amount of time it takes the autotuner to get from one to the other is so long that it's basically useless.
08:56 VanessaE and it gets especially slow as it approaches your target fps
09:06 iqualfragile oh, wow, i never recognized that there actualy was an autotuner
09:07 iqualfragile but now that you have told me i see it, too
09:07 iqualfragile yep, waay to slow
09:09 iqualfragile s/recognized/noticed/
09:42 serengeor joined #minetest-dev
10:06 Calinou_ joined #minetest-dev
10:09 PilzAdam joined #minetest-dev
10:19 iqualfragile_ joined #minetest-dev
11:13 Calinou joined #minetest-dev
11:20 celeron55 VanessaE: can i get such a world from somewhere?
11:21 celeron55 (connecting to your server is too slow from here)
11:25 celeron55 hmm, found one server where this might be possible to test
11:29 kaeza joined #minetest-dev
11:36 celeron55 except that now it became night and i don't see anything
11:37 Jordach joined #minetest-dev
11:52 celeron55 i'm starting to fear that the input to this algorithm has been changed
11:52 celeron55 it's hard to tell how
11:53 celeron55 i need to start picking random versions of minetest and looking up what this eats in each one, fuck this
11:53 celeron55 does anyone know in which version this works?
11:54 celeron55 that would be, like, helpful
11:55 kaeza joined #minetest-dev
11:55 celeron55 yeah
11:56 celeron55 i found it i think
11:56 celeron55 i think the fuckup has been there ever since kahrl moved stuff to camera.cpp 2 years ago
11:57 celeron55 your minds will be blown if this happens to work...
11:57 ShadowNinja Any comments? Can someone test it with IPv6? https://github.com/ShadowNinja/minetest/compare/bind_address
11:59 celeron55 actually no
11:59 celeron55 i was wrong
12:00 celeron55 this variable naming is totally screwed up though, i'll need to look more
12:11 celeron55 bah, this server testing sucks, there's not enough crap built and nobody is to give me fast or anything anyway...
12:12 ShadowNinja celeron55: Try mine. :-)
12:12 celeron55 it's too empty
12:12 celeron55 and homogenous
12:12 celeron55 (tried already)
12:13 init you can download VanessaE's world if you have some time
12:14 init it is 400 or 300 mb though
12:16 init celeron55: if you want to decrease your FPS super-fast, you can just enable new_style_leaves and look at a big jungle
12:18 celeron55 well i'd need quite a huge jungle
12:18 Jordach celeron55, install moretrees; that works too
12:19 celeron55 testing these kinds of things really sucks; why hasn't someone for example created a compact test world for causing this bug?
12:19 celeron55 it's ridiculous that nobody wants to help even a tiny bit in a problem that everyone wants to get fixed... or maybe i'm just thinking VanessaE is everyone
12:20 celeron55 it's ridiculous anyway
12:21 init i would like to see it fixed but my download&upload are worse than a dialup
12:21 Calinou I don't use the dynamic view distance thingy
12:21 neko259 joined #minetest-dev
12:22 init it doesn't work
12:22 init pretty well
12:23 celeron55 well hell
12:23 celeron55 that's why it needs to be fixed
12:24 celeron55 things don't fix themselves, if that comes as surprise to someone
12:25 celeron55 anyway, now with some moretrees crazyness i have a good test setup
12:26 init my fps counter is: 150 when looking everywhere but, 5 when looking at a 'moretree(s) jungle' :D
12:27 PilzAdam I noticed that the auto-tuner gets slower when using a HD texture pack
12:39 neko259 joined #minetest-dev
12:54 celeron55 okay, i found the bug
12:54 celeron55 and fixed it
12:55 celeron55 however, now this is so fast that this needs a way to know how far away stuff was actually drawn so that it can limit the range there
12:55 celeron55 otherwise it assplodes to 240 even if the map was loaded only to 100
12:56 celeron55 and then looking at a jungle is kind of uncomfortable for half a second
13:02 Taoki[mobile] joined #minetest-dev
13:15 celeron55 plantlife and moretrees really kill the server
13:16 celeron55 it's ridiculously unresponsive when it's generating anything
13:16 celeron55 i thought the days of this were gone already
13:16 init it was worse before
13:17 iqualfragile_ are you using luajit?
13:18 iqualfragile_ at least for mobs-mods it helps
13:18 celeron55 i guess not
13:18 PilzAdam they dont use schematics or vmanip yet, I think
13:19 init it is using the place_lsystem or w/e
13:19 PilzAdam oh, right
13:20 celeron55 hmm, actually i have only moretrees and plants_lib i think
13:20 PilzAdam a schematic would be faster, I guess
13:20 init PilzAdam: but less "real"
13:21 celeron55 http://paste.dy.fi/0XL
13:21 celeron55 try that, everyone
13:21 celeron55 and enable the view range tuner with it's default values
13:21 * PilzAdam clicks random finish links to get the raw paste
13:22 celeron55 gist.github.com didn't work so i used that; that works always (finnish are best!)
13:23 PilzAdam sometimes you have to click the button twice on gist
13:25 PilzAdam its not so good: the fog seems to jump directly to the max border way faster than the map loads
13:25 PilzAdam previously the fog was always at the "loading edge"
13:26 celeron55 i clicked like 10 times
13:26 celeron55 well it was way closer to the player than the "loading edge"
13:26 celeron55 i need to make some silly hack to make it follow the loading border
13:27 PilzAdam I never had problems with old code, though
13:27 PilzAdam (only when using HDX)
13:28 celeron55 oh also, fuck hell this anticheat on laggy servers; i knew it's a nightmare but i didn't remember
13:29 celeron55 someone should fix it
13:29 Calinou even on non-laggy servers, it catches players
13:29 Calinou (0.5s of lag = server thinks I go too fast when walking)
13:30 PilzAdam oh god, fancy leaves are horrible
13:33 EdB joined #minetest-dev
13:34 PilzAdam when the FPS go to about 25 then the fog just directly jumps 10 nodes closer to get at >30 again
13:34 PilzAdam the old one was way smoother
13:34 celeron55 well the old one updated twice as slow
13:35 celeron55 but it was unable to do anything fast so it looked smoother
13:35 celeron55 anyway, the question really is, how fast should it be
13:36 init make it a setting, PA likes it smoother, V likes it uber-fast
13:36 PilzAdam the problem is not the speed, but rather that its way beyond the loading edge when starting amap
13:37 celeron55 well okay, i'll do that thing then
13:38 PilzAdam with fancy leaves enabled the old one is indeed too slow, you are too long under 30 FPS
13:39 celeron55 i'm quite proud of how fast this can determine the right range even when the range/fps curve is very wonky
13:40 celeron55 it's a nightmare for simpler algorithms to do anything fast when you're looking at a jungle at a distance
13:40 kahrl when I set wanted_fps = 60 the new one doesn't reduce the viewing range at all when I'm standing in a spot with steady 30FPS
13:40 kahrl haven't tried the old one yet
13:41 celeron55 it's an illegal condition to have wanted_fps >= fps_max
13:41 kahrl nvm, something overwrote my minetest.conf
13:41 celeron55 but i guess it should work
13:41 celeron55 it gives too little headroom for the tuner though
13:43 PilzAdam I wonder why it still caps the FPS at 60 when I set fps_max to 120
13:43 init vsync
13:43 celeron55 on my box wanted_fps=60 always results in a minimum viewing range though
13:44 celeron55 can't render at that speed 8)
13:44 Calinou wanted_fps = 30 gives best results
13:44 PilzAdam wow, with wanted_fps = 60 the new code always keeps the FPS over 55
13:44 Calinou too high gives low FPS for some reason
13:44 Calinou I used to use wanted_fps = 100 and got like 25 FPS
13:44 PilzAdam even when flying with fast speed into a jungle
13:45 init PilzAdam: that is the idea somehow
13:45 celeron55 well yeah, that's kind of what it should do
13:45 PilzAdam init, the old fog was a billion times slower
13:46 PilzAdam init, I have vsync disabled
13:49 celeron55 if you don't do any extreme fancy_leaves stuff, then you never see it even tuning anything, it's so fast 8)
13:49 celeron55 (on a decent computer)
13:50 celeron55 (when it's in the 160-240 range just making sure that fps doesn't drop under 30)
13:51 celeron55 (assuming world is generally loaded that far)
13:56 Calinou PilzAdam: "Sync to VBlank"?
13:56 PilzAdam hm?
13:56 init in nvidia-settings vsync is called "Sync to VBlank"
13:57 init that is what he meant
13:58 Calinou yep
13:58 PilzAdam oh, now I get over 60 FPS
13:59 PilzAdam now I can play at 200 FPS again :-)
14:00 jin_xi joined #minetest-dev
14:03 celeron55 yeah, and completely waste 70% of frames
14:03 celeron55 (well okay, it can give a bit faster keyboard input)
14:04 Calinou you usually don't care for a game like minetest :P
14:04 Calinou and, what if you have a 120 or 144hz :P
14:06 celeron55 they you should vsync to that
14:10 celeron55 n*
14:46 celeron55 http://paste.dy.fi/Po1
14:47 celeron55 that limits the fog to where the farthest mapblocks are drawn
15:05 celeron55 (i'm still figuring out some sane constants in this)
15:28 hmmmm joined #minetest-dev
15:33 PilzAdam hmmmm, https://github.com/PilzAdam/minetest/commit/e5567254c2a092dc5a3e555b0725947861a821f4
15:33 hmmmm what is this
15:34 hmmmm why would content ignore ever, ever be placed?
15:35 PilzAdam ignore is written to the files when the node has a probability of 0
15:35 hmmmm oh shit don't tell me i never fixed that
15:35 PilzAdam and ignore is ignored when actually placing the schematic, so its never actually placed
15:36 hmmmm yeah
15:36 hmmmm that's fine then
15:37 hmmmm i really wish i could change the way probabilities work
15:39 PilzAdam is that possible without breaking the current format?
15:40 hmmmm it's not
15:40 kahrl increment the file version and, when loading an old file, fix up all param1 values
15:40 hmmmm it hasn't been officially released yet even
15:41 hmmmm alright, pilzadam, i'll make a new version for schematics, you don't have to commit that
15:43 hmmmm i need my coffee first though
15:46 celeron55 i'm going to push a slightly tuned version of what i pasted; i guess that's ok
15:48 PilzAdam yep
15:51 celeron55 then i'd have a... thing that makes it less likely for the sky to look odd when turning to look it after looking at a ground that has caves
15:51 celeron55 http://paste.dy.fi/Pj3
15:52 celeron55 these tend to look kind of messy because... well, that's just their nature as they try to hide the deficiencies of the actual things 8)
15:53 celeron55 i wanted to do that because that happens in moretrees jungles too
15:54 celeron55 i'll just push it, nobody should have any reason to complain i guess
15:54 PilzAdam that patch doesnt apply correctly...
15:55 celeron55 umm
15:55 celeron55 well i have no idea why that would be
15:56 PilzAdam the pastebin has converted tabs to spaces
15:56 celeron55 oh, i think i know... yes, that 8)
15:57 celeron55 http://paste.dy.fi/Pyz/plain
15:57 celeron55 it was actually my terminal who did it
15:59 PilzAdam cant really see a major difference, throw it in
16:01 kahrl definitely looks nicer
16:01 celeron55 the sky color glitch is still visible with it if you look for it, but accidentally noticing it is harder
16:02 kahrl I was wondering what could be done about it since every time I watched somebody on youtube play minetest for the first time, they noticed it
16:03 celeron55 of course making it even less visible is possible by just changing a value, but then i'd risk making it glitch visibly in some other kind of situation
16:05 Calinou joined #minetest-dev
16:06 celeron55 next in this bug-fixing sprint: i will set up a minetest server with moretrees where you will join, and i will tune the anticheat until it doesn't screw you up
16:06 celeron55 other laggy mod suggestions are welcome
16:06 PilzAdam Simple Mobs
16:06 Calinou why not mobf, PilzAdam :P
16:07 celeron55 i don't think those should cause such lag that would affect this
16:07 celeron55 or... hope
16:07 celeron55 oh well, i bet it'll hate you even without any mods
16:08 kahrl just put a sleep(5) in a register_globalstep :P
16:12 NakedFury joined #minetest-dev
16:14 celeron55 running now at c55.me
16:15 celeron55 hmm, i should remove fast to make it more apparent
16:15 celeron55 oh i don't have privileges to set privileges
16:15 celeron55 well lol
16:17 PilzAdam umm, do you use finite liquids?
16:18 celeron55 dunno, they might be on for testing
16:18 celeron55 apparently they are
16:19 kahrl well this is unrelated to everything but the first thing I saw was the water glitch
16:19 Calinou it looks like mod downloader doesn't work for me
16:19 Calinou when I click "download", I just get 2 empty windows
16:19 kahrl where the water looks opaque when looking horizontally and transparent when looking down
16:21 celeron55 it's up
16:31 salamanderrake joined #minetest-dev
16:33 kaeza Calinou, same here
16:37 AllegedlyDead joined #minetest-dev
16:39 celeron55 i need to make some kind of a "cheat time pool" for each player
16:40 celeron55 which collects time to a certain maximum, and when the player does something, that pool is checked and if there's enough time in it, the action is allowed and the time required for it is removed from the pool
16:40 celeron55 the maximum needs to be larger than the maximum server lag spike
16:40 BlockMen joined #minetest-dev
16:41 celeron55 with moretrees on this thing the server seems to halt for about 15 seconds when generating, i think
16:42 init configurable time?
16:42 celeron55 or, well... that pool is required for digging anticheat
16:42 celeron55 movement can be just made to be checked at a veeery long interval
16:42 celeron55 like half a minute should generally work
16:42 celeron55 (it's currently 1s, which just doesn't work)
16:43 PilzAdam why dont check movement each time a player sends his position?
16:43 celeron55 and then what?
16:43 celeron55 that's the time pool way of doing it
16:43 celeron55 but it doesn't matter when you check it, it's all the same
16:44 celeron55 (the interval just matters)
16:45 celeron55 PilzAdam: the way a server sees it when it lags is that there is a dtime of 15 seconds when the player doesn't move much, then there is some normal movement and then there is a dtime of 0.1 when the player moves the amount it moves in 15s
16:45 celeron55 8)
16:45 celeron55 digging goes similarly
16:45 PilzAdam why not add a timestamp to the position the client sends?
16:46 celeron55 timestamp... set by whom?
16:46 init that wouldn't fix it
16:46 init the client, i guess he meant
16:46 init a client that can fake it
16:46 PilzAdam celeron55, time since last position update
16:47 celeron55 so a client sends always 0.1 is and the server is happy?
16:47 celeron55 -is
16:47 PilzAdam the server checks then a) if the amount of time already passed and b) if the client can move that far in this amount of time
16:48 celeron55 or do you mean we'd modify the network stack to attach a time to each received packet
16:48 PilzAdam yea
16:48 celeron55 doing that in the network stack work for mod lag because the network stack runs in an another thread
16:48 celeron55 however, it does not help for network lag
16:49 celeron55 how large problem is network lag though
16:49 celeron55 what kind of RTT did you get?
16:50 init my normal latency to any server in europe is between 250 to 450
16:50 init (argentina)
16:51 BlockMen i found a way to fix the formspec issue on win builds
16:51 PilzAdam imagine the scenario that the client lags for 1 second, and the server gets all the 10 position update packages at once
16:51 BlockMen can someone test if it breaks sth on linux?
16:51 BlockMen https://github.com/BlockMen/minetest/commit/d2cee9111c845a2af0725492e78b15f97bb517a6
16:51 PilzAdam if there is no time difference added to the package then the server would think that client has moved all the way at once
16:52 PilzAdam but if the client adds the delta time to each package, then the server could reconstruct what actually happened on the client side
16:52 init PilzAdam: the client can fake the number
16:52 PilzAdam and to prevent false delta times the server subtracts it from 1 second lag
16:53 celeron55 the server wouldn't do that but it would periodically check that the client's delta times add up to roughly what the server thinks they should
16:53 celeron55 however, that requires a protocol change and doesn't give any actual benefit over the "lag pool" that i originally intended to do
16:53 PilzAdam each client could have a time pool on the server where the deltas are subtracted
16:53 celeron55 i'll probably do the lag pool
16:53 celeron55 you don't need that protocol thing for it at all
16:54 kahrl why not simply check the "evil" bit in the IP header?
17:24 celeron55 okay, it's up now
17:24 celeron55 try if you can cause cheat prevention with regular playing and try if you can cause it with a hacked client
17:33 PilzAdam celeron55, you actually dont need a hacked client
17:33 aoper joined #minetest-dev
17:33 PilzAdam the sneak elevator is enough to trigger it
17:35 celeron55 oh, that's right
17:36 Calinou except if you do it slowly :p
17:36 celeron55 well you do need a 30 second long sneak elevator to trigger it in this though
17:37 celeron55 or, well, walk continuously, then take the elevator and walk more :P
17:37 celeron55 oh
17:37 celeron55 actually if you just take it, jump down and do that in a loop, that'll cause it too
17:38 Calinou isn't downward speed ignored?
17:39 PilzAdam I cant seem to trigger it
17:40 celeron55 Calinou: yes but upward is not
17:42 PilzAdam I cant trigger it with a not hacked client
17:45 celeron55 i did some changes, i'll restart the server
17:47 PilzAdam I just got reverted on the sneak elevator
17:47 PilzAdam it works
17:48 celeron55 i made it a bit more strict for movement
17:48 BlockMen joined #minetest-dev
17:48 celeron55 it still shouldn't fuck up regular players because it's Good(tm)
17:48 PilzAdam it seems to revert too much
17:48 celeron55 does it, i'll still have to test myself
17:48 PilzAdam even when I stop fast or completly stop moving I get reverted
17:49 celeron55 hacking gets pooled up in the lag pool
17:49 celeron55 and if lag happens in a certain way, the effect can come much later
17:50 PilzAdam so short "sprints" are not reverted?
17:51 celeron55 no; how could they? the server can't be sure if what it's seeing is happening now or 15 seconds before
17:52 celeron55 also you can dig a bunch of nodes fast in a row, but if you continue it more than what you could in the time the lag pool contains, they'll get reverted
17:52 celeron55 the server reverts everything it can be sure didn't happen legitimately and allows everything else
17:53 PilzAdam normal walking works without problems
17:56 celeron55 also the lag pool starts at 0
17:56 celeron55 so if you start going fast or spamming nodes immediately, you get limited immediately
17:58 PilzAdam can you turn off creative mode so I can test too fast digging?
17:58 celeron55 oh yes, i was just going to
17:58 kahrl BlockMen: that looks like a memory leak
17:59 kahrl btw instead of narrow_to_wide("string literal") you can do L"string literal"
18:01 PilzAdam celeron55, wow, that works amazingly good
18:02 PilzAdam oh wait
18:02 kahrl oh, wlabel = (wchar_t*) narrow_to_wide("").c_str(); was in the original code too, what the heck
18:02 init i guess someone was trying to code in brainfuck kahrl
18:02 kahrl this allocates a temporary std::wstring and gets the c_str() from it, then destructs the std::wstring and continues to use the c_str()
18:02 celeron55 kahrl: that code will work only by shere luck
18:02 celeron55 (and often does)
18:03 celeron55 sheer*
18:04 BlockMen kahrl, memory leak at my code?
18:04 PilzAdam hmm, if I try to dig stone with a hand it always gets reverted; but when insta-digging dirt the first ~40 nodes are actually removed, and then they still move faster in my inv than normal digging
18:04 kahrl BlockMen: yeah, wgettext's return value is allocated by new wchar_t[]
18:04 kahrl but your code never deletes it
18:05 BlockMen so with my idea i need wchar_t AND wstring, but delete wchar_t again, right?
18:05 kahrl I wonder why wgettext doesn't return std::wstring
18:06 kahrl that's just asking for memory leaks
18:06 kahrl BlockMen: yep, should work
18:07 kahrl you could make a wrapper around wgettext that does exactly that (returns a std::wstring, deletes the temporary wchar_t*)
18:08 BlockMen with wrapper you mean a function?
18:09 kahrl yep
18:09 BlockMen ok, thx
18:09 BlockMen will do then
18:12 celeron55 i have to do one thing still though... and fix an another thing that i broke 8)
18:15 PilzAdam you can insta-break 14 tree nodes in a row before the server thins you are cheating
18:16 PilzAdam if you cut down regular trees then it will probably be a lot more (since they only have a 4 to 5 nodes trunk)
18:16 celeron55 that's why i need to make a lag detector that scales the lag pool
18:16 celeron55 also, insta-break isn't much of hakcing
18:16 celeron55 hacking*
18:17 celeron55 that doesn't really matter; what matters is when people come and immediately delete the spawn of a server with mass command 8)
18:17 celeron55 or insta-break steel towers
18:18 PilzAdam yea, breaking stone with a hand is always reverted
18:18 celeron55 or teleport around
18:18 PilzAdam also something should be written to log, like a "hack counter" for each player
18:18 celeron55 i think it should also be reported to the player in chat
18:18 celeron55 so that they know why things go oddly
18:18 PilzAdam e.g. if a player tries to break 10 stone nodes with a hand then admins will probably want to ban him
18:18 celeron55 cheaters know they're cheating anyway so they don't get any extra information of it
18:19 sfan5 how 'bout VL(Violation Level)  many plugins for MC use this term?
18:19 Calinou NoCheatPlus uses a VL system
18:19 PilzAdam maybe just report it to a mod?
18:19 PilzAdam so
18:19 PilzAdam so it can be handled by mods to auto-ban or something
18:19 celeron55 i'll try to get this in a simple and working form; you can attempt to design something fancy
18:19 celeron55 but yes, a mod callback would be good
18:20 Calinou it'd be nice if you were forced to look at the node to mine it
18:20 Calinou NCP does that
18:20 sfan5 not only a callback also a way to check the value of a player
18:20 PilzAdam sfan5, what value?
18:20 celeron55 Calinou: that isn't really doable because of how laggy a minetest server is, and also that is incredibly easy to cheat with a hacked client without anything noticing
18:20 Calinou yes, that is the main problem about it
18:20 celeron55 sfan5: a value will not be stored by the minetest engine
18:20 sfan5 PilzAdam: "hack counter"
18:20 celeron55 it's a mod thing
18:21 PilzAdam sfan5, the mod should implement that
18:23 BlockMen is this function ok? -> http://pastie.org/private/gg4ld6xjsxypetlah0gtg
18:24 sfan5 BlockMen: no
18:24 BlockMen :( why?
18:25 sfan5 if the casting to std::wstring is not done by something that uses strcpy 'out' will be invalid after the delete[]
18:25 sfan5 but I don't know its behaviour
18:25 sfan5 so you'd have to test it
18:33 celeron55 what
18:33 celeron55 that's completely valid
18:34 celeron55 std::wstring contains a buffer in itself and happily strcopies a C-style string into it in the contructor or operator=
18:40 sfan5 <sfan5> but I don't know its behaviour
18:41 sfan5 celeron55: do you know what params the callback will have?
18:44 VanessaE celeron55: that autotuner commit seems to work pretty good, save for one glitch:  sometimes the view range will jump down by some large step and then back up while running.
18:44 VanessaE (I'd have checked earlier but I was AFK, sleeping)
18:47 VanessaE that might annoy some people, but it's a vast improvement over the previous code.
18:47 celeron55 sfan5: no, that's to be designed
18:47 celeron55 sfan5: feel free to propose something
18:47 VanessaE init: I don't have a download of the server anymore - it's like 1.4GB now.
18:48 sfan5 player[object], numberofblocksdugtoofast[uint], (others that may be useful)
18:48 sfan5 something like that
18:49 BlockMen celeron55, ok. thanks for the hint
18:50 init VanessaE: oh
18:50 BlockMen kahrl, what have you ment with ' L"string literal" '? why shouldnt i use this util function?
18:50 PilzAdam minetest.register_on_hack(func(player, hack)) -- hack = {type="<moved_to_fast/dug_unbreakable_node/dug>}
18:50 PilzAdam *minetest.register_on_hack(func(player, hack)) -- hack = {type="<moved_to_fast/dug_unbreakable_node/dug_too_fast>, amount=<int>}
18:51 VanessaE celeron55: also, it likes to settle on a fps that's considerably higher than what I've requested in minetest.conf (typically around 10fps more).  Not that I'm complaining about that :P
19:40 BlockMen kahrl, nvm
19:41 hmmmm anyway
19:41 hmmmm this is going to change how place_schematic works a little bit
19:42 hmmmm the old schematic files would still work fine, it's just that everybody who is using the api would have to change their usage of it (if they use 0 probability anywhere, that is)
19:42 PilzAdam hmmmm, I guess thats ok
19:43 hmmmm it is because it's upstream, unstable
19:43 hmmmm if this sort of change were to happen after some releases, i'd add a separate place_schematic_ex() or maybe have another optional requested_version parameter
19:44 hmmmm so basically what i'm doing is, now a probability of 0 means never placed, a probability of 255 means always placed, and everything in between is the random
19:45 hmmmm if the schematic version is 1, it needs to fix some things, basically goes through all the nodes changing probability value 0, which previously meant always place, to 0xFF, which now means always placed, and if there was an ignore entry in the node id map, it'll replace that with air and set the probability for all nodes of that type to 0
19:45 hmmmm hacky but what do you honestly expect
19:46 hmmmm i suppose i can make a forum topic about the changes so people can do something about it
19:56 BlockMen ok, changed everything now -> https://github.com/BlockMen/minetest/commit/f6cb5215911659ff9531e175d28c31e4ce0a9774
19:56 BlockMen want someone look again or should i open pull?
19:57 PilzAdam wstrgettext() should go into gettext.h
19:57 sfan5 BlockMen: please s/needed for displayed in win-builds/Needed for displaying text on Windows/
19:58 PilzAdam s/windows/MSVC/
19:58 PilzAdam since it works fine with mingw
19:59 BlockMen PilzAdam, sfan5 ok
20:00 BlockMen and do you know it works with mingw or do you guess?
20:00 PilzAdam I know  the my builds work
20:00 PilzAdam *that
20:01 BlockMen but you are compiling under linux, so it may be an windows issue
20:02 PilzAdam no that doesnt matter, you can compile under windows with mingw too
20:02 sfan5 BlockMen: its not important where you compile on, its only important for what you compile
20:02 PilzAdam its just MSVC being stupid again
20:02 PilzAdam as always
20:04 BlockMen fine. i will change to msvc :P
20:14 BlockMen when i move it to gettext.h i get many errors like this -> http://pastie.org/private/3iici7qhruqjlsupshwexa
20:17 celeron55 PilzAdam: i have made final tunings and fixes to the anticheat
20:17 celeron55 now it measures maximum server lag and bases it's lag pools on that; /status tells the max_lag value measured like that
20:20 PilzAdam should I test it on your server again?
20:20 celeron55 you could give it a short try 8)
20:21 BlockMen nvm
20:21 BlockMen found out
20:24 PilzAdam celeron55, that works a lot better, I only can insta-dig 10 instead of 40 dirt now
20:27 sfan5 its is heavily rtt dependant
20:27 sfan5 with rtt = 0.500 I can dig 35 dirt before resetting
20:27 BlockMen ok, i made a pull request now -> https://github.com/minetest/minetest/pull/858
20:28 sfan5 BTW: I've already written a NoCheat mod that works with PilzAdam's proposal of the callback
20:29 PilzAdam celeron55, is the max_lag per client or global?
20:31 celeron55 global
20:31 celeron55 it measures "mod lag"
20:31 celeron55 sfan5: it's not RTT dependent at all
20:32 PilzAdam is it in seconds?
20:32 sfan5 with dirt it is for me
20:32 celeron55 sfan5: it's dependent on how long you sit still without cheating between tries
20:32 celeron55 PilzAdam: yes
20:33 celeron55 maybe it's been tested enough now
20:34 PilzAdam its better than before
20:35 celeron55 of course on a server with less mod lag it will be more strict, as it knows mod lag can't be the reason for things happening at odd times
20:35 VanessaE still using moretrees as a source of mod lag? :P
20:35 celeron55 anyway, the goal of this was that anticheat doesn't ever need to be switched off
20:35 celeron55 VanessaE: yes
20:36 celeron55 VanessaE: it's good at doing that
20:36 VanessaE heh yeah
20:36 VanessaE it's the engine's lighting code I guess
20:36 VanessaE hmmmm could better explain it
20:36 sfan5 VanessaE: moretrees gives me 10 fps
20:37 VanessaE sfan5: yep, I know.  can't be helped without further improvements in the rendering code I gues
20:37 VanessaE +s
20:38 celeron55 without fancy leaves moretrees works perfectly fine on this i3 box
20:39 sfan5 I meant with fancy leaves
20:39 sfan5 almost no graphics card can handle fancy leaves without fps drop
20:39 celeron55 well that's probably never going to be fast
20:39 celeron55 better just live with that
20:40 VanessaE that VBO patch + exio's "hardcode the value of 'e' " tweak, fancy leaves on moretrees have little effect on my fps
20:40 VanessaE +with
20:41 VanessaE the biggest drop I see is when the engine used to do that "out of indicies"/"too many for 16-bit type" thing.  When that was fixed, it got a little better (at least stuff renders now), but I suspect something isn't working right with that code.
20:41 celeron55 not likely
20:42 VanessaE just a guess
20:42 hmmmm i haven't profiled the L-system tree spawning myself, but i'm fairly sure that the slowness mostly comes from Map::updateLighting() which is based on the original slow algorithm and it also takes all corner cases into account, like updating the light in the edge of blocks for instance
20:42 VanessaE I used to see massive framerate drops when that error would happen
20:42 hmmmm i could create a dummy Mapgen base class and run Mapgen::calcLighting on it and see what happens
20:42 VanessaE hmmmm: thanks for (repeating) the explanation.  (I can never seem to remember it in full)
20:43 hmmmm I really wonder if l-system trees in the core is necessary these days with VoxelManip and all
20:43 VanessaE hmmmm: it definitely is necessary, because it allows for randomness with each placed tree
20:43 jin_xi joined #minetest-dev
20:43 celeron55 they don't hurt
20:44 celeron55 of course if they were made now, one could seriously consider using lua only but whatever
20:44 hmmmm yeah, but jin_xi's real lsystems require quite a bit of custom lua code
20:44 hmmmm lsystem trees are quite limited in that they only do tree stuff
20:44 VanessaE hmmmm: I mean in the standard L-systems code.  there are randomness features.
20:44 PilzAdam I think the lsystem in the engine is too ungeneric
20:44 hmmmm jin_xi's system is the ideal l-system implementation pretty much
20:44 hmmmm pilzadam, yes..
20:44 salamanderrake left #minetest-dev
20:45 VanessaE PilzAdam: only the name is perhaps too specific, you can use it to generate most anything that can use three or fewer nodes
20:45 VanessaE node types
20:45 hmmmm I am really hoping that he upgrades it to use LuaVoxelManip and whatever
20:45 hmmmm hrmm
20:45 VanessaE hmmmm: someone said the tree code first emerges and allocates a 1x3x1 chunk area to write to, maybe making it use vmanip wouldn't be that hard?
20:45 hmmmm a lot of people seem to use place_schematic as a "fast way" to do things but it's not designed to be fast
20:46 hmmmm if i wanted to make place_schematic faster, the very first thing i'd do is add a separate load_schematic function
20:46 hmmmm and then i'd add the option to use fast lighting or accurate lighting
20:46 hmmmm see, using the fast lighting means that light sources will get cut off at the end of the emerged chunk
20:47 hmmmm VanessaE, what do you mean?
20:47 hmmmm the lsystem tree code uses vmanip already
20:47 PilzAdam hmmmm, the reason why people see it as "the fast way" is that it is faster than what was done previously
20:47 VanessaE oh.  ok :D
20:47 VanessaE in that case ignore that last comment
20:48 jin_xi i did some experiments yesterday: generating roads with pathfinding and bresenham, to get a line
20:48 hmmmm alright, so here's what i'll do
20:48 jin_xi then spawn short axioms or schems along it
20:48 hmmmm well
20:48 jin_xi schematics is waay faster
20:48 hmmmm i'll add a load_schematic function that returns some sort of schematic ID which is then referenced in place of the schematic table in subsequent place_schematic calls
20:49 hmmmm and the optional fast lighting param
20:50 PilzAdam why do you want to increase the speed now? doesnt it make things more complicated?
20:50 hmmmm of course, only the conscientious people will use this... but that's fine, because those who don't care are already doing stupid slow things
20:50 hmmmm like taoki, i said to him "show me the code where you use voxelmanip when you're done with it so i can catch if you're doing anything stupid"
20:50 hmmmm which he didn't
20:51 hmmmm and i looked at it a week later and he did exactly what i figured he'd do
20:51 hmmmm thing is, being fast is really important because in a mod you're holding up the entire server to do whatever it is
20:51 sokomine there are still some slight errors with place_schematic on not yet generated land. somehow, dirt generates on top of the houses, and sand is falling down. also there are some lighting errors. most of the time it works very fine :-)
20:52 mrtux joined #minetest-dev
20:52 sokomine many thanks to hmmm for implementing place_schematic and to pilzadam for implementing a replacement function!
20:52 sokomine now i can avoid a very hacky read-file-change-value-write-file-feed-it-to-place_schematic used yesterday
20:53 celeron55 okay so i pushed the anticheat stuff
20:54 celeron55 the callback should yet be made
20:54 sfan5 celeron55: could you install the spoiler tag forum plugin
20:54 sokomine fine! that will help as well. it was annoying to constantly getting reset for doing nothing but moving fast
20:54 celeron55 sfan5: for the millionth time: i don't maintain the forum
20:54 sfan5 but you are also an admin
20:55 celeron55 i don't want to touch it; thexyz does that job well
20:55 sfan5 and you haven't told me once that you don't maintain it
20:55 celeron55 oh well whatever; that's the answer anyway
20:56 sokomine btw, any hints on how to do on_create for the placed nodes in the schematic in the best way? calling it for each node seems a bit too much. only a few nodes need special treatment (furnaces, chests - those need special handling anyway, water sources)
20:58 sokomine that is...running on_create for each node in the area placed or using find_nodes_in_area on the area - or using something else- what would you recommend?
20:59 PilzAdam its called on_construct
21:00 sokomine oh, sorry, yes, that's what i mean
21:00 PilzAdam its nil by default, so you just can loop through the area and check if its defined
21:06 nore_ joined #minetest-dev
21:09 nore_ do you think 655 should be merged before 0.4.8?
21:10 nore_ it is configuration for max far objects
21:12 nore_ and 852, for TP selection?
21:13 VanessaE I'd like to know more about #655 actually
21:13 VanessaE since no one has answered the "why 49?" part
21:14 nore_ i think it is quite old, back to times where entities where buggy
21:14 VanessaE entities are still buggy :P
21:14 PilzAdam celeron55, FYI, 1.3 to 0.8 seconds max_lag with builtin stuff only
21:14 VanessaE that duplication bug is getting pretty severe as more people use entities
21:14 nore_ i reckon only celeron55 knows the answer
21:14 PilzAdam my game does not do anything dynamic
21:17 nore_ vanessae, less than before
21:17 VanessaE nore_: somewhat - but I still see weird things, like signs entities duplicating themselves over time, even though they're totally static
21:18 nore_ and what about TP selection? Several core devs are OK for it, I reckon
21:19 PilzAdam nore_, there is still stuff to do / to decide for TP selection
21:19 PilzAdam see my last comment on it
21:21 celeron55 (i'm doing an initial version of the callback thing now)
21:21 nore_ the "all" folder thing? it is for compatibility and for textures that willbe overridden regardless of TP
21:22 VanessaE imho, texture folders belong in textures/ not textures/all
21:22 VanessaE then textures/all could be linked to "the default textures"
21:22 VanessaE or not
21:22 nore_ textures folders are in textures/
21:22 VanessaE that would break custom fonts
21:23 celeron55 what are you even talking about
21:23 VanessaE so textures/all will override whatever's in say textures/my_kickass_textures ?
21:23 nore_ textured/all is for default
21:23 PilzAdam celeron55, https://github.com/minetest/minetest/pull/852
21:23 nore_ celeron5852
21:23 celeron55 textures/ is supposed to have texture packs under subfolders; all is just the name of the texture pack that has no name because there weren't named texture packs before
21:23 PilzAdam basically a GUI to change texture_path to folders in textures/, each folder represents a texture pack
21:24 nore_ default is textures/all, so no chnage
21:24 nore_ to what was before
21:25 PilzAdam there is no "default" texture pack, such a thing does not exist
21:25 VanessaE nore_: what happens if I have a file or two in textures/all but I have textures/my_kickass_pack selected in the main menu.  Will those couple of files still be used, like usual?
21:25 PilzAdam what people mean by "default" should simply be called "non"
21:25 PilzAdam *none
21:25 nore_ it is texture path =tex /alltures
21:26 celeron55 it should be thought so that currently only one texture pack is supported and is always selected, and it is the texture pack called "all"
21:26 nore_ first, those in the TP folder, then textures/all
21:26 VanessaE nore_: ok, good.
21:27 celeron55 ...what, are you making it so that textures/all is always checked not depending on the chosen texture pack?
21:27 nore_ celeron55, exactly, except that in the menu, it  is called default, because this isbetter for users
21:27 PilzAdam celeron55, so "all" would be become deprecated if we actually have support for texture packs in textures/
21:27 celeron55 PilzAdam: yes
21:27 PilzAdam and there is no point in keeping it
21:27 VanessaE textures/all needs to always be checked no matter what
21:27 PilzAdam VanessaE, use base/pack instead
21:28 PilzAdam for your font and stuff
21:28 VanessaE base/pack?  that's kinda hacky isn't it?
21:28 celeron55 nore_: there's probably space in the gui to call it "all (old location)" or something more informative
21:28 nore_ celeron55, i did not change the engine, it only changes texture_path
21:29 nore_ so textures/all was checked after texture_path, same now
21:29 celeron55 uhm
21:30 celeron55 well i think i'll have to be okay with that then
21:30 nore_ and what about #655
21:31 sfan5 nore_: needs a rebase
21:31 nore_ the  49 objects limit had what origin?
21:31 nore_ sfan5, again?
21:31 sfan5 yes
21:32 nore_ i will do itt tomorrow, i am on a tablet right now, and that is why i make tons of typos
21:36 nore_ bbl
21:37 VanessaE if anticheat works well now, #797 can be closed I guess
21:39 sfan5 damnit PilzAdam
21:39 sfan5 you're too fast
21:39 PilzAdam <- ninja
21:39 VanessaE haha
21:40 proller joined #minetest-dev
21:48 celeron55 http://paste.dy.fi/omH
21:48 celeron55 i guess that's quite KISS
21:49 celeron55 it can be extended sometime if needed; as of now there's just a type
21:49 PilzAdam seems good
21:50 sfan5 would be good if that'd get commited right now
21:50 celeron55 well i'll do that
21:50 celeron55 this is probably kind of breaking the semi feature freeze, but it wasn't really declared anyway so whatever
21:52 celeron55 it's there
22:01 celeron55 does someone have some DoS tool available?
22:03 Exio4 ask sfan5
22:29 sokomine something else that would be great for schematics: mirror
22:42 sfan5 PilzAdam: I need HackerAdam on sfan5.duckdns.org:30009
22:52 sfan5 thanks for helping me test
23:07 ch98 joined #minetest-dev
23:08 ch98 left #minetest-dev
23:26 ch98 joined #minetest-dev
23:27 ch98 left #minetest-dev
23:59 Miner_48er joined #minetest-dev

| Channels | #minetest-dev index | Today | | Google Search | Plaintext