Check out castle+ by Dan and I. I have had no time to work on my fork, castles++, because I can't get some things in Lux_Solis to work... Anyhow, it has a ropebox which has the same concept.Topywo wrote:I'm not sure if those are all the drop down rope mods:HeroOfTheWinds wrote:I was actually considering a companion mod for Caverealms to make a "rope" block that, when placed, would make climbable rope drop down. Your idea could work better with more style. ;)
Bas080 has made a vines and rope mod:
viewtopic.php?f=11&t=2344
And this one (I couldn't find the forum post) from MirkoKa:
https://github.com/MirkoKa/Rope-mod-for-Minetest
[Mod] Skylands [4.2.1] [skylands]
- philipbenr
- Member
- Posts: 1897
- Joined: Fri Jun 14, 2013 01:56
- GitHub: philipbenr
- IRC: philipbenr
- In-game: robinspi
- Location: United States
Re: [Mod] Skylands [4.2.1] [skylands]
Re: [Mod] Skylands [4.2.1] [skylands]
fyregryph is running skylands on his "My Little Testy" server. Playing around on there brought to my attention one issue Skylands is going to have with multiplayer servers.
On a multiplayer server, in order to keep lag down, the server has to strictly limit the visual range. Well, not actually the "visual range", you can still set that to whatever you want, but on a server it is usually set to only load a short distance around you. So you might be able to "see" for hundreds of nodes, but you could only see nodes that you had passed close to and were loaded. It has to load only a small area around the player because it simply can't be sending everyone huge chunks of data every second.
But if your visual range is 30 nodes or less, finding a floating island becomes a MUCH bigger chore than it is in single player. You could build a bridge (or fly) right past a floating island in a multiplayer game and never know it was there unless you got within the limit the server loads.
I'm not certain what the solution to this is. Would it be possible to build some kind of "radar" node that could display where islands were out to a significant distance? Since the lua would run server side it MIGHT be possible to do this with less lag than actually transmitting all of the nodes? But, I'm skeptical about this one, since it would still require loading a big chunk of data, and with lots of users using radar nodes, it might still be putting a heavy load on the server.
If the broadband "radar" node is still too laggy, what about a wand type device that would scan for land in a very narrow path along one direction? That way it would be something that would be loading significantly fewer nodes. You could scan 200 nodes ahead, and only be loading 200 nodes, which is about the effort of loading a 6x6x6 node cube, pretty small. You could even scan 1000 nodes ahead and not be putting any greater load on the server than loading a 10x10x10 cube.
I have little or no clue about how to deal with server/client issues or how to code around lag. Networking is one of my weakest areas. So these ideas may be useless. But I think the issue of how to find floating islands in a vast sky when dealing with the limited area loading that happens on a multiplayer server is one that could use addressing.
On a multiplayer server, in order to keep lag down, the server has to strictly limit the visual range. Well, not actually the "visual range", you can still set that to whatever you want, but on a server it is usually set to only load a short distance around you. So you might be able to "see" for hundreds of nodes, but you could only see nodes that you had passed close to and were loaded. It has to load only a small area around the player because it simply can't be sending everyone huge chunks of data every second.
But if your visual range is 30 nodes or less, finding a floating island becomes a MUCH bigger chore than it is in single player. You could build a bridge (or fly) right past a floating island in a multiplayer game and never know it was there unless you got within the limit the server loads.
I'm not certain what the solution to this is. Would it be possible to build some kind of "radar" node that could display where islands were out to a significant distance? Since the lua would run server side it MIGHT be possible to do this with less lag than actually transmitting all of the nodes? But, I'm skeptical about this one, since it would still require loading a big chunk of data, and with lots of users using radar nodes, it might still be putting a heavy load on the server.
If the broadband "radar" node is still too laggy, what about a wand type device that would scan for land in a very narrow path along one direction? That way it would be something that would be loading significantly fewer nodes. You could scan 200 nodes ahead, and only be loading 200 nodes, which is about the effort of loading a 6x6x6 node cube, pretty small. You could even scan 1000 nodes ahead and not be putting any greater load on the server than loading a 10x10x10 cube.
I have little or no clue about how to deal with server/client issues or how to code around lag. Networking is one of my weakest areas. So these ideas may be useless. But I think the issue of how to find floating islands in a vast sky when dealing with the limited area loading that happens on a multiplayer server is one that could use addressing.
- HeroOfTheWinds
- Member
- Posts: 470
- Joined: Wed Apr 23, 2014 23:16
- GitHub: HeroOfTheWinds
- IRC: WindHero
- Location: Hawaii
Re: [Mod] Skylands [4.2.1] [skylands]
Well, it makes me very happy to hear that this is now on a server!Kilarin wrote:fyregryph is running skylands on his "My Little Testy" server. Playing around on there brought to my attention one issue Skylands is going to have with multiplayer servers.
On a multiplayer server, in order to keep lag down, the server has to strictly limit the visual range. Well, not actually the "visual range", you can still set that to whatever you want, but on a server it is usually set to only load a short distance around you. So you might be able to "see" for hundreds of nodes, but you could only see nodes that you had passed close to and were loaded. It has to load only a small area around the player because it simply can't be sending everyone huge chunks of data every second.
But if your visual range is 30 nodes or less, finding a floating island becomes a MUCH bigger chore than it is in single player. You could build a bridge (or fly) right past a floating island in a multiplayer game and never know it was there unless you got within the limit the server loads.
I'm not certain what the solution to this is. Would it be possible to build some kind of "radar" node that could display where islands were out to a significant distance? Since the lua would run server side it MIGHT be possible to do this with less lag than actually transmitting all of the nodes? But, I'm skeptical about this one, since it would still require loading a big chunk of data, and with lots of users using radar nodes, it might still be putting a heavy load on the server.
If the broadband "radar" node is still too laggy, what about a wand type device that would scan for land in a very narrow path along one direction? That way it would be something that would be loading significantly fewer nodes. You could scan 200 nodes ahead, and only be loading 200 nodes, which is about the effort of loading a 6x6x6 node cube, pretty small. You could even scan 1000 nodes ahead and not be putting any greater load on the server than loading a 10x10x10 cube.
I have little or no clue about how to deal with server/client issues or how to code around lag. Networking is one of my weakest areas. So these ideas may be useless. But I think the issue of how to find floating islands in a vast sky when dealing with the limited area loading that happens on a multiplayer server is one that could use addressing.
Indeed, you bring up a very valid point, and your idea of a solution sounds very good. The only way to figure out where an island is located, is to calculate the same perlin used to generate the islands. Thankfully, since this would be a sub-mod of sorts, all the perlin values would already be there, and wouldn't have to be updated whenever the perlin values get tweaked. Also, I would probably do a 500-1000 node search in at least four directions, since calculating perlin noise in a for loop takes less time than firing up the LVM every time a chunk is loaded. I'll do some tests and see if I can get something worked out. Thanks for the catch!
EDIT: Half an hour in, it looks like this will take some time to solve..............
Nam ex spatio, omnes res venire possunt.
Why let the ground limit you when you can reach for the sky?
Back to college now, yay for sophomore year schedules. :P
Why let the ground limit you when you can reach for the sky?
Back to college now, yay for sophomore year schedules. :P
-
- New member
- Posts: 5
- Joined: Tue Apr 22, 2014 16:20
- Contact:
Re: [Mod] Skylands [4.2.1] [skylands]
Nice mod! :)
- HeroOfTheWinds
- Member
- Posts: 470
- Joined: Wed Apr 23, 2014 23:16
- GitHub: HeroOfTheWinds
- IRC: WindHero
- Location: Hawaii
Re: [Mod] Skylands [4.2.1] [skylands]
Thanks! :)
Well, after trying for a while, I have come to the sad conclusion that such a radar is impossible to create as the minetest engine currently stands. The islands are generated with perlin noise offset from the world's seed, but the world does not calculate its own perlin for ungenerated areas. Hence, the regular functions used for getting perlin don't work outside of register_on_generated()... I tried using GetPerlinMap, but that, too, just calculates the noise irrespective of the world's seed (which the islands DO need). Hence, unless someone can think of something extremely clever, it will be necessary to just cross your fingers on finding islands on multiplayer servers...
Well, after trying for a while, I have come to the sad conclusion that such a radar is impossible to create as the minetest engine currently stands. The islands are generated with perlin noise offset from the world's seed, but the world does not calculate its own perlin for ungenerated areas. Hence, the regular functions used for getting perlin don't work outside of register_on_generated()... I tried using GetPerlinMap, but that, too, just calculates the noise irrespective of the world's seed (which the islands DO need). Hence, unless someone can think of something extremely clever, it will be necessary to just cross your fingers on finding islands on multiplayer servers...
Nam ex spatio, omnes res venire possunt.
Why let the ground limit you when you can reach for the sky?
Back to college now, yay for sophomore year schedules. :P
Why let the ground limit you when you can reach for the sky?
Back to college now, yay for sophomore year schedules. :P
Re: [Mod] Skylands [4.2.1] [skylands]
I inherited the "My Little Testy" server (see here), and I can indeed confirm that the skylands mod is at least one source of lag. Thankfully the server is *relativly* small, (for now) but skylands has occasionally lagged users off.
The system hosting it has an IDE drive on it (it was a spare I had lying around), it's a Pentium 4 3.0 ghz (with hyperthreading), and of the 816 skyland timing samples I have in the last 3 days, 65 took more than 4000ms, with the longest 5 samples taking taking 95582-216062 ms. Since the time measurement seems to include vm:write_to_map() I'm going to credit most of exceptional high times to HD io time. The system is configured to run 2 EmergeThreads. I'm working on adding more graphing metrics to the system, and once I do, I'm happy to share what I find so we can correlate this against cpu + disk load.
I'm just starting to understand the MT engine, so I don't have any suggestions to add at this point, but I"m happy to experiment and split off the server for testing. The connection information is that post I linked above, feel free to visit :)
The system hosting it has an IDE drive on it (it was a spare I had lying around), it's a Pentium 4 3.0 ghz (with hyperthreading), and of the 816 skyland timing samples I have in the last 3 days, 65 took more than 4000ms, with the longest 5 samples taking taking 95582-216062 ms. Since the time measurement seems to include vm:write_to_map() I'm going to credit most of exceptional high times to HD io time. The system is configured to run 2 EmergeThreads. I'm working on adding more graphing metrics to the system, and once I do, I'm happy to share what I find so we can correlate this against cpu + disk load.
I'm just starting to understand the MT engine, so I don't have any suggestions to add at this point, but I"m happy to experiment and split off the server for testing. The connection information is that post I linked above, feel free to visit :)
- HeroOfTheWinds
- Member
- Posts: 470
- Joined: Wed Apr 23, 2014 23:16
- GitHub: HeroOfTheWinds
- IRC: WindHero
- Location: Hawaii
Re: [Mod] Skylands [4.2.1] [skylands]
Hmm, this seems a little odd. After I changed the liquid system, I didn't run into any more 4000+ ms generation times. Do you know which version the server is running?
Also, from my experiments, writing to map actually takes far less time. Most of that load is coming from the functions determining how to generate the islands, particularly where liquid is involved. If i have time this weekend, I might try seeing what could be optimized in the code. Thanks for reporting this, hopefully it should help to make SkyLands more efficient in the future.
So far, the most efficient mapgen mod I have is CaveRealms. In my tests, it usually runs at least 5 times as fast as SkyLands. A little less than 80 ms can be attributed to opening and closing VoxelManip, I think. But I haven't looked at it *that* closely.
Also, from my experiments, writing to map actually takes far less time. Most of that load is coming from the functions determining how to generate the islands, particularly where liquid is involved. If i have time this weekend, I might try seeing what could be optimized in the code. Thanks for reporting this, hopefully it should help to make SkyLands more efficient in the future.
So far, the most efficient mapgen mod I have is CaveRealms. In my tests, it usually runs at least 5 times as fast as SkyLands. A little less than 80 ms can be attributed to opening and closing VoxelManip, I think. But I haven't looked at it *that* closely.
Nam ex spatio, omnes res venire possunt.
Why let the ground limit you when you can reach for the sky?
Back to college now, yay for sophomore year schedules. :P
Why let the ground limit you when you can reach for the sky?
Back to college now, yay for sophomore year schedules. :P
Re: [Mod] Skylands [4.2.1] [skylands]
I'm building from git head:
I'll see if I can toss in a patch to emit timestamps before/after saving the voxel data, to see if the lag is before or after then.
Code: Select all
root@minetest01:~# /opt/minetest/git-current/bin/minetestserver --version
minetestserver 0.4.11-153-gca217d0
Build info: VER=0.4.11-153-gca217d0 BUILD_TYPE=Release RUN_IN_PLACE=0 USE_GETTEXT=0 USE_SOUND=1 USE_CURL=1 USE_FREETYPE=1 USE_LUAJIT=0 STATIC_SHAREDIR=/opt/minetest/git-current/share/minetest
Re: [Mod] Skylands [4.2.1] [skylands]
I revisited one paticular chunk that lagged one of my players off:
In beteween all that it lagged the core long enough that the irc gateway got disconnected due to an irc ping timeout
Those additional timestamps were inserted after gen_pool, after set_data/calc_lughting, and after the write_to_map calls. I also adjusted it to include the coordinates it was generating in each log message. -- is that normal to have it generate a chunk twice like that?
Few more samples where the the timing goes beyond 4000ms ...
Code: Select all
Feb 13 16:10:57 minetest01 mt02-mltp2[8727]: [skylands] [2128 5568 -432] done gen 174440 ms
Feb 13 16:10:57 minetest01 mt02-mltp2[8727]: [skylands] [2128 5568 -432] done lighting 174838 ms
Feb 13 16:10:57 minetest01 mt02-mltp2[8727]: [skylands] [2128 5568 -432] done everything: 174858 ms
Feb 13 16:10:57 minetest01 mt02-mltp2[8727]: [skylands] [2128 5568 -432] chunk minp
Feb 13 16:13:44 minetest01 mt02-mltp2[8727]: [skylands] [2128 5568 -432] done gen 167542 ms
Feb 13 16:13:45 minetest01 mt02-mltp2[8727]: [skylands] [2128 5568 -432] done lighting 167935 ms
Feb 13 16:13:45 minetest01 mt02-mltp2[8727]: [skylands] [2128 5568 -432] done everything: 167953 ms
Feb 13 16:13:46 minetest01 mt02-mltp2[8727]: [skylands] [2128 5568 -352] chunk minp
Feb 13 16:14:22 minetest01 mt02-mltp2[8727]: [skylands] [2128 5568 -352] done gen 36814 ms
Feb 13 16:14:23 minetest01 mt02-mltp2[8727]: [skylands] [2128 5568 -352] done lighting 37173 ms
Feb 13 16:14:23 minetest01 mt02-mltp2[8727]: [skylands] [2128 5568 -352] done everything: 37193 ms
Those additional timestamps were inserted after gen_pool, after set_data/calc_lughting, and after the write_to_map calls. I also adjusted it to include the coordinates it was generating in each log message. -- is that normal to have it generate a chunk twice like that?
Code: Select all
Feb 13 16:21:46 minetest01 mt02-mltp2[8727]: [skylands] [2048 5488 -192] chunk minp
Feb 13 16:21:59 minetest01 mt02-mltp2[8727]: [skylands] [2048 5488 -192] done gen 13106 ms
Feb 13 16:21:59 minetest01 mt02-mltp2[8727]: [skylands] [2048 5488 -192] done lighting 13523 ms
Feb 13 16:21:59 minetest01 mt02-mltp2[8727]: [skylands] [2048 5488 -192] done everything: 13542 ms
Feb 13 16:21:59 minetest01 mt02-mltp2[8727]: [skylands] [2048 5488 -192] chunk minp
Feb 13 16:22:12 minetest01 mt02-mltp2[8727]: [skylands] [2048 5488 -192] done gen 12663 ms
Feb 13 16:22:12 minetest01 mt02-mltp2[8727]: [skylands] [2048 5488 -192] done lighting 13078 ms
Feb 13 16:22:12 minetest01 mt02-mltp2[8727]: [skylands] [2048 5488 -192] done everything: 13095 ms
Few more samples where the the timing goes beyond 4000ms ...
- HeroOfTheWinds
- Member
- Posts: 470
- Joined: Wed Apr 23, 2014 23:16
- GitHub: HeroOfTheWinds
- IRC: WindHero
- Location: Hawaii
Re: [Mod] Skylands [4.2.1] [skylands]
Yeah, that's normal. A chunk consists of several mapblocks, all of which have the same corner... I think. Try sticking a callback before gen_pool, you should see a huge jump in time required.
Nam ex spatio, omnes res venire possunt.
Why let the ground limit you when you can reach for the sky?
Back to college now, yay for sophomore year schedules. :P
Why let the ground limit you when you can reach for the sky?
Back to college now, yay for sophomore year schedules. :P
-
- Member
- Posts: 55
- Joined: Fri Mar 06, 2015 00:50
- GitHub: poet-nohit
Re: [Mod] Skylands [4.2.1] [skylands]
Interesting. You know, I've been toying with some ideas for nether portals, but maybe what I need are Skyland portals...
Re: [Mod] Skylands [4.2.1] [skylands]
there are 4 missing png files
skylands_tool_airsword.png
skylands_cavorite_jar.png
skylands_hallowed_air.png
skylands_holyhilt.png
skylands_tool_airsword.png
skylands_cavorite_jar.png
skylands_hallowed_air.png
skylands_holyhilt.png
- HeroOfTheWinds
- Member
- Posts: 470
- Joined: Wed Apr 23, 2014 23:16
- GitHub: HeroOfTheWinds
- IRC: WindHero
- Location: Hawaii
Re: [Mod] Skylands [4.2.1] [skylands]
Thanks for the catch. I'm surprised I missed that, and even more surprised it wasn't found sooner. Needless to say, fixed!
Nam ex spatio, omnes res venire possunt.
Why let the ground limit you when you can reach for the sky?
Back to college now, yay for sophomore year schedules. :P
Why let the ground limit you when you can reach for the sky?
Back to college now, yay for sophomore year schedules. :P
- HeroOfTheWinds
- Member
- Posts: 470
- Joined: Wed Apr 23, 2014 23:16
- GitHub: HeroOfTheWinds
- IRC: WindHero
- Location: Hawaii
Re: [Mod] Skylands [4.2.1] [skylands]
Yeah, sadly that is an engine-side problem. I can't do much about it, but I can posit that the shadows will not appear if the land if generated before the islands above it.
Nam ex spatio, omnes res venire possunt.
Why let the ground limit you when you can reach for the sky?
Back to college now, yay for sophomore year schedules. :P
Why let the ground limit you when you can reach for the sky?
Back to college now, yay for sophomore year schedules. :P
-
- Member
- Posts: 180
- Joined: Wed Oct 07, 2015 20:59
- In-game: ozkur or XoRoUZ
- Location: 6 minutes in the future
Re: [Mod] Skylands [4.2.1] [skylands]
can you set it to generate another world(as a floating island, about 5000-8000)? I'm trying to make a mod that adds planets, and the moon.
Biplanes! 'Nuff said
I am a native English speaker, Ich spreche kein Deuscht, mais je parle un pue français.
I am a native English speaker, Ich spreche kein Deuscht, mais je parle un pue français.
- programmingchicken
- Member
- Posts: 540
- Joined: Sat Apr 18, 2015 02:20
- GitHub: pchicken
- IRC: chicken pchicken
- Location: not here
- Contact:
Re: [Mod] Skylands [4.2.1] [skylands]
why not just make a map?ozkur wrote:can you set it to generate another world(as a floating island, about 5000-8000)? I'm trying to make a mod that adds planets, and the moon.
<gamerdude> I apologize for the above content
-
- Member
- Posts: 180
- Joined: Wed Oct 07, 2015 20:59
- In-game: ozkur or XoRoUZ
- Location: 6 minutes in the future
Re: [Mod] Skylands [4.2.1] [skylands]
i want it spanning the entire world, and im a little lazy to do a 3000000000 * 3000 blocks.
oh, yeah. i kinda want each planet normal, but stacked one on top the other, high enough to not cast shadows and cause problems.
oh, yeah. i kinda want each planet normal, but stacked one on top the other, high enough to not cast shadows and cause problems.
Biplanes! 'Nuff said
I am a native English speaker, Ich spreche kein Deuscht, mais je parle un pue français.
I am a native English speaker, Ich spreche kein Deuscht, mais je parle un pue français.
- programmingchicken
- Member
- Posts: 540
- Joined: Sat Apr 18, 2015 02:20
- GitHub: pchicken
- IRC: chicken pchicken
- Location: not here
- Contact:
Re: [Mod] Skylands [4.2.1] [skylands]
Look into the oldcoder "moon" mod. It has the earth under (or above?) the moon, and if you just repeat that a few times with code, you can get 10 more earths and 1000 hours more worldgen time.ozkur wrote:i want it spanning the entire world, and im a little lazy to do a 3000000000 * 3000 blocks.
oh, yeah. i kinda want each planet normal, but stacked one on top the other, high enough to not cast shadows and cause problems.
<gamerdude> I apologize for the above content
-
- Member
- Posts: 180
- Joined: Wed Oct 07, 2015 20:59
- In-game: ozkur or XoRoUZ
- Location: 6 minutes in the future
Re: [Mod] Skylands [4.2.1] [skylands]
thanks.programmingchicken wrote:Look into the oldcoder "moon" mod. It has the earth under (or above?) the moon, and if you just repeat that a few times with code, you can get 10 more earths and 1000 hours more worldgen time.ozkur wrote:i want it spanning the entire world, and im a little lazy to do a 3000000000 * 3000 blocks.
oh, yeah. i kinda want each planet normal, but stacked one on top the other, high enough to not cast shadows and cause problems.
Biplanes! 'Nuff said
I am a native English speaker, Ich spreche kein Deuscht, mais je parle un pue français.
I am a native English speaker, Ich spreche kein Deuscht, mais je parle un pue français.
- programmingchicken
- Member
- Posts: 540
- Joined: Sat Apr 18, 2015 02:20
- GitHub: pchicken
- IRC: chicken pchicken
- Location: not here
- Contact:
Re: [Mod] Skylands [4.2.1] [skylands]
( ͡° ͜ʖ ͡°).ozkur wrote:thanks.programmingchicken wrote:Look into the oldcoder "moon" mod. It has the earth under (or above?) the moon, and if you just repeat that a few times with code, you can get 10 more earths and 1000 hours more worldgen time.ozkur wrote:i want it spanning the entire world, and im a little lazy to do a 3000000000 * 3000 blocks.
oh, yeah. i kinda want each planet normal, but stacked one on top the other, high enough to not cast shadows and cause problems.
<gamerdude> I apologize for the above content
- TumeniNodes
- Member
- Posts: 2943
- Joined: Fri Feb 26, 2016 19:49
- GitHub: TumeniNodes
- IRC: tumeninodes
- In-game: TumeniNodes
- Location: in the dark recesses of the mind
- Contact:
Re: [Mod] Skylands [4.2.1] [skylands]
This could be used to create a Journey to the Center of the Earth map : )
A Wonderful World
-
- Member
- Posts: 180
- Joined: Wed Oct 07, 2015 20:59
- In-game: ozkur or XoRoUZ
- Location: 6 minutes in the future
Re: [Mod] Skylands [4.2.1] [skylands]
no idea what that is, but it sounds cool!
Biplanes! 'Nuff said
I am a native English speaker, Ich spreche kein Deuscht, mais je parle un pue français.
I am a native English speaker, Ich spreche kein Deuscht, mais je parle un pue français.
- Johnny Joy
- Member
- Posts: 56
- Joined: Fri Sep 05, 2014 20:26
- GitHub: johnnyjoy
- In-game: jjb
Re: [Mod] Skylands [4.2.1] [skylands]
Is it possible to produce more smooth or clean-edged islands?
Who is online
Users browsing this forum: Ahrefs [Bot] and 12 guests