Minetest logo

IRC log for #minetest-dev, 2015-04-03

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

All times shown according to UTC.

Time Nick Message
00:27 chchjesus joined #minetest-dev
00:29 shadowzone joined #minetest-dev
00:30 Babizera joined #minetest-dev
00:35 Zera joined #minetest-dev
00:44 chchjesus joined #minetest-dev
01:04 ZeraRoox joined #minetest-dev
01:05 Fritigern joined #minetest-dev
01:39 est31 joined #minetest-dev
02:06 rickmcfarley joined #minetest-dev
02:36 deltib joined #minetest-dev
02:53 ZeraRoox joined #minetest-dev
02:56 Player_2 joined #minetest-dev
03:06 chchjesus joined #minetest-dev
04:05 Tablet_One joined #minetest-dev
05:08 Miner_48er joined #minetest-dev
06:20 Megaf joined #minetest-dev
06:22 jin_xi joined #minetest-dev
06:30 Hunterz joined #minetest-dev
06:36 hmmmm today was not a very minetesty day
06:37 VanessaE that could change :P
06:37 VanessaE unfortunately it's late :-/
06:39 hmmmm :/
06:39 hmmmm so busy lately
06:39 hmmmm hopefully that'll change
06:41 est31 what do you ppl think, which hash alg for speed improvements?
06:41 VanessaE what's the target for the hash?
06:41 est31 I want to make a std::unordered_map
06:41 VanessaE recipes?
06:41 est31 yes
06:41 VanessaE oh
06:42 hmmmm eh
06:42 VanessaE idk, md5? :)
06:42 hmmmm est31, about that... I would hold off if I were you
06:42 est31 my idea would be xxhash
06:42 est31 why hmmmm?
06:42 hmmmm I make everything that should be a hashtable into a std::map, and then when the time comes to switch to C++11, we go through all instances of std::map and see if it's able to get changed to std::unordered_map
06:42 hmmmm and same with std::set
06:43 VanessaE *looks up xxhash*  wow, that IS fast
06:43 hmmmm C++11 should be coming soon(tm)  (we're waiting on debian, i think...)
06:43 est31 yea this month
06:43 hmmmm you serious?
06:43 est31 unordered_map is specified < c++11
06:43 VanessaE you sure deb stable will gain this?
06:44 VanessaE I mean without big reinstalls etc
06:45 hmmmm VanessaE:  I don't really know... but once gcc 4.6 or newer is on all supported distros/platforms, there's no really good excuse for holding back as long as mingw works
06:45 hmmmm switch to C++11 if only for the speed gains
06:45 est31 or no, you are right, its c++1 only
06:45 VanessaE hmmmm: that's fair, it's just you know how long some hosts can take to update their stuff
06:45 est31 c++11*
06:45 hmmmm yeah... not 100% sure what the plan is
06:46 VanessaE when I was shopping around recently, I swear I was seeing places where Debian 6 was still being offered
06:46 est31 weird doc ----> http://en.cppreference.com/w/cpp/container/unordered_map
06:46 VanessaE (in addition to 7 of course)
06:46 est31 other doc, sais its > c++11 -------> http://www.cplusplus.com/reference/unordered_map/unordered_map/
06:46 hmmmm huh?
06:47 hmmmm est31:  the cppreference.com link has "(since C++11)" there
06:47 hmmmm in green, off to the right of the declaration
06:48 est31 yes, I thought it was only about the hash part
06:49 est31 would have been a very breaking way to introduce new params
06:49 jin_xi hm working on particles i noticed something
06:49 hmmmm agreed
06:49 jin_xi it seems like for every particle spawner that is expiring by itself we leak an id
06:49 est31 so then it will be a map
06:49 hmmmm figures as much
06:49 jin_xi so i wonder where to keep track of those on server side
06:49 est31 with a comment // change this to unordered_map when c++11 can be used
06:50 hmmmm in fact i'm pretty sure all of the current particle code had memory leaks
06:50 hmmmm merging that has to be my biggest regret so far
06:50 jin_xi here: https://github.com/minetest/minetest/blob/master/src/server.cpp#L2956
06:51 hmmmm that is so cringeworthy
06:51 jin_xi m_particlespawner_ids is only handled with explicit add and delete of spawners, as expiration happens only on clients
06:51 hmmmm i'm wondering if it's worth fixing particlespawners
06:52 hmmmm jin_xi, i think you should scrap the entire current implementation minus the network packet format
06:52 jin_xi thats what im doing
06:52 hmmmm thank you.
06:52 jin_xi still server needs to know spawners, mostly to give them unique ids
06:53 hmmmm hehehe
06:53 hmmmm :)
06:54 hmmmm I didn't get around to writing up the proposed design, but basically hud, particle spawners, formspecs, and sounds are four easy targets for client side modding
06:55 hmmmm the plan is to remove them from server-side completely, reimplement the current apis in lua, and use the ObjDefManager setup to manage them
06:56 jin_xi so i ignore this problem just as its being done now and work on other details
06:56 hmmmm well, no
06:56 hmmmm there's really no telling when client side modding will happen
06:57 jin_xi then i need help to come up with a solution
06:57 est31 vessels should be client side too.
06:57 jin_xi i would just increment a number and wrap on overflow...
06:57 hmmmm that's doable
06:57 hmmmm how big is the ID field?
06:58 hmmmm 32 bit in the Server:: methods, it seems, but I think it's incredibly inconsistent
06:58 hmmmm if I recall it's 16 bit inside the packets
07:01 jin_xi another highly annoying thing is that effin camera_offset
07:02 jin_xi i wonder what glitches thats fixing
07:03 VanessaE you mean the every-200-nodes thing?
07:04 nrzkt joined #minetest-dev
07:04 VanessaE that was added to counter irrlicht rende rounding errors or some such, that used to happen once you get out more than about 2km from the map center.
07:04 VanessaE render*
07:06 nrzkt hmmmm: experienced the replacement of our JMutexAutoLock with std::lock_guard on a separate branch, that's okay. Replacing also JMutex with a JMutex: std::mutex works great too :)
07:06 hmmmm what?
07:07 jin_xi yes i know, but i wonder what kind of errors it caused. because the offset thing is not without its problems.
07:07 hmmmm I don't quite get what you mean by that, but std::mutex is C++11.
07:07 nrzkt yes, you talked about C++11 i see in the logs :p
07:07 jin_xi for one it breaks helicopter mod, attachments get torn and players teleported
07:07 nrzkt then i tell you i tested it with minetest core (and also i use it on my own server)
07:07 hmmmm nrzkt, I am glad it works great for you but I would much prefer that we don't make such a drastic change
07:08 hmmmm there are subtle differences we may not know about... not so with std::unordered_map
07:08 nrzkt the change is simple in fact
07:08 hmmmm one has much higher potential for disaster because its errors are subtle by nature
07:08 nrzkt i don't experienced std::unordered_map, only test std::mutex and std::lock_guard
07:08 hmmmm you thought changing std::list to std::vector was easy
07:08 hmmmm and look at how many bugs that caused
07:09 nrzkt because only the usage was wrong because i haven't read carefully one function, right
07:09 hmmmm it's not that simple.  it's NEVER that simple!  and we can't go around breaking things willy nilly because our upstream version must have some semblance of stability
07:09 hmmmm I am not going to rush things any more
07:10 nrzkt but i can tell you the std::mutex and std::lock_guard change can be done safely, i'm using in since ... 2 weeks on my server without any problem. I don't tell we must switch it
07:10 hmmmm if a huge change like that is going to rot away too quickly due to merge conflicts, well then, break it up into small pieces
07:10 nrzkt i tell this is possible, that's a little bit different :p
07:10 hmmmm I don't care how long you tested it on your own server
07:10 nrzkt and i don't care that you tell me te be slow, because i don't tell i will merge it into master.
07:10 hmmmm the network changes were tested for a MONTH on multiple peoples' servers and problems were still found
07:11 hmmmm nrzkt:  I didn't quite understand your last sentence.  are you saying that you're going to commit it without approval?
07:12 nrzkt hmmmm: wake up. You tell exactly the opposite
07:13 hmmmm erm... whatever.
07:13 nrzkt please reread what i said slowly
07:13 hmmmm I tried to and I didn't understand
07:13 VanessaE hmmmm: I think he means, "because i don't tell [you] i will merge it into master"
07:13 nrzkt i said: the switch is possible, i tested it. I don't say, i will merge it (soon or not).
07:14 hmmmm oh
07:14 hmmmm "I didn't ever say that I was going to merge it to upstream"
07:15 nrzkt my english isn't perfect, i know :p but i try to be understandable :p
07:15 hmmmm that particular sentence had subtle meanings.
07:15 nrzkt i'm not subtile
07:15 nrzkt simpler, faster, efficient :p
07:15 hmmmm yea... being subtle is necessary when we're trying to not break things
07:16 jin_xi so, some more questions, anyone knows what could cause textures to be upside down and black instead of transparent?
07:16 hmmmm jin_xi, try enable_clean_transparent = false
07:16 nrzkt in fact, when we are talking together, be subtle is not very efficient :p clear sentences are a good communication process
07:17 hmmmm well subtility is not good for purposes of communication
07:18 hmmmm being subtle when making code changes is
07:18 nrzkt only for politicians
07:18 hmmmm that's not subtility, that's doublespeak
07:18 hmmmm :/
07:19 hmmmm so back to the original topic:  I'm all for changing JMutexAutoLock, but don't do it all at once
07:19 hmmmm change one class at a time, gradually
07:19 nrzkt i will push a modified version of #2526, which only init the nodepos with static_spawnpoint value if set
07:19 ShadowBot https://github.com/minetest/minetest/issues/2526 -- findSpawnPos should use the static_spawnpoint to set the player position by nerzhul
07:20 hmmmm we already went through this when we switched from irrlicht containers to stl containers
07:20 nrzkt in fact hmmmm: we must change JMutex.Lock and JMutex.Unlock and add JMutex.lock and JMutex.unlock
07:20 hmmmm there was a lot of disasterous breakage and bugs galore because everything was done all at once and it was hard to track
07:20 nrzkt lock_guard is simple, it only call lock/unlock it's a stupid class
07:20 VanessaE nrzkt: er... why the upper/lowercase change?
07:21 nrzkt because of std::lock_guard
07:21 nrzkt if we have std::lock_guard<JMutex>
07:21 hmmmm btw
07:21 nrzkt the lock_guard will call JMutex.lock at creation and JMutex.unlock at destruction
07:21 hmmmm why make findSpawnPos a member of Server
07:22 nrzkt because only server call it
07:22 hmmmm if you're doing that, why not remove the map parameter
07:22 hmmmm and use m_map
07:22 nrzkt good idea :)
07:22 nrzkt m_map = m_env->getServerMap() , right ?
07:22 hmmmm yea
07:24 nrzkt we don't have ServerMap member in Server call
07:24 nrzkt but i will call the pointer into the function
07:26 nrzkt okay for https://github.com/nerzhul/minetest/commit/dbc739b6a584856155575dc4580709fc332da72b ?
07:26 hmmmm by the way, are you certain that static_spawnpoint doesn't have a default setting anywhere?
07:27 nrzkt âžœ  minetest git:(master) ✗ grep -R "static_spawnpoint" src
07:27 nrzkt src/server.cpp:g_settings->getV3FNoEx("static_spawnpoint", nodeposf);
07:27 nrzkt src/server.cpp:// Default position is static_spawnpoint
07:27 hmmmm maybe it is being set in Lua, i don't know
07:27 hmmmm just checking
07:28 nrzkt http://pastie.org/10071244
07:29 hmmmm wwow good one
07:29 hmmmm this is why we review commits before we commit them
07:29 hmmmm you're copying the entire ServerMap
07:30 nrzkt that's right
07:30 hmmmm i think you forgot a &
07:30 nrzkt yeah, i'm adding it
07:31 hmmmm what is the desired behavior of static_spawnpoint exactly?
07:32 hmmmm isn't it supposed to override the random search for a spawnpoint?
07:32 nrzkt here this permit to fix in some rare cases player beeing teleported to 0,0,0 because of this function call
07:32 VanessaE always teleport the user there after death or on a new user sign-on
07:32 VanessaE simple.
07:32 nrzkt after death and new user, right
07:32 VanessaE it has no other purpose than that, in a vanilla setup.
07:32 hmmmm why don't you return immediately if getV3FNoEx("static_spawnpoint") returns true, then?
07:33 nrzkt it was the original PR
07:33 hmmmm i thought that's what we wanted
07:33 nrzkt but i don't know if we should do this or find a good place
07:33 nrzkt if you think we want this, okay for a return, like the original PR
07:33 hmmmm i don't know what we want
07:33 hmmmm i just want it to work
07:34 hmmmm it's up to you i guess
07:34 nrzkt here we doesn't have a player teleported to 0,0,0 if static_spawnpoint is set
07:34 nrzkt but we can have a random position after a respawn
07:35 nrzkt or, default, the static_spawnpoint. If the goal of static_spawnpoint is to spawn every time at spawn, then we return immediately.
07:35 nrzkt it's how i understand it
07:36 hmmmm that's how i understood it too
07:36 nrzkt then we will return directly
07:36 hmmmm but, unless i'm completely mistaken, that code in the PR doesn't do anything with static_spawnpoint since it gets overwritten by the random search loop
07:37 nrzkt but in some case the random search loop doesn't match
07:37 hmmmm oh yeah, I see those
07:37 hmmmm the two continue statements
07:37 nrzkt and we return a basic v3s16, with 0,0,0
07:38 hmmmm maybe this can be two separate settings
07:38 hmmmm fallback_spawnpoint and static_spawnpoint
07:38 hmmmm static_spawnpoint, if set, returns immediately with that static spawnpoint
07:38 hmmmm fallback_spawnpoint, on the other hand, is the default spawnpoint used if no suitable random spawnpoint can be found
07:38 hmmmm sound good or not?
07:39 nrzkt it could be good to add it in a separate commit, why not :)
07:39 hmmmm ok then
07:39 VanessaE hmmmm: well, if you could set one, why not just set the other?>
07:39 VanessaE I mean you as the user editing your config
07:40 nrzkt https://github.com/nerzhul/minetest/commit/3f8024330ae9d5f92418fa4b3025638d5a7e0b37 for the static_spawnpoint
07:40 VanessaE really, it just seems like overkill for a singleplayer instance - in a multiplayer server, you'll almost always have a static_spawnpoint set
07:41 jin_xi so regarding expiring spawners on server: where does such stuff go? regardless of how ids are done, server needs to keep track to free expired ones
07:43 jin_xi im thinking of a list of id and expiration time and a check, only wondering where this kind of housekeeping is done in server step
07:43 hmmmm well, I guess it could just scan for the lowest available ID
07:43 nrzkt a last review before a push hmmmm ? ^
07:43 hmmmm nothing really does need to be fancy
07:43 hmmmm VanessaE:  dunno, you as a server owner should make the decision on how you want the behavior to be
07:43 hmmmm nrzkt, looks good
07:44 VanessaE hmmmm: agreed - I'm just saying I don't think you'll see too many people actually using the feature.  but ok
07:44 jin_xi hmmmm: exactly. i wonder where the right place to check time in server is as im not familiar
07:45 hmmmm wait, why do they need to expire after a certain time?
07:46 hmmmm isn't that the mod's decision to make it expire?  forgive my ignorance i don't quite know how they work
07:46 ZeraRoox hmmmm Please check your private msg
07:46 hmmmm ZeraRoox:  why are you private messaging me
07:46 hmmmm I don't check private messages btw
07:47 hmmmm just tell me here what it is
07:47 jin_xi yes, mods can have them expire with fixed time set. server makes spawner with id, passes to client, client handles expiration. -> id leaked and never reused
07:47 jin_xi thats current situation
07:47 hmmmm jin_xi, what kind of resolution does it need?
07:47 ZeraRoox When you have time check your email
07:48 hmmmm uh, okay
07:48 ZeraRoox is about a project
07:48 jin_xi hmmmm: not very precise, time is in seconds on lua side
07:49 hmmmm there's nothing fundamentally wrong with time(NULL)
07:49 hmmmm you could use that...
07:49 err404 joined #minetest-dev
07:50 hmmmm you can't use irrlicht's timer because that's client-side
07:50 jin_xi ok and forgive my ignorance, but where is server step housekeeping done?
07:51 hmmmm lol
07:51 hmmmm in Server::step
07:51 hmmmm but I think what you're actually interested in is the environment's step
07:52 nrzkt Server::AsyncRunStep
07:52 nrzkt which calls Environment::step
07:52 hmmmm Particle spawners should be part of the Environment
07:52 jin_xi thanks. i thought putting particle spawners in 25 line server::step looked off
07:52 hmmmm at least in theory
07:53 hmmmm jin_xi, you should use dtime instead by the way
07:53 hmmmm instead of using other timers
07:54 jin_xi yes thats what i want to do.
07:54 VanessaE jin_xi: a note:  there's a glitch with the expiration time,
07:54 VanessaE if set to zero, particles don't move.
07:55 jin_xi so my plan is to replace list of ids on serverside with list of struct with id and expiration time
07:55 jin_xi then properly expire expired ids
07:56 jin_xi VanessaE: is that on my PR or current glitch?
07:56 VanessaE it's a current thing
07:56 VanessaE not in your PR
07:56 VanessaE just mentioning it since you're fiddling around with the code.
07:56 jin_xi ok because all current rendering and stepping will be gone. im deleting this code
07:57 VanessaE thought you might want to take a look at it
07:57 VanessaE oh?
07:58 jin_xi anyways, this server id thing needs to be fixed regardless of particle rendering situation
07:59 VanessaE this is 2587?
07:59 jin_xi idk what bugs it may cause, but it accumulates some memory for every spawner deleted by expiration
08:00 jin_xi yes
08:00 VanessaE ok
08:00 VanessaE I'll leave you to it then
08:00 VanessaE sorry to interrupt
08:06 * VanessaE wanders off to bed, clearly too tired for rational thought :P
08:06 VanessaE night.
08:12 blaze joined #minetest-dev
08:12 hmmmm it's past 4am, but i'm perfectly up and feeling at my best right about now
08:12 hmmmm there's something seriously wrong with me
08:15 Calinou joined #minetest-dev
08:24 leat joined #minetest-dev
08:24 blaze` joined #minetest-dev
08:27 Megaf Hi everyone
08:40 kilbith joined #minetest-dev
08:55 eeew joined #minetest-dev
09:16 err404 joined #minetest-dev
09:48 OldCoder joined #minetest-dev
09:59 Megaf devs are never online when we need them
10:04 Megaf /home/minetest/minetest/src/irrlichttypes.h:34:22: fatal error: irrTypes.h: No such file or directory
10:05 Megaf cmake . -DRUN_IN_PLACE=1 -DBUILD_CLIENT=0 -DBUILD_SERVER=1 -DIRRLICHT_INCLUDE_DIR=/home/minetest/Deps/Irrlicht/
10:05 Megaf minetest@mt:~/minetest$ find /home/minetest/Deps/Irrlicht/ | grep irrTypes.h
10:05 Megaf /home/minetest/Deps/Irrlicht/include/irrTypes.h
10:06 Megaf The file is there
10:06 leat joined #minetest-dev
10:06 Megaf help?
10:06 Megaf ^ Calinou VanessaE
10:06 Megaf fresh git clone from master
10:07 Megaf -- Could NOT find Irrlicht (missing:  IRRLICHT_LIBRARY)
10:08 Megaf hm
10:14 sfan5 Megaf: by your logic -DIRRLICHT_INCLUDE_DIR=/ should also work
10:15 sfan5 Megaf: hint: you obviously need to point IRRLICHT_INCLUDE_DIR directly at the directory with irrTypes.h
10:15 Calinou yes, you forgot include/
10:15 Megaf sfan5: I've been doing the very same way for three years...
10:15 sfan5 no
10:15 sfan5 this doesn't work and has never worked
10:16 sfan5 Megaf: -DIRRLICHT_SOURCE_DIR=<irrlicht dir (without include/)> could have worked though
10:16 sfan5 (IRRLICHT_INCLUDE_DIR vs IRRLICHT_SOURCE_DIR)
10:17 Megaf Ok, I have changed my cmake script in fact, let me see the old script that is know to work
10:17 Megaf known*
10:18 Megaf sfan5: anyway, it doesnt work when I point the include to /home/minetest/Deps/Irrlicht/include and source to /home/minetest/Deps/Irrlicht/ either
10:18 sfan5 what does it say when you point the include to /home/minetest/Deps/Irrlicht/include
10:21 Megaf This is in fact the line that I have been using for 3 years  -DIRRLICHT_SOURCE_DIR=/home/minetest/Deps/Irrlicht/
10:22 Megaf It worked till yesterday
10:22 Megaf now cmake says -- Could NOT find Irrlicht (missing:  IRRLICHT_LIBRARY)
10:22 Megaf anyway, it's working again now
10:23 Megaf go figure
10:23 sfan5 it should work like that
10:23 sfan5 you don't need the library for server builds
10:23 Megaf I know, I attempted to include that because source wasnt working
10:25 leat joined #minetest-dev
10:25 Megaf sfan5: I think it was working yesterday because I had actually compile Irrlicht once, and today I removed the compiled version by a fresh source snapshot
10:26 sfan5 iirc irrlicht_source_dir only finds the library on windows
10:40 Megaf kilbith: my server is back online, thanks to sfan5. Join now and see if the bug is fixed, please.
10:44 kilbith Megaf, the public one ?
10:44 Megaf yep, the main on
10:44 Megaf one
10:44 Megaf mt.megaf.info 30003 or 8080
10:47 kilbith Megaf, this seems fixed now
10:47 Megaf cool
10:54 leat joined #minetest-dev
10:58 Megaf is there a way to make cmake/gcc optimze the binary as much as possible? For speed, not for size, runtime speed
10:58 Megaf or is that the same as optimizing for size/speed?
10:58 Megaf Compile time is not an issue
11:01 Lunatrius joined #minetest-dev
11:14 sfan5 Megaf: -DCMAKE_C_FLAGS="-O3 -march=native -mtune=native" -DCMAKE_CXX_FLAGS="-O3 -march=native -mtune=native" not that the resulting binary might not run on other processors
11:15 Megaf sfan5: I'd like to optimize my server, I do not intend to run it on other places
11:15 Megaf Thanks
11:27 Megaf sfan5: is not even compatible with its own CPU
11:27 Megaf $ bin/minetestserver
11:27 Megaf Illegal instruction
11:29 est31 joined #minetest-dev
11:30 Zeno` joined #minetest-dev
11:47 est31 Zeno`, what do you think? http://pastie.org/10071522
11:48 Zeno` I think it looks like a diff
11:49 Zeno` and that PAssword has a typo
11:50 Zeno` PASSWORD_SIZE * 2    ???
11:51 est31 no idea why or how
11:52 est31 ah
11:53 est31 yes
11:53 est31 ofc
11:53 est31 first old password, then the new one
11:53 est31 and the first byte is already strippped
11:55 est31 I'll merge if you dont mind
11:55 est31 or push
11:57 Megaf !server Megaf
11:57 ShadowBot Megaf: server [--{name,address,ip,players,ping,port} <value>]
11:57 Megaf wrong channel, sorry
11:58 est31 do you agree?
11:59 Zeno` err you're removing just the errorstream thing?
11:59 est31 yes
12:00 Zeno` well it's not an error
12:00 Zeno` so yeah
12:00 est31 I can't find that "if nobody objects, then you can push minor stuff rule", so I dont know whether it only affects subsystem maintainers
12:01 Zeno` if it's a trivial fix just mention here that's you're going to do it, wait a bit, and push/merge
12:01 Zeno` that*
12:01 Zeno` I have nfi why that line is even there so, yeah, that would be a trivial change
12:03 est31 my theory is that its debug stuff which was forgotten to be removed
12:03 Zeno` even so it should have been verbosestream
12:03 Zeno` it's obviously wrong
12:04 SopaXorzTaker joined #minetest-dev
12:07 est31 sfan5, can you give me (freshly promoted core-dev) a blue dot?
12:09 nrzkt joined #minetest-dev
12:09 nrzkt est31: approved.
12:10 Zeno` lol I've already approved
12:10 Zeno` what is a blue dot?
12:10 nrzkt yes, i also approve it because it's on my network handlers :p
12:10 Zeno` oh
12:10 Zeno` +v
12:10 nrzkt but it's not necessary, it's very trivial :p
12:10 est31 yes
12:11 Zeno` no blue dot for you1
12:11 Zeno` hehe
12:11 est31 its bad because every time a user changes their password, the error is transmitted in public server chat
12:12 est31 "error"
12:12 Zeno` yes very bad
12:13 Zeno` hey, your first merge and you didn't stuff it up
12:13 Zeno` nice :P
12:13 est31 lol
12:13 Zeno` I am supposed to be in bed :(
12:14 Zeno` Doctor says I have influenza
12:14 Megaf That means, a simple flue
12:14 Megaf just dont move too much and drink plenty of water Zeno`
12:14 Zeno` you can die from the flu
12:14 Megaf flu*
12:15 Zeno` so I dunno if it's "simple" :P
12:15 Zeno` can I drink beer instead?
12:15 Megaf I'm afraid you can't
12:15 Megaf you can drink natural juices
12:16 Zeno` good, because I don't feel like moving or drinking beer anyway heh
12:16 Zeno` I'
12:16 Zeno` I'm outa here.. I can hardly think
12:16 Zeno` O/
12:19 Megaf !up stuff
12:19 ShadowBot Megaf: Resolving stuff failed: [Errno -2] Name or service not known
12:30 rubenwardy joined #minetest-dev
12:33 srifqi joined #minetest-dev
12:38 sfan5 est31: there's your blue dot
12:53 est31 thanks
13:08 selat joined #minetest-dev
13:56 SopaXorzTaker joined #minetest-dev
14:03 luizrpgluiz joined #minetest-dev
14:11 luizrpgluiz left #minetest-dev
14:11 MinetestForFun joined #minetest-dev
14:17 est joined #minetest-dev
14:24 leat joined #minetest-dev
14:33 MinetestForFun joined #minetest-dev
14:42 rubenwardy What technical things limit us to +/- 31,000?
14:43 rubenwardy Is it the size in bytes of position serials?
14:43 rubenwardy like, you'd have to break the blobs to increase the size.
14:46 est yea seems so
14:46 rubenwardy I guess it's a case of bigger serials means bigger maps but bigger file sizes.
14:47 est not neccessarily
14:47 est bigger maps I mean
14:47 est network will be a bit more verbose yes
14:47 rubenwardy So you have to compromise between bigger maps and bigger files
14:47 rubenwardy Really?
14:47 rubenwardy Yeah, networking would be a problem too.
14:48 rubenwardy It seems they currently use 2 bytes for each coordinate, so 6 bytes for the position serial.
14:48 est sorry got it wrong, maps will be bigger of course, but file sizes wont be
14:48 est I'm not sure though
14:48 est perhaps they will
14:49 rubenwardy Blobs don't store position serials, of course? It's just the fields for x/y/z in the MapBlock table
14:49 est yes
14:49 est usually, the mapblock table is referenced by serials
14:49 est inside the db
14:49 est and on the network I think too
14:50 rubenwardy #1845 hasn't been merged, so it's just one field for position, as a serial. Instead of three.
14:50 ShadowBot https://github.com/minetest/minetest/issues/1845 -- Split block position into separate fields in SQLite3 database by ShadowNinja
14:53 rubenwardy The current map size is fun for the majority of players, but not for making countries etc in game.
14:53 rubenwardy *fine
14:53 rubenwardy It's mostly just a willy waving competitions
14:55 SopaXorzTaker joined #minetest-dev
15:26 hmmmm joined #minetest-dev
15:29 Megaf rubenwardy: est: What is the technical problem/issue with infinite maps? Can't we just make it grow on demand?
15:31 est the problem is that node positions are stored in a value that has certain limits, and network protocol and other places need it to not exceed the limits
15:32 Megaf est: I understand that, but isnt Minecraft map infinite?
15:32 est it is definitely possible for players or mobs to walk around areas past the 30k, just no voxel world
15:35 Megaf hm, it is not
15:35 Megaf http://gaming.stackexchange.com/questions/19179/what-happens-when-you-reach-the-edge-of-the-world
15:35 Megaf first answer
15:37 rubenwardy In Minecraft, we should disregard range where is starts to get floating point errors
15:37 est how important is the feature that you can use aliases in craft recipes?
15:37 est should I try to retain it?
15:40 rubenwardy An older version of the food mod used it to add support, but no longer. It's probably best to - will it cause problems? Can you convert from alias to real when registering a recipe, and then there is no need to look it up in get craft recipes?
15:41 rubenwardy ie: no alias support in get_crafts(), but doesn't matter because aliases are removed in register_craft
15:42 err404 joined #minetest-dev
15:42 est I'll try to retain it
15:46 rubenwardy So in Minecraft you can walk in one direction from spawn 1000x longer.
15:47 rubenwardy * shrugs *
15:48 Megaf rubenwardy: yep, but you can't go very deep
15:48 Megaf nor very high
15:48 err404 joined #minetest-dev
15:49 Megaf anyway, I would really like to have a world 100000x100000x100000 instead of 32000x32000x32000
15:50 Megaf Is that (10^5)*3?
15:51 rubenwardy (10^5)^3 for the area
15:51 rubenwardy Horizontal distance is more useful than vertical, but having a limit of 255 is just taking the p.
15:52 rubenwardy It should be at least 5,000 to allow for nice layers
15:53 Megaf what if the max size of the world of limited by the CPU instruction?
15:53 rubenwardy huh
15:53 rubenwardy ?
15:53 * Megaf feels liek he doesnt know what he is talking about
15:53 kilbith do we *really* need more than 32K³ nodes ? biggest servers does not even have 10% of the map explored...
15:53 Megaf s/liek/like
15:53 kilbith better to focus on interconnected multi-worlds instead
15:53 Megaf kilbith: well, you'd be surprized the distance players walk on my server
15:54 kilbith and how is that useful ?
15:54 Megaf how useful is it to limit peoples urge to explore?
15:54 Megaf let them explore
15:55 Megaf and I do agree on interconnected worlds by the way
15:55 Megaf and I even have some idea on how would that be possible
15:55 sfan5 Megaf: how useful is it to break everyones existing maps
15:55 Megaf sfan5: no need to break... Just expand
15:55 Megaf keep the existing coord and add more
15:56 sfan5 the map format is not designed for that
15:56 sfan5 it would need conversion
15:57 rubenwardy The map size is sufficient for most uses, but not for big projects like real world maps. 32 KM isn't that much in real life.
15:57 est btw what do you imagine with the "interconnected worlds" thing?
15:57 Megaf rubenwardy: I was thinking about that actually
15:58 kilbith est, ask to RBA when he will be there
15:58 kilbith was in his plan
15:58 Megaf est: one very hacky way of doing it, and "very not good" is using a shared database by n servers
15:59 Megaf each server could have its own limits of map
15:59 Megaf within the global map
16:05 Megaf or they could just have their own database and send stuff to each other
16:06 Megaf each one could have its own 32K*3 map, the coord could be relative,
16:09 err404 joined #minetest-dev
16:10 selat joined #minetest-dev
16:10 roniz joined #minetest-dev
16:16 SopaXorzTaker joined #minetest-dev
16:17 selat joined #minetest-dev
16:17 Jordach joined #minetest-dev
16:22 Tablet_One joined #minetest-dev
16:45 Zuruck joined #minetest-dev
16:46 Zuruck left #minetest-dev
16:51 proller joined #minetest-dev
16:52 proller joined #minetest-dev
17:01 Wayward_One joined #minetest-dev
17:09 proller joined #minetest-dev
17:20 est why again are we serializing craft definitions?
17:20 est and whole managers
17:20 sfan5 how would we get them over the wire otherwise?
17:21 est and why do we do that?
17:21 SopaXorzTaker joined #minetest-dev
17:21 est why do we do them at the other side?
17:21 est need*
17:22 sfan5 actually
17:22 sfan5 hm
17:23 sfan5 why does the client need craftdefs?
17:24 err404 joined #minetest-dev
17:27 est https://github.com/minetest/minetest/blob/master/src/network/networkprotocol.h#L44
17:27 est my guess is it isn't used anymore
17:29 ElectronLibre joined #minetest-dev
17:50 MinetestForFun joined #minetest-dev
18:06 ElectronLibre joined #minetest-dev
18:30 rubenwardy joined #minetest-dev
18:36 MinetestForFun_ joined #minetest-dev
18:47 proller joined #minetest-dev
19:02 MattJ joined #minetest-dev
19:08 clu_program joined #minetest-dev
19:15 chchjesus joined #minetest-dev
20:04 AnotherBrick joined #minetest-dev
20:05 hmmmm fuwah!
20:05 hmmmm the weekend is here
20:05 hmmmm ha ha!  time to minetest!
20:06 hmmmm I know how to solve the infinite map problem
20:06 Calinou then do it :P
20:06 hmmmm let's claim that our maps can from FLT_MIN to FLT_MAX
20:07 hmmmm and then the client will exponentially decay in performance the further it goes out from the origin, discouraging people from exploring
20:07 hmmmm s/exploring/teleporting to the borders/
20:08 hmmmm that's basically what minecraft does anyway
20:08 Calinou but Minecraft behaves well until at least 100,000
20:14 hmmmm people don't typically build past 8000
20:15 hmmmm the more i think about it, the more i convince myself that making the limits higher is a gigantic waste of time and effort
20:15 hmmmm that number is for marketing
20:16 hmmmm it's like horsepower vs. torque.  it's like the genesis being '64 bit' with 'blast processing'
20:16 kilbith agreed
20:36 est ^
20:38 est even if, I would think that 2^32 is more than enough
20:38 est floats lose precision
20:39 est better a hard limit than "it begins to fail when the FPU starts to do weird things"
20:39 err404 joined #minetest-dev
21:35 jin_xi joined #minetest-dev
21:43 ElectronLibre left #minetest-dev
21:55 sofar well, you could pack 2^21 three times in 64 bit
21:55 sofar giving you a 4mln sized cube
22:01 ZeraRoox +hmmmm u there?
22:05 Wayward_One joined #minetest-dev
22:34 est31 joined #minetest-dev
22:39 Tablet_One joined #minetest-dev
23:05 paramat joined #minetest-dev
23:07 paramat > making the limits higher is a gigantic waste of time and effort < this
23:42 paramat left #minetest-dev
23:47 Wayward_One joined #minetest-dev
23:50 VanessaE marketing.
23:50 VanessaE map size is a function of marketing, not necessarily whether it's practical to actually *explore and build* that far away
23:51 VanessaE er not a function of, wrong word.    meh, you know what I meant to say
23:53 VanessaE every checkmark you can put in your column that says your product is better than your competitor is a point you can bring up when trying to "sell" your product (regardless of whether money has to change hands).

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