[Mod] Skylands [4.2.1] [skylands]

User avatar
ExeterDad
Member
 
Posts: 1121
Joined: Sun Jun 01, 2014 20:00
In-game: ExeterDad

Re: [Mod] Skylands [4.0] [skylands]

by ExeterDad » Sun Jul 27, 2014 03:08

Very eye pleasing. I like
٩(̾●̮̮̃̾•̃̾)۶

Kibbie and I have a beautiful public server now! HOMETOWN
 

Kilarin
Member
 
Posts: 649
Joined: Mon Mar 10, 2014 00:36

Re: [Mod] Skylands [4.0] [skylands]

by Kilarin » Sun Jul 27, 2014 04:22

Wow! Looking forward to this.

We need a server running skytest! I think it would make a really cool multi-player environment.
 

User avatar
HeroOfTheWinds
Member
 
Posts: 470
Joined: Wed Apr 23, 2014 23:16
GitHub: HeroOfTheWinds
IRC: WindHero

Re: [Mod] Skylands [4.0] [skylands]

by HeroOfTheWinds » Tue Jul 29, 2014 01:44

Made a few more small changes. Added Acacia, Pine, and Golden Tree saplings, and tested to make sure that ALL saplings grow above an elevation of 400 blocks. (In fact, they still grow even at 8200)

Also, since I made the blunder of having additional textures in the file that were unnecessary, I made them useful: at the top of nodes.lua, there is now a variable you can change to switch between the dark-green or yellowish heaven grass colors, since I know people like both versions, with their own preferences.
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
 

User avatar
HolyPhoenix
Member
 
Posts: 27
Joined: Sun Mar 31, 2013 18:20

Re: [Mod] Skylands [4.0] [skylands]

by HolyPhoenix » Tue Jul 29, 2014 18:36

Very nice work!
 

Spirits Rising
New member
 
Posts: 3
Joined: Thu Jul 31, 2014 11:27

Re: [Mod] Skylands [4.0] [skylands]

by Spirits Rising » Thu Jul 31, 2014 11:34

Just wanted to let you know that this mod conflicts with another: Technic. I am also letting the creator of Technic know of this conflict. The following is the error that pops up when I attempt to run these two mods together.

Your phone or window isn't wide enough to display the code box. If it's a phone, try rotating it to landscape mode.
Code: Select all
07:30:58: ERROR[main]: Failed to load and run script from
07:30:59: ERROR[main]: D:\minetest-0.4.10-win32-msvc\minetest-0.4.10\bin\..\mods
\technic\technic_worldgen\init.lua:
07:30:59: ERROR[main]: ...st-0.4.10\bin\..\mods\technic\technic_worldgen/nodes.l
ua:154: bad argument #1 to 'ipairs' (table expected, got string)
07:30:59: ERROR[main]: stack traceback:
07:30:59: ERROR[main]:  [C]: in function 'ipairs'
07:30:59: ERROR[main]:  ...st-0.4.10\bin\..\mods\technic\technic_worldgen/nodes.
lua:154: in function 'action'
07:30:59: ERROR[main]:  ...st-0.4.10\bin\..\mods\technic\technic_worldgen/nodes.
lua:141: in function 'for_each_registered_node'
07:30:59: ERROR[main]:  ...st-0.4.10\bin\..\mods\technic\technic_worldgen/nodes.
lua:145: in main chunk
07:30:59: ERROR[main]:  [C]: in function 'dofile'
07:30:59: ERROR[main]:  ...est-0.4.10\bin\..\mods\technic\technic_worldgen\init.
lua:10: in main chunk
 

User avatar
HeroOfTheWinds
Member
 
Posts: 470
Joined: Wed Apr 23, 2014 23:16
GitHub: HeroOfTheWinds
IRC: WindHero

Re: [Mod] Skylands [4.0] [skylands]

by HeroOfTheWinds » Thu Jul 31, 2014 18:30

Spirits Rising wrote:Just wanted to let you know that this mod conflicts with another: Technic. I am also letting the creator of Technic know of this conflict. The following is the error that pops up when I attempt to run these two mods together.

Your phone or window isn't wide enough to display the code box. If it's a phone, try rotating it to landscape mode.
Code: Select all
...technic error...


This is strange, considering that the code in question has to do with redefining nodes with steel in their names to say "Wrougt Iron". Not sure what exactly is causing this to happen, but I'll run some tests later to see if my mod is really at fault. I've been on a server with both technic and skylands installed, both in their latest releases, and haven't seen the server crash... I have a couple ideas though.
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
 

User avatar
HeroOfTheWinds
Member
 
Posts: 470
Joined: Wed Apr 23, 2014 23:16
GitHub: HeroOfTheWinds
IRC: WindHero

Re: [Mod] Skylands [4.0] [skylands]

by HeroOfTheWinds » Fri Aug 01, 2014 00:10

Alright, I finally found the error. Apparently, I messed up with two node definitions in the most inexplicable way... By forgetting the enclose the names of the images for two nodes (see lines 545 and 551) with { and }, it doesn't create a compile error unless another mod (i.e. technic) tries to grab and modify the tables containing the images for a node. So it's a simple fix to do by hand, but I shall update the download as well.

EDIT: Done, and ported to SkyTest as well. So have fun blowing up an island with a nuclear reactor. :)
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
 

Spirits Rising
New member
 
Posts: 3
Joined: Thu Jul 31, 2014 11:27

Re: [Mod] Skylands [4.0] [skylands]

by Spirits Rising » Fri Aug 01, 2014 00:42

Thanks man!
 

User avatar
HeroOfTheWinds
Member
 
Posts: 470
Joined: Wed Apr 23, 2014 23:16
GitHub: HeroOfTheWinds
IRC: WindHero

Re: [Mod] Skylands [4.2] [skylands]

by HeroOfTheWinds » Sat Aug 16, 2014 00:48

Finally, another new update for SkyLands!

After having sat on it for too long, I finally started implementing cavorite in the mod and making it useful. As of this version, cavorite can now be used for tool upgrades! Simply place two lumps of cavorite above each other on the crafting table to get a cavorite handle. Then take any of the default tools ([wood, stone, steel, bronze, mese, diamond] [pick, shovel, axe, sword]) and place two cavorite handles below it, like so:
tool
handle
handle

These upgraded "Cavorite-Enhanced" tools have a few universal properties: 33% decreased punch-interval (swords can hurt mobs faster), 1.5x as fast at digging, but only 75% of the original durability. The explanation is that, since cavorite makes things weightless, all the weight is concentrated at the end of the tool, lending it greater force and requiring less strength needed to swing it. However, it is very malleable, so it breaks faster.

Future additions are planned, but I figured I had to get something done so that people wouldn't simply start discarding it. :P Expect cavorite blocks that cause the player to float upward when standing over them in the near future. ;)

On a side note, the optional dependency on technic has been brought over from SkyTest, so veins of marble and granite will also appear now.
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
 

User avatar
HeroOfTheWinds
Member
 
Posts: 470
Joined: Wed Apr 23, 2014 23:16
GitHub: HeroOfTheWinds
IRC: WindHero

Re: [Mod] Skylands [4.2.1] [skylands]

by HeroOfTheWinds » Sat Aug 16, 2014 06:28

Quick bugfix: When tools were upgraded, all previous wear was lost. Hence, people could use a tool until it was almost spent, and then upgrade it to get a brand new tool. Needless to say, fixed. :) Wear carries over completely with no alteration.
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
 

User avatar
Topywo
Member
 
Posts: 1718
Joined: Fri May 18, 2012 20:27

Re: [Mod] Skylands [4.2] [skylands]

by Topywo » Sat Aug 16, 2014 09:12

HeroOfTheWinds wrote:The explanation is that, since cavorite makes things weightless, all the weight is concentrated at the end of the tool, lending it greater force and requiring less strength needed to swing it. However, it is very malleable, so it breaks faster.


Nice explanation. Maybe it's an idea to have an opposite ore in caverealms?
 

User avatar
HeroOfTheWinds
Member
 
Posts: 470
Joined: Wed Apr 23, 2014 23:16
GitHub: HeroOfTheWinds
IRC: WindHero

Re: [Mod] Skylands [4.2] [skylands]

by HeroOfTheWinds » Sun Aug 17, 2014 02:02

Topywo wrote:
HeroOfTheWinds wrote:The explanation is that, since cavorite makes things weightless, all the weight is concentrated at the end of the tool, lending it greater force and requiring less strength needed to swing it. However, it is very malleable, so it breaks faster.


Nice explanation. Maybe it's an idea to have an opposite ore in caverealms?

Hmm, I hadn't thought of that... I guess the reason why is two-fold: first, caverealms removes nodes more than it places them, so any ore generation would basically be the default or else be embedded in stalagmites or stalactites. That being said, the yellow and red glowing crystals have mese ore bases.
The other reason is that Cavorite is actually based off a work of fiction, H. G. Well's The First Men on the Moon. Metal that removes the weight of an object (or as the book says, is opaque to gravity just as steel is opaque to light). I'm not sure what use a weight-adding ore would have, but I can try thinking it over... Maybe have lead be an ore, and use it for various things like bearings and diving-weight belts...? If you have ideas, fire away.
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
 

User avatar
Topywo
Member
 
Posts: 1718
Joined: Fri May 18, 2012 20:27

Re: [Mod] Skylands [4.2] [skylands]

by Topywo » Sun Aug 17, 2014 08:35

HeroOfTheWinds wrote:Maybe have lead be an ore, and use it for various things like bearings and diving-weight belts...? If you have ideas, fire away.


I was thinking of (the old fashioned) slower but strong and durable tools. After your explanation you might find a use for it as a block that puts a lot of pressure on the node(s) under it, thus changing them into other material. Or use it as a part of a machine that transforms blocks by pressure.
 

Kilarin
Member
 
Posts: 649
Joined: Mon Mar 10, 2014 00:36

Re: [Mod] Skylands [4.2.1] [skylands]

by Kilarin » Sun Aug 17, 2014 15:33

HeroOfTheWinds wrote: Expect cavorite blocks that cause the player to float upward when standing over them in the near future. ;)

I would love something that worked sort of like this: https://forum.minetest.net/viewtopic.php?f=11&t=4587
The images are gone, but it's a really awesome mod.

One bug would need to be fixed though, in my opinion. The antigravity field does not disappear when you remove the generator. I think that is a serious game balance issue. But fixing it might be difficult when dealing with unloaded blocks on very long anti-gravity fields? I'm not certain.

On thing I would like to see. There are quite a few ores for which there are few uses. For example, since copper is used to make bronze, tin has no use at all that I've discovered. I would love if there was some way to use it to repair items? Take a diamond pickaxe that is nearly used up, combine it with a "repair block" made out of tin (or some other nearly useless material) and bump its repair status up by say 1/3 or even half?

Not certain if this would work well game balance wise. Just an idea I was playing with.
 

User avatar
HeroOfTheWinds
Member
 
Posts: 470
Joined: Wed Apr 23, 2014 23:16
GitHub: HeroOfTheWinds
IRC: WindHero

Re: [Mod] Skylands [4.2.1] [skylands]

by HeroOfTheWinds » Mon Aug 18, 2014 20:03

@Topywo: Hmm, I suppose those ideas could work. The pressure block is an interesting idea as well, could probably work something like technic's LV Compressor in some cases. Could make gravel become stone... Also could have optional depend on moreblocks to make it so that if the block is placed above stone_with_iron or stone_with_coal, it would become ironstone or coalstone.

@Kilarin: That does seem like it could work very well. 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. ;)
That bug with fields not being removed when a chunk is unloaded can actually be fixed fairly easily: use an ABM on top of the usual remove-when-dug code to check if a field has anything but a generator or field above it, and remove itself if not. Conversely, the ABM can also cause automatic calibration, as that would allow the field to check if the space below is empty and fill it if so.
You're right about tin being hardly useful at all... I'll work on finding some way to make it useful. :)

I have never claimed that SkyTest was "balanced". xD I'm usually so into coding that I don't test my own game to see if it feels balanced... That's what I'm relying on the community for. ;) (That being said, when I code other games in say, Unity3D, I definitely make a point of checking for balance.)
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
 

User avatar
Topywo
Member
 
Posts: 1718
Joined: Fri May 18, 2012 20:27

Re: [Mod] Skylands [4.2.1] [skylands]

by Topywo » Tue Aug 19, 2014 09:23

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. ;)


I'm not sure if those are all the drop down rope mods:

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
 

User avatar
Wuzzy
Member
 
Posts: 2161
Joined: Mon Sep 24, 2012 15:01
GitHub: Wuzzy2
IRC: Wuzzy
In-game: Wuzzy

Re: [Mod] Skylands [4.2.1] [skylands]

by Wuzzy » Tue Oct 21, 2014 17:39

Skylands lists moreblocks and technic as optional dependencies, but I get these error messages when running Skylands without those mods:

19:34:50: ERROR[main]: generateImage(): Could not load image "moreblocks_coal_stone.png" while building texture
19:34:50: ERROR[main]: generateImage(): Creating a dummy image for "moreblocks_coal_stone.png"
19:34:50: ERROR[main]: generateImage(): Could not load image "moreblocks_iron_stone.png" while building texture
19:34:50: ERROR[main]: generateImage(): Creating a dummy image for "moreblocks_iron_stone.png"
19:34:50: ERROR[main]: generateImage(): Could not load image "moreores_mineral_tin.png" while building texture
19:34:50: ERROR[main]: generateImage(): Creating a dummy image for "moreores_mineral_tin.png"
19:34:50: ERROR[main]: generateImage(): Could not load image "moreores_mineral_silver.png" while building texture
19:34:50: ERROR[main]: generateImage(): Creating a dummy image for "moreores_mineral_silver.png"
19:34:50: ERROR[main]: generateImage(): Could not load image "moreores_mineral_mithril.png" while building texture
19:34:50: ERROR[main]: generateImage(): Creating a dummy image for "moreores_mineral_mithril.png"
19:34:50: ERROR[main]: generateImage(): Could not load image "technic_mineral_uranium.png" while building texture
19:34:50: ERROR[main]: generateImage(): Creating a dummy image for "technic_mineral_uranium.png"
19:34:50: ERROR[main]: generateImage(): Could not load image "technic_mineral_chromium.png" while building texture
19:34:50: ERROR[main]: generateImage(): Creating a dummy image for "technic_mineral_chromium.png"
19:34:50: ERROR[main]: generateImage(): Could not load image "technic_mineral_zinc.png" while building texture
19:34:50: ERROR[main]: generateImage(): Creating a dummy image for "technic_mineral_zinc.png"


Please fix this.
 

User avatar
HeroOfTheWinds
Member
 
Posts: 470
Joined: Wed Apr 23, 2014 23:16
GitHub: HeroOfTheWinds
IRC: WindHero

Re: [Mod] Skylands [4.2.1] [skylands]

by HeroOfTheWinds » Fri Oct 24, 2014 22:54

Wuzzy wrote:Skylands lists moreblocks and technic as optional dependencies, but I get these error messages when running Skylands without those mods:

19:34:50: ERROR[main]: ...


Please fix this.


Ah, sorry about that. I believe that is because the nodes for those nodes are registered anyway even without the mods installed, although they still aren't used in island generation. I believe there was a reason I had to do it that way when I first made the mod, but I can't remember it right now. Still, I'll see what I can do.

EDIT: Alright, problem fixed. Not sure why I never did that to begin with... Anyways, enjoy!
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
 

User avatar
HeroOfTheWinds
Member
 
Posts: 470
Joined: Wed Apr 23, 2014 23:16
GitHub: HeroOfTheWinds
IRC: WindHero

Re: [Mod] Skylands [4.2.1] [skylands]

by HeroOfTheWinds » Fri Nov 07, 2014 21:43

UPDATE: Added the Air Sword!

I'll give you the crafting recipes, but you need to figure out where to capture the right quality of air... YOURSELF.

Cavorite Jar (for the air):
Image

Holy Hilt (since regular sticks have no chance of containing this amount of power):
Image

The Holy Air Sword:
Image
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
 

Kilarin
Member
 
Posts: 649
Joined: Mon Mar 10, 2014 00:36

Re: [Mod] Skylands [4.2.1] [skylands]

by Kilarin » Fri Nov 07, 2014 22:21

I have no words... :D
 

User avatar
philipbenr
Member
 
Posts: 1665
Joined: Fri Jun 14, 2013 01:56
GitHub: philipbenr
IRC: philipbenr
In-game: WisdomFire or philipbenr

Re: [Mod] Skylands [4.2.1] [skylands]

by philipbenr » Fri Nov 07, 2014 22:24

Topywo wrote:
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. ;)


I'm not sure if those are all the drop down rope mods:

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


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.
 

Kilarin
Member
 
Posts: 649
Joined: Mon Mar 10, 2014 00:36

Re: [Mod] Skylands [4.2.1] [skylands]

by Kilarin » Sun Nov 09, 2014 00:44

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.
 

User avatar
HeroOfTheWinds
Member
 
Posts: 470
Joined: Wed Apr 23, 2014 23:16
GitHub: HeroOfTheWinds
IRC: WindHero

Re: [Mod] Skylands [4.2.1] [skylands]

by HeroOfTheWinds » Sun Nov 09, 2014 02:33

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.


Well, it makes me very happy to hear that this is now on a server!

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
 

startdream
New member
 
Posts: 5
Joined: Tue Apr 22, 2014 16:20

Re: [Mod] Skylands [4.2.1] [skylands]

by startdream » Sun Nov 09, 2014 15:39

Nice mod! :)
 

User avatar
HeroOfTheWinds
Member
 
Posts: 470
Joined: Wed Apr 23, 2014 23:16
GitHub: HeroOfTheWinds
IRC: WindHero

Re: [Mod] Skylands [4.2.1] [skylands]

by HeroOfTheWinds » Sun Nov 09, 2014 21:34

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...
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
 

mystik
Member
 
Posts: 56
Joined: Tue Oct 28, 2014 22:16
GitHub: jasonjayr
In-game: mystik

Re: [Mod] Skylands [4.2.1] [skylands]

by mystik » Mon Feb 09, 2015 16:03

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 :)
 

User avatar
HeroOfTheWinds
Member
 
Posts: 470
Joined: Wed Apr 23, 2014 23:16
GitHub: HeroOfTheWinds
IRC: WindHero

Re: [Mod] Skylands [4.2.1] [skylands]

by HeroOfTheWinds » Fri Feb 13, 2015 19:19

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.
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
 

mystik
Member
 
Posts: 56
Joined: Tue Oct 28, 2014 22:16
GitHub: jasonjayr
In-game: mystik

Re: [Mod] Skylands [4.2.1] [skylands]

by mystik » Fri Feb 13, 2015 20:48

I'm building from git head:
Your phone or window isn't wide enough to display the code box. If it's a phone, try rotating it to landscape mode.
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


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.
 

mystik
Member
 
Posts: 56
Joined: Tue Oct 28, 2014 22:16
GitHub: jasonjayr
In-game: mystik

Re: [Mod] Skylands [4.2.1] [skylands]

by mystik » Fri Feb 13, 2015 21:28

I revisited one paticular chunk that lagged one of my players off:

Your phone or window isn't wide enough to display the code box. If it's a phone, try rotating it to landscape mode.
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


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?

Your phone or window isn't wide enough to display the code box. If it's a phone, try rotating it to landscape mode.
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 ...
 

User avatar
HeroOfTheWinds
Member
 
Posts: 470
Joined: Wed Apr 23, 2014 23:16
GitHub: HeroOfTheWinds
IRC: WindHero

Re: [Mod] Skylands [4.2.1] [skylands]

by HeroOfTheWinds » Fri Feb 13, 2015 22:11

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
 

PreviousNext

Return to Mod Releases

Who is online

Users browsing this forum: No registered users and 32 guests

cron