Space Engineers

Space Engineers

[SCAM] Simple Concurrent Adaptive Min3r
476 Comments
Mortus Eclipse Apr 29 @ 4:13pm 
Looking forward to the announcement of the fix. Good work so far.
cheerkin  [author] Apr 29 @ 10:37am 
Thanks, that's cool! I'd wait for the pending hotfix though, it addresses this issue. Should go live soon. After that the 0.9.251 (as well as previous versions) would work as intended (I've checked it already on the last dev build).
Elledess Apr 29 @ 5:28am 
Hey I fixed the error, now have some warning but the compilation is fixed

change :
public VRage.Scripting.MemorySafeTypes.MemorySafeList<byte> ShaftStates = new VRage.Scripting.MemorySafeTypes.MemorySafeList<byte>();

and

ShaftStates = ParseValue<VRage.Scripting.MemorySafeTypes.MemorySafeList<byte>>(values, "ShaftStates") ?? new VRage.Scripting.MemorySafeTypes.MemorySafeList<byte>();

Hoppe will help you
Klein Apr 28 @ 6:35pm 
I'm also having the same issue, i throw the new code into the PB and it gives the error. the old BP's dont seem to talk to each other either. i'm can't wait to finally use this though! good luck on figuring it out.
cheerkin  [author] Apr 28 @ 2:45pm 
Hmm, interesting, it may be caused by certain PB system changes (that error can't be related to 0.9.251 additions). What is confusing is that I had tested it on my dev206 local build and it worked fine.
Certain scripts may be broken by 206 by the way, I expect some amount of reports from script authors.
tkachev.daniil Apr 28 @ 2:23pm 
It ddoes not work unfortunately. The error is Cannot implicitly convert systen List<byte> to VRage MemorySafeList<byte>. Seems like it is something wrong with ShaftStates field
Mortus Eclipse Apr 28 @ 1:15pm 
@cheerkin Nice! Looking forward to updating the script and see how it performs.
cheerkin  [author] Apr 28 @ 8:56am 
0.9.251 is out. It takes advantage of the new drills TerrainClearingMode to remove stone even faster, and new HexSpiral task layout (enabled by default) for better coverage.

This version is intended for SE 206 update (Fieldworks) which would be shipped today evening.

Special thanks to @lizelive (discord) for providing the hex spiral algorithm.
Mortus Eclipse Mar 10 @ 2:27pm 
Thanks, looks like it works. Must have been too far from the targeted asteroid. Lost a drone or two so far. But otherwise working.
cheerkin  [author] Mar 9 @ 4:07am 
Yes, no
Mortus Eclipse Mar 8 @ 8:27pm 
Can create-task-raytrace to used with a camera on a subgrid? If so is there a specific way the camera needs to be set?
cheerkin  [author] Mar 3 @ 1:21pm 
Idk, I'll try it later, or you can do and tell me results. You mean there were some known issues?
phreekbird Mar 3 @ 6:04am 
coming back to SE after a bit of a break, SCAM working on servers yet?
cheerkin  [author] Jan 12 @ 11:18am 
The concept of locking is allowing access to a shared thing to a single user at a time. Giving it to every miner makes no sense as it defeats the purpose in the first place. In this case, shared thing is the path were miners can potentially collide (e.g. changing shaft while other drone ascends to unload). Whoever gets the lock, owns it until its path is complete. Others must wait, otherwise they are put to the risk of colliding. Not all path segments are locked, e.g. they can go horizontally simultaneously (but not in the mining area as there are both horizontal and vertical transitions that may cross).
Drausk Jan 12 @ 9:40am 
Yes, I noticed the collisions happening. I tested SCAM with 20 miners. one is flying to the drill site, another one is drilling, and another has finished drilling but is now just waiting for all the other miners to arrive. That’s the problem, because (as far as I understand) the dispatcher can only handle or issue a single lock to one miner at a time. I want to expand that so the dispatcher can manage and distribute multiple locks to multiple miners. If I’ve misunderstood something, my apologies.
cheerkin  [author] Jan 12 @ 8:00am 
Locking mechanism is there to protect from collisions, there is no built-in way to disable it. They mine simultaneously, locking does not affect that. You can try looping a timer with "command:dispatch" on every drone to emulate 'purge locks' I suppose, but I don't recommend that.
Drausk Jan 11 @ 12:36pm 
Hey, can the dispatcher accept multiple Miner locks at the same time, allowing several miners to do their work simultaneously (similar to the 'purge locks' command, but always active)?
cheerkin  [author] Nov 10, 2024 @ 3:48am 
No proper way, but I suppose you can trick it by using connector on a subgrid.
Based_Stickman Nov 9, 2024 @ 4:47pm 
IS their a way to tell scam to ignore an additional connector on an agent ?
cheerkin  [author] Nov 2, 2024 @ 5:55am 
Two dispatchers - no, but it probably would be in some next version. It is a big rework.
Drills - I wont turn them off because it is safer to keep them on during ascent, less likely to get stuck in a tiny unmined voxel. Overloading seems like is a drone design issue to me, they should have enough thrust to lift when fully loaded.
Force-finish has low speed cap, again it is safety measure as FF can happen at any time, including drones mid-shaft.
Unmined pillars are left because of shafts pattern generation, next version have hex lattice generator instead of concentric circles (and it is already done by ManuelSchmitz in his SCAM fork on github, you can try that version too).
Zerathrax Nov 1, 2024 @ 8:33pm 
So Idk how exactily but I seem to have fixed my issues. However, is there a way to make two dispatchers only control their own drones? I put the group constraint into one of them but it's still saying it's reading the other drones that I don't want it using.

Is there a way to make them turn off their drills on ascent from a shaft? It has lead to issues where they bug out sitting there still picking up stone while waiting and get over loaded.

Is there a way to stop them from going slower than my walking my speed back to their job sight if I force finish them?

If I can solve these 3 issues I'll officially be in love with this script.

Also to stop them from leaving unmined pillars I have to adjust the circular pattern value correct?
cheerkin  [author] Oct 30, 2024 @ 5:18am 
@Zerathrax Yeah, ideally, just post the whole world with repro steps (i.e. create mining task at this GPS, they mine for 3 minutes and then stuck), I'll take a look. You can get gps data of the task command from the log panel. Why I'm asking for gps - the whole thing is deterministic and should produce the same results, therefore if you have a bug starting a task at certain spot, I'd likely could reproduce it by re-using the same coords for the task as you did.
cheerkin  [author] Oct 30, 2024 @ 5:15am 
Though I don't know why you had to use sorter, maybe that is a grid issue that breaks the script cargo push logic somehow. I'd appreciate if you upload the world and post a link in the bug reports discussion (preferably the world without mods)
cheerkin  [author] Oct 30, 2024 @ 5:11am 
@Nyxborne it seems that you did not set-up the intended cargo container (set-value:preferred-container and tag it). IIRC it should pick some other appropriate inventory of the connected grid in case that one is not set, but it is slower (especially for big grids), likely the reason why it was "overheating".
Regarding GUI panel, take a look at my reference world, it is set up there. If it does not work, then you probably have mod/plugin issues.
cheerkin  [author] Oct 30, 2024 @ 5:02am 
Guys, please discuss issues in bug reports (pinned) or ask questions in relevant guide discussion (.e.g. set-up guide), this is the least convenient place to do it due to many reasons.
Nyxborne Oct 29, 2024 @ 6:01pm 
Sadly, the only thing i can't figure out is the Interactive grid image in the pro100tv guide
Nyxborne Oct 29, 2024 @ 5:53pm 
So think i figured it out.
In my testing, I was using the [SCAM] - Min3r 69R Hydro. I was getting the same behavior as mentioned in my previous posts: Order started, they would mine until full and would then dock. Once docked, the drone would switch tank to stockpile, batteries to recharge and it wouldn't undock.
What i did to fix it was install a conveyor sorter to force the inventory to the mining barge. It takes about 10-20 seconds, but the drones will empty and continue their task as expected.
Zerathrax Oct 29, 2024 @ 1:56pm 
Tried your small atmo miner, put down 3, recalled them, they all flew to the docks, gave them a GPS job and nothing. They just stay inert. Recompilled the drones and get an error so I don't know what it is anymore.
Zerathrax Oct 29, 2024 @ 1:22pm 
Also I will check out your other drones, I somehow misread and thought they were all community made. So I will double check them to see if theres any major differences.
Zerathrax Oct 29, 2024 @ 1:20pm 
The thing is, I built my drone from scratch copying the general build of XU-3. I didn't build a 1 for 1 copy. I didn't copy the script from that either, I put in THIS script and then the custom data from here. The general shape is roughly the same as XU-3, not the script. If it can be drone specific, based on the XU-3's general design what would it be then? The only thing I don't have is the script for the menus or timer blocks.

If you want I can even upload the drone I am using if you would like to take a look at it. At this point I'm ok with being called an idiot if I actually did miss something.
Nyxborne Oct 29, 2024 @ 12:54pm 
I'll start testing in a creative world with one of your ships, just to have a control point
Nyxborne Oct 29, 2024 @ 12:50pm 
So, I'm using the XU-3. Made sure to update the PB with the most recent script. 2 problems:
1- My Grid lcd isn't loading even though name the wide LCD as "scam-gui-panel" The panel just goes black.
2- after pairing 4 drones with the dispatcher (followed your setup guide to my mining barge) The drones do their task once set up. When they dock, the tanks stay on Stockpile-On, the batteries go to Recharge so i can't control via remote, and they don't dump their cargo. Also, after sitting for about 30 seconds on the dock after returning, my drone PBs overheat and must be rewelded.
cheerkin  [author] Oct 29, 2024 @ 2:40am 
@Zerathrax yeah this can be drone-specific. I haven't used XU-3 so I can't say if it is built fully in the correct way. Also, the author refuses to update script there, so I suspect 90% of the playerbase run very outdated code and then complain, we've been there.
cheerkin  [author] Oct 29, 2024 @ 2:35am 
@Nyxborne they can
Zerathrax Oct 28, 2024 @ 3:00pm 
The simple steps to reproduce it are just give them a mining job. At some point one or more will just have a stroke randomly and stop responding, causing any others to then be stuck in queue. I basically copied the XU-3 drone without the tree script so unless there is something specific I am blind to I don't see how it's the drone. They can work, and have worked flawlessly, but its just inevitable after 5-10 minutes or more that one ruins it.
Nyxborne Oct 28, 2024 @ 12:13pm 
When setting up the connectors, do the connectors have to be named "docka-min3r" exactly? Or can they be "docka-min3r 1" and "docka-min3r 2" and so-on?
cheerkin  [author] Oct 28, 2024 @ 3:06am 
Its been 2+ years since I used them in a real survival run, but I don't remember babysitting them much. Though I've never used another drones except of my own design, maybe that's the key. Thing is I can't really fix something that I don't see happening, so in order to do improvements, I have to ask for more info to get at least some picture. Like are they stuck physically, or not responsive script-wise? If latter, what state are they in, what happened before that, etc. If you have specific steps to reproduce the issue, there is a bug reports thread.
Zerathrax Oct 27, 2024 @ 8:40pm 
Unfortunately, as much as I really love and want to use this, I just can't. They are far too unstable. I've spent hours fiddling with them. Tried different tactics. settings, and almost every mining job ends with one or more drones just eventually getting stuck not carrying out a command, which then causes the rest to be stalled or bug out themselves. Then having them try to return to fix them often just ends with them remaining stuck until they run out of fuel despite what I do to try and fix them.

I hope you are still working on this because I would love to try again after some updates. As of now I have to baby sit them more than they mine to where I might as well just do it myself.
cheerkin  [author] Oct 26, 2024 @ 5:23pm 
Are your guys able to read further than 6 lines of description? Why do you not respect others time?
KuroShiro Oct 26, 2024 @ 12:54pm 
seconding the comment, does this work in servers where raycast is disabled?
cheerkin  [author] Oct 5, 2024 @ 1:06pm 
What do you expect me to do, like 5 hours survival lets play? I did these guides in a reasonably detailed fashion, I don't know what specifically you did not understand or had hard time with. Check out other people guides, iirc pro100tv has one.
Tiberiosity Oct 5, 2024 @ 10:39am 
Alright so I've gone through the guides, looked things over, and spent about 4 hours mucking about with this even after running the (not particularly helpful) 3 videos that are linked in to this.

Is there actually a complete, step by step, doesn't cut out 50% of the tasks you need guide for how to do this from scratch? Like. I start a survival world, build up to the point where I have the resources to make a drone, and set this up?

Heck so far I can't even get all of my screens to display and can't figure out why, let alone begin starting up mining tasks.
Squeech Sep 29, 2024 @ 1:00am 
Does this work without raycast?
cheerkin  [author] Sep 20, 2024 @ 5:19am 
@fillipe.rodrigues I don't think workshop version allows changing it in the GUI, it is changed by custom data edit. I assume you are using the customized version, in that case I can't help, you can ask in the bug reports and hope the author helps there.
@oddduck its hard to tell without knowing all the details. Check antenna connection, check if the dock is assigned (look into its custom data), see dispatcher log for errors, try using a single drone in case you tried multiple.
oddduck Sep 19, 2024 @ 3:20pm 
I'm new to this and not great at troubleshooting. I can get the adaptive mining to work but the drone just stops at the top of the mine and doesn't return to the DOCA. What am I doing wrong?
fillipe.rodrigues Sep 19, 2024 @ 2:45pm 
I managed to change the limit. How do I change the limits I choose in the panel? the autominer is still going up to the limit of 50
cheerkin  [author] Sep 19, 2024 @ 12:47pm 
Yes, you set skip-depth and max-depth before starting the task, using your estimation where the ore is.
fillipe.rodrigues Sep 19, 2024 @ 12:30pm 
In this case, is there a way for the drone to reach deeper deposits?
fillipe.rodrigues Sep 19, 2024 @ 12:29pm 
t was not changed in the air, but rather when docked. When he starts digging, he stops and gives this message
cheerkin  [author] Sep 19, 2024 @ 12:14pm 
I don't remember if its possible to change it on the fly, better do it before starting the task. In any case, that should not affect locks like you say, probably that was a coincidence.