azerothcore / azerothcore-wotlk

Complete Open Source and Modular solution for MMO
http://www.azerothcore.org
GNU Affero General Public License v3.0
6.51k stars 2.61k forks source link

Gathering proffession node spawns/respawns/locations are incorrect #4518

Closed The-GhostRider closed 4 months ago

The-GhostRider commented 3 years ago

Originally reported https://github.com/chromiecraft/chromiecraft/issues/64

CONTENT PHASE: 1-19
SMALL DESCRIPTION:

Mining and herbalism spawns are very strange/incorrect.

EXPECTED BLIZZLIKE BEHAVIOUR:

Mining and herb nodes should have fairly regular respawn times and spawn locations. All areas should have at least some base level of mine/herb nodes

CURRENT BEHAVIOUR:

**Some areas seem to have very little to no mining/herb node spawns at all. For example herb nodes in bloodmyst isle are very rare in general, and mining nodes in loch modan seem to be very rare as well.

Locations of the spawns seem to be correct, frequency seems to be off, as are respawn times. I'm not aware of the blizzlike respawn times but from wow classic it seems to be about 5-30 minutes. I have had herbs not respawn in >30 min. I have also been told (circumstantially) of some herbs respawning in seconds in elwynn forest.**

STEPS TO REPRODUCE THE PROBLEM:

**1. The gathermate and gathermate data will show potential node spawn locations. In some zones you wont see a herb/mining node spawn in almost all (99%) of these locations despite the zone being empty Gathermate: https://www.gnarlyguides.com/wotlk/addons/gathermate/ Gathermate data 3.3.5a : https://www.gnarlyguides.com/wotlk/addons/gathermate-data/

  1. Some herbs in azuremyst isle take longer than 30 min to respawn
  2. Most if not all node locations for herbalism in bloodmyst isle and mining in loch modan are unpopulated. (check against gathermate addon data)**
AC HASH/COMMIT:

https://github.com/chromiecraft/azerothcore-wotlk/commit/b905ce8c354b7cfac899ac3ab67209d2995b4de2

OPERATING SYSTEM:

Ubuntu 20.04

MODULES:
OTHER CUSTOMIZATIONS:

None.

SERVER:

ChromieCraft

The-GhostRider commented 3 years ago

I confirm, there are not enough Herbs and Minerals on the map. This is all I have found.

WoWScrnShot_020921_122812

Kitzunu commented 3 years ago
  1. Some herbs in azuremyst isle take longer than 30 min to respawn

This could be partly wrong, but I have not checked it.

But what needs to be understood is that any nodes that are spawned are also pooled. Which means there could be 100 nodes spawned, but they could be pooled to max have 50 present. As I said I have not checked the actual data for azuremyst isle, but pooling is something that needs to be understood for whoever wants to look into the issue.

The-GhostRider commented 3 years ago

This could be partly wrong, but I have not checked it.

But what needs to be understood is that any nodes that are spawned are also pooled. Which means there could be 100 nodes spawned, but they could be pooled to max have 50 present. As I said I have not checked the actual data for azuremyst isle, but pooling is something that needs to be understood for whoever wants to look into the issue.

@Kitzunu Idk, but what I do know is that I put on the herb and mineral tracker I went around the island (I also got the achievement for exploring the whole island), and I only found 2 Minerals and 7 Herbs it seems a little bit..

Kitzunu commented 3 years ago

Im not saying you're wrong, I am just telling the one who takes a look at fixing this to also do correct poolings

How pooling works in practice is: for example 50 spawned of 100, one gets mined -> another one appears instantly in another place

The-GhostRider commented 3 years ago

Im not saying you're wrong, I am just telling the one who takes a look at fixing this to also do correct poolings

Of course..

T1ti commented 3 years ago

vmangos sniffed a lot of them for eastern kingdom and kalimdor

Zoidwaffle commented 3 years ago

Hm, it sounds wrong with only 7 spawns.

The pool for herbs has 115 entries and 30 of those should be present. The respawn rate is 1 minute.

The above is the exact same numbers as TC.

So there should be ~30 nodes of herbs alone! (Earthroot/Silverleaf/Peacebloom) on these locations:

.go xyz -3244.23 -11963.2 10.8785 530
.go xyz -3739.21 -12072.8 9.5481 530
.go xyz -3535.67 -12261.6 5.20414 530
.go xyz -3093.3 -12640.8 13.2831 530
.go xyz -4153.44 -12870.4 4.07805 530
.go xyz -4706.13 -11769.2 22.5847 530
.go xyz -4596.95 -11504.9 20.2867 530
.go xyz -4336.09 -11550.6 11.4222 530
.go xyz -4987.04 -11005.2 22.1591 530
.go xyz -5143.08 -10915.6 16.619 530
.go xyz -4832.37 -11526.2 28.378 530
.go xyz -4755.66 -12143.8 33.3306 530
.go xyz -4505.69 -12696.2 13.8904 530
.go xyz -3103.66 -12121 13.7098 530
.go xyz -3566.56 -12268.5 4.46533 530
.go xyz -3180.22 -12250.5 43.3486 530
.go xyz -2989.82 -12580.9 12.1264 530
.go xyz -3759.79 -12671 5.14031 530
.go xyz -4525.09 -12793 17.1912 530
.go xyz -4619.36 -12179.1 34.7054 530
.go xyz -4845.15 -11985.6 33.0736 530
.go xyz -4653.6 -11674.8 26.4311 530
.go xyz -4947.04 -11137.9 23.9341 530
.go xyz -4947.32 -10949.6 13.1354 530
.go xyz -5055.13 -11018.5 27.7609 530
.go xyz -5207.27 -10941.2 13.5631 530
.go xyz -4755.85 -11956.3 35.4842 530
.go xyz -4532.73 -12666.4 16.8321 530
.go xyz -4342.48 -11615.6 7.25789 530
.go xyz -3301.15 -11950.4 15.1224 530
.go xyz -3162.4 -12450.1 52.4924 530
.go xyz -3199.23 -12300.8 63.0233 530
.go xyz -3838.09 -12724.3 16.2313 530
.go xyz -4685.03 -11543.5 27.0884 530
.go xyz -4981.59 -11232.2 18.8465 530
.go xyz -4900.15 -11105.5 8.51784 530
.go xyz -5084.04 -10938.2 15.7116 530
.go xyz -5054.21 -11058.4 28.1911 530
.go xyz -4920.53 -11728.5 14.7021 530
.go xyz -4963.46 -11782.5 13.7056 530
.go xyz -4147.14 -12832.4 9.721 530
.go xyz -4869 -12034.4 25.6207 530
.go xyz -3105.33 -12555 -0.258051 530
.go xyz -4057.41 -12764.1 5.7495 530
.go xyz -4055.52 -12825.7 2.60632 530
.go xyz -3973.77 -12310.2 1.48217 530
.go xyz -3771.81 -12326.6 3.41105 530
.go xyz -4308.29 -12604.4 25.2222 530
.go xyz -4317.56 -12388.1 20.2541 530
.go xyz -4647.97 -12486.8 22.0577 530
.go xyz -4460.57 -12149.9 9.52067 530
.go xyz -4631.67 -11964.5 37.9853 530
.go xyz -4873.66 -11939.5 21.9858 530
.go xyz -4808.62 -11765.6 19.8589 530
.go xyz -4799.21 -12067.8 45.5825 530
.go xyz -4400.76 -12682.3 20.776 530
.go xyz -4356.64 -12653.3 19.2766 530
.go xyz -3938.46 -12664.7 76.667 530
.go xyz -3715.7 -12448.5 0.293621 530
.go xyz -3611.33 -12295.7 2.23633 530
.go xyz -3448.89 -12444.6 21.6107 530
.go xyz -3180.76 -12412.5 55.9693 530
.go xyz -3431.48 -12259.1 18.2747 530
.go xyz -3742.51 -12603.3 6.63434 530
.go xyz -4563.28 -11627.5 18.2939 530
.go xyz -4440.35 -11826.6 10.0191 530
.go xyz -4321.04 -12547.3 26.8173 530
.go xyz -4553.48 -12286.4 17.0104 530
.go xyz -3833.19 -12778.5 8.89262 530
.go xyz -4728.24 -12257.2 9.2629 530
.go xyz -4563.28 -11627.5 18.2939 530
.go xyz -4475.47 -11629.1 11.5813 530
.go xyz -4225.27 -12095.3 6.78638 530
.go xyz -4325.19 -12090.9 7.34206 530
.go xyz -4969.33 -11266.4 26.7661 530
.go xyz -4516.61 -11562.7 16.7148 530
.go xyz -4456.53 -12040.6 20.2935 530
.go xyz -4554.9 -12318.7 19.5644 530
.go xyz -4705.27 -11584.4 26.3765 530
.go xyz -4452.81 -11887.3 14.5355 530
.go xyz -4353.18 -12250.8 7.59713 530
.go xyz -4419.76 -11646.8 7.29847 530
.go xyz -4985.8 -10981.5 20.7943 530
.go xyz -4793.52 -12273.3 3.84495 530
.go xyz -3996.94 -12731.7 19.4022 530
.go xyz -4780.23 -11437.1 6.16672 530
.go xyz -4409.37 -11519.9 15.7371 530
.go xyz -5226.13 -11224.4 38.4356 530
.go xyz -4102.36 -12695.5 13.7054 530
.go xyz -3595.86 -11863.9 6.7286 530
.go xyz -3800.11 -11847 3.00253 530
.go xyz -3644.42 -12599.9 14.4675 530
.go xyz -4616.37 -12116.4 39.8854 530
.go xyz -4532.82 -12531.3 6.59207 530
.go xyz -4357.98 -12012.7 7.51916 530
.go xyz -4406.96 -12192.7 7.10283 530
.go xyz -3640.67 -11911.2 10.386 530
.go xyz -3603.87 -12708.9 9.11045 530
.go xyz -4407.08 -12575.8 10.3858 530
.go xyz -3864.88 -12538.9 37.1232 530
.go xyz -3789.32 -11808.1 15.0198 530
.go xyz -3301.15 -11950.4 15.1225 530
.go xyz -3507.2 -11922.5 2.58766 530
.go xyz -3625.52 -12075.3 22.2671 530
.go xyz -3908.42 -12345.5 2.12792 530
.go xyz -4215.53 -11785.2 11.3831 530
.go xyz -4338.12 -11691.6 7.28691 530
.go xyz -4387.86 -11883.3 10.5695 530
.go xyz -3807.18 -11925.7 4.44405 530
.go xyz -4297.78 -12042 1.56154 530
.go xyz -3505.93 -11809.1 6.61314 530
.go xyz -3978.03 -12384.4 7.06595 530
.go xyz -2994.8 -12192 15.3652 530
.go xyz -3299.94 -12133.3 44.041 530
.go xyz -4281.44 -12716.9 25.5493 530

I did not visit all of them, but I did visit the first 10 on the list and found 4 herbs.

Is there a way to send these commands using the server CLI? Then a visit to all locations could be automated easily :)

The above says nothing about mining btw, I'm aware of that.

lineagedr commented 3 years ago

It is possible to export the gathermate data to sql but not sure how accurate it is

Zoidwaffle commented 3 years ago

@lineagedr : but there's 115 herbalism nodes already... I don't think we necessarily need more? Like, it's probably not totally wrong at least... And 30 nodes at once also sounds kinda OK?

Anyway, I will see if I can automate visiting those places.... Because copy/pasting it manually is too annoying.

I also checked up on mining... There's 136 copper veins in the Outlands map... I assume those are Azuremyst since it's a low level vein. They are NOT pooled and have spawn times from 15m -> 1h. So I made a PR for that part.

Zoidwaffle commented 3 years ago

Sorry, I was too fast. I'm not super well known in that starting zone - I just checked out stuff on Azuremyst, not Bloodmyst, not noticing the difference.

@Stifler82 - you missed one vein on your map :grin:!

The only mining nodes on Bloodmyst are these and I don't know if that's correct or not:

.go xyz -2411.3 -11965 13.399 530 -- 120324 Bloodmyst Isle, Copper Vein, spawn 1
.go xyz -2614.69 -12192.1 28.0703 530 -- 120325 Bloodmyst Isle, Copper Vein, spawn 2
.go xyz -2623.13 -11772.2 9.2479 530 -- 120363 Bloodmyst Isle, Copper Vein, spawn 3

So the PR I made above does not affect Bloodmyst, but it should fix the neighboring island Azuremyst.

The-GhostRider commented 3 years ago

Sorry, I was too fast. I'm not super well known in that starting zone - I just checked out stuff on Azuremyst, not Bloodmyst, not noticing the difference.

@Stifler82 - you missed one vein on your map 😁!

The only mining nodes on Bloodmyst are these and I don't know if that's correct or not:

.go xyz -2411.3 -11965 13.399 530 -- 120324 Bloodmyst Isle, Copper Vein, spawn 1
.go xyz -2614.69 -12192.1 28.0703 530 -- 120325 Bloodmyst Isle, Copper Vein, spawn 2
.go xyz -2623.13 -11772.2 9.2479 530 -- 120363 Bloodmyst Isle, Copper Vein, spawn 3

So the PR I made above does not affect Bloodmyst, but it should fix the neighboring island Azuremyst.

@Zoidwaffle

it could be, I didn't use the GM's commands, like: ".look obj xxx" I did the research as if I were a player via "Minimap" with the herb and mineral tracker (and some GM speed of course).

Zoidwaffle commented 3 years ago

@Stifler82 - yep, I was just trying to be funny.

I prepared a pool for Bloodmyst veins here: https://github.com/azerothcore/azerothcore-wotlk/pull/4636

If comparing what exists (3 spawns) with this: https://tbc-twinhead.twinstar.cz/?object=1731 then it's obvious one of them is wrong.

We cannot take anything from TC, they have the same data as AC. I didn't check out the vmangos database (yet), but perhaps that's the way to solve it as @T1ti suggested (otherwise we have to run around with a GM to supposed locations and do .gps)

Edit: vmangos is for vanilla content only, so no luck there!

The-GhostRider commented 3 years ago

@Stifler82 - yep, I was just trying to be funny.

I prepared a pool for Bloodmyst veins here: #4636

If comparing what exists (3 spawns) with this: https://tbc-twinhead.twinstar.cz/?object=1731 then it's obvious one of them is wrong.

We cannot take anything from TC, they have the same data as AC. I didn't check out the vmangos database (yet), but perhaps that's the way to solve it as @T1ti suggested (otherwise we have to run around with a GM to supposed locations and do .gps)

Edit: vmangos is for vanilla content only, so no luck there!

Ok, guys.. there is something to understand. We are not the Official, we do not have ALL the players that the Official has, and consequently we cannot "Reason" like the Official, on the other hand, we are not even TC, and TC is not the WoW Bible.

So, (for me), the conclusion is simple, as far as we can follow an "OffyLike Guideline", ok, (in exceptional cases instead), where instead a little common sense is needed, "Common sense" will apply. .

So my advice is: Apply some common sense, and don't get involved with quibbles.

Zoidwaffle commented 3 years ago

I believe I found a way to extract the data from Gathermate... But it contains no Z coordinates, so not sure if I can script an import or if it will be a partial automatic fix and some manual labor as well.

I would assume this could be done for all zones, so I'd rather spend a bit of time on this, trying to make it as easy and accurate as possible...

Zoidwaffle commented 3 years ago

I spend a bit of time on it - and it's kinda fun to try and make this stuff work automatically... But besides that, there are a few things to consider.

There are 180 spawn points for Bloodmyst divided into something like ~100 copper, 50 tin and 30 silver.

One way would be to simply make a giant pool with all of these... and if only 20 spawn, relatively speaking, it's most likely to be copper etc., making the "rare" veins rare.

Another solution, as I can see they went for in the Ghostland zone, would be making 100 nodes (all the copper locations) and then make them spawn where there's 70% for copper, 20% for tin and 10% for silver...

The "make all 180 spawns" would bring the map into pretty much exactly matching the "Gathermate" addon (I literally took the coordinates from there). The "make spawns able to be 3 things" would perhaps be more elegant, at the cost of a slightly more advanced db-structure.

Personally I might prefer to just use all 180 spawns and call it a day.

Either way, both options are superior as compared to now... And I assume something similar could/should be be done for more zones.

Anyone with strong preferences regarding this?

ghost commented 3 years ago

Wasn't this isle supposed to have almost no nodes?

neifion-00000000 commented 2 years ago

I've begun work on this, but even if I gave it top priority it's would still take a very long time. Teldrassil is fixed and in so far https://github.com/azerothcore/azerothcore-wotlk/pull/10170 and I have made effort to hunt down every node and give very close to accurate spawn totals.

Method wise, I sniff while herbing on an empty GatherMate addon map until my map matches the wowhead map for each herb type, at which point I parse the objects from the sniffs, find and remove all existing nodes (they'll just get in the way), re-add everything and then set them up into pools as I check them. If anyone else takes a stab at it please join the Discord so we can coordinate.

Gultask commented 2 years ago

Pooling issues mostly. Current AC pooling is trash. It uses a master pool for ALL herbs, for example.

On the bright side it seems most spawns are correct. The ones I've checked in WotLK Classic have the same spawns in Acore. Including this floating herb:

image

Yes, this is WotLK Classic. Yes, it's the same spawn in AC.