BETA Release - Factory Loop Delivery Software - v0.12

The place to discuss scripting and game modifications for X²: The Threat.

Moderators: Moderators for English X Forum, Scripting / Modding Moderators

User avatar
Red Spot
Posts: 3461
Joined: Fri, 4. Feb 05, 13:44
x3

Post by Red Spot » Wed, 8. Jun 05, 15:37

Aye Capn wrote:P.S. I need a host for Station Orientation and FLDS+LB. Anyone want to host a couple of scripts? Like maybe Red Spot?
you know what .. after having had/seen this Q. every so many days ..
I'll just make a new (free) site ..(wich any of you could do for yourselfes as well .. :o )
and put the "small" scripts of anyone who wants on there (I guess this allready was an option on X2-source)

just E-mail me the "well" packed (packed in .zip and packed "good" or better)script .. and I'll make a site and put it up there .. sending you a link ..

G

User avatar
DeadlyDa
Posts: 1882
Joined: Mon, 5. Jan 04, 04:46
x4

Post by DeadlyDa » Wed, 8. Jun 05, 15:43

Aye Capn,

In the interest of providing a second mirror, I can offer hosting for FLDS.

I currently host quite a few files supporting my custom ship mods...and have a very stable high-bandwidth server.

Just email me the files, and I will post them and provide you with the link address.

I leave for the airport in about 7 hours, but will upload the files before I go if they arrive in time.

User avatar
Red Spot
Posts: 3461
Joined: Fri, 4. Feb 05, 13:44
x3

Post by Red Spot » Wed, 8. Jun 05, 15:50

problem solved .. :D

Aye Capn
Posts: 2611
Joined: Sat, 15. Feb 03, 07:17
x3tc

Post by Aye Capn » Thu, 9. Jun 05, 06:16

Sweet, thanks, guys.

I'm emailing "Station Orientation" and "FLDS+LB" to Deadly Dad.

I already want to change "Station Orientation" to slave one axis at a time to the ship's gamma rotation. That's going to be 1000% easier to use than the somewhat confusing way it works now (although what I have now does work, so I'll send it along.)

"FLDS+LB" will probably get changed a few more times before I go to work on XDS, and I want to make a final change -- elimination of the Critical Section Flag -- before I send it along. I'll have that done very soon.

Thanks again for the site. Last thing I need is another project to manage.

BlueSwede
Posts: 251
Joined: Sat, 7. May 05, 19:05
x3tc

Post by BlueSwede » Fri, 10. Jun 05, 16:15

A question about FLDS.
Does the script work in an half Loop?
I've a drone factory, a massom mill and a cruffin farm in FLDS loop, but my sgip sits still in the drone factory without doing anything. (I've set it to FLDS several times)

The thought is for it to buy the energy cells to the loop,( since It worked perfectly before, with 3 BPH'ed ships),

TheHammer
Posts: 28
Joined: Thu, 27. Jan 05, 03:33
x4

Post by TheHammer » Fri, 10. Jun 05, 19:23

FLDS will only move products that are part of the loop. It will move the scruffin to the masson mill, then the masson power to the drone factory. But that is all it can move. If you have a power plant close by that has an excess, you can add it to the list of linked stations. Your ships would then start suppling these three factories with power.

FLDS is very good at moving products around a closed loop where no goods are bought. The only problem is an open system where you need to buy outside goods.

BlueSwede
Posts: 251
Joined: Sat, 7. May 05, 19:05
x3tc

Post by BlueSwede » Fri, 10. Jun 05, 23:01

I do have a powerplant nearby, but I use it for all my about a dossen factories around. If I include it in the loop, doesn't that exclude my other factories from using it?

TheHammer
Posts: 28
Joined: Thu, 27. Jan 05, 03:33
x4

Post by TheHammer » Fri, 10. Jun 05, 23:10

You can power up about 10 factories from one power plant. Any more, and you will probably run out. If you could create a power loop, you will have free power (after the cost of the factories) for up to 6 other factories. If don't have 6 factories that need power, you can sell the extra power at prue profit. All of my power plant sell power at 22, and there are always buyers.

BlueSwede
Posts: 251
Joined: Sat, 7. May 05, 19:05
x3tc

Post by BlueSwede » Sat, 11. Jun 05, 06:33

I know. I just set the solar station to not sell to others, and the sell price to 14, so sometimes my factories buys from others when they find a lower price.

Anyway, I looked at my power station and saw that it was almost full, that was when I got the ide of putting an half loop nearby. I was hoping it, also, would buy from my power station, and if it would run empty, they can buy from somewhere else.

User avatar
DeadlyDa
Posts: 1882
Joined: Mon, 5. Jan 04, 04:46
x4

Post by DeadlyDa » Sat, 11. Jun 05, 22:36

OK...here are the files Aye Capn sent me.

Sorry for the delay...but I just got back from my last business trip, and found his files in my in-basket.

I put 'em into an archive, and copied part of his email as a "readme".

http://www.flatrock.org.nz/wolf/images/ ... cement.rar

Enjoy...

Andyroo
Posts: 21
Joined: Thu, 1. Jul 04, 03:09
x2

Post by Andyroo » Sun, 12. Jun 05, 08:10

i feel slightly retarded since i cant seem to get it running. can anyone help me out? i read the readme but its just not moron friendly :lol:

BlueSwede
Posts: 251
Joined: Sat, 7. May 05, 19:05
x3tc

Post by BlueSwede » Sun, 12. Jun 05, 15:44

The "instructions" are lacking somwhat...
It took me some time to get the hang of it too.
I did the following:
Open the fab you want to use as a hub, choose Command console
Coose FLDS Link station, and choose the station you want to link
continue with all other stations you want to link

Then set the hub's ship(s) to FLDS...
Not really difficult, when you know what to do...

Nazgutek
Posts: 127
Joined: Wed, 16. Mar 05, 10:42
x3tc

Post by Nazgutek » Tue, 14. Jun 05, 14:40

OK, first off, many many apologies for going AWOL on this. FLDS was written whilst I was looking for employment, and well, it's amazing how much your free time gets nuked by a full time job. :wink:

Onto some of the gubbins of FLDS. Most of this is off the top of my head, as I don't have a handy copy of the source to browse and confirm with:

1) The Critical Section:

The Critical section, as you probably worked out, is there to stop one ship doing a load of calculations on cargoes whilst a second ship happily trudges along and changes things. Now, if we're talking about a monolithic lump of code with no interrupt points in it, it wouldn't be a problem, but I decided on having interrupt points inside the section for the sake of ensuring that a problem would not lock up the whole script engine. Due to the limited testing I could perform with FLDS, I was not 100% sure that the main engine would not lock up given a severely nasty setup of factories to work with. So the waits went in, which brings me onto...

2) 1ms waits:

These were put in not because I needed the script to wait exactly 1ms (or hell, any specific amount of time), but because they provided a simple interrupt point to allow other scripts to run. I had visions of horror about people linking a monstrous number of factories to one hub, and then complaining that FLDS made X2 stutter as it tried to assimilate, sift, discard and rate every possible route.

To recap, all I cared about was that FLDS would task switch, irrelevant of whether a specific instance lost the plot and infinite looped. I preferred a script locking up one ship (easily cured by the player by stopped and restarting FLDS on it) than it locking up the whole game.

3) The 100ms wait on the Critical Section Test:

Good call, I didn't contemplate that use-case of lots of ships. I'll suggest a change to your change, and instead of waiting a fixed amount (say, 2000ms), make it random (say, 1500ms to 2500ms). I don't know how the script scheduler works inside X2, but if you have 50 ships all executing in a neat order immediate after one another, I like the idea of throwing some randomness in there to keep things dynamic.

4) Priority, Priority, Priority

By far the hardest design point in FLDS was that damn Route Prioritisation. I think I still have the bits of paper listing worst-case and best-case route scenarios, but don't ask me where! I'll say it now, the Prioritisation, Critical Need, and 'pointless shipments veto' logic is definitely an area that can be improved.

First off, a route is specific between one source and one destination. In your case with multiple silicon mines, I'm surprised that FLDS didn't cope with that, as my limited testing didn't find a problem with it. But then, your situation coupled two conditions together, and the fact that the destination was critically low means that the 'low stock' veto didn't happen. When I get a chance, I'll review all your changes and my source side-by-side, but I'll say it now: you're definitely on the right track, and I'm glad someone else has been putting effort into FLDS.

(My initial passes at this "AI" quickly resolved to a few points:
a) Avoid flashing yellow factories
b) A factory with at least a few cycles of resources in stock is a happy factory
c) Only fill a factory to capacity with a given resource if we've got nothing better to do
d) Don't fly with an almost empty hold, unless a factory is critical
And these points are what resulted in the current logic.)

5) Scripting Newbiedom

You say this is the first scripting you've jumped into. What a coincidence, FLDS is my first X2 script. Considering we've never scripted X2 before now, FLDS seems to be holding up well. (Fortunately, I've got about 21 years of programming experience in a plethora of languages.)

As for the compliment on coding style: Thank you. I quickly discovered I'd need a damn clear naming convention for all the variables and arrays I was mangling. Hopefully it'll serve as a good example :wink:

6) "User Interface"

This is where FLDS was born. Even before I had considered how the script would ship stuff around, I designed the simplest UI for it I could. There's no point writing a great script in the SDS-vein if it takes the player an hour to set everything up for one ship. And repeat that hour if some Khaak eat the ship.

So given that ships could and would get eaten, the setup was moved to the station. Now, you might say "well, what if the station gets eaten?". Well, if you're talking about eating stations, your factory loop is in trouble anyway, and no amount of clever scripting for a loop supplier is going to cope with the SPP disappearing. So it seemed sensible that we get the stations to hold the 'configuration' for FLDS.

After playing with some simple ideas, it turned out that listing all the possible routes between a set of stations wasn't hard, and so I decided on the Hub concept. Link stations to the Hub via the Hub's command console, and we're almost there. Fortunately, this solved the problem of a ship knowing what stations to supply even before I'd thought about it: [THIS]->HOMEBASE

Confirmation of the whole idea with some dummy scripts and a heavy abuse of local variables resulted in FLDS just needing it's guts written.

Stop waffling!

I'll shut up now. I'll try to get my arse into gear and have a review of FLDS with your changes by the weekend. And as for others working on it, go for it. If you want to re-release it, go for it. Just make sure I'm mentioned in there somewhere.

Ishark
Posts: 146
Joined: Tue, 8. Feb 05, 16:40
x2

Post by Ishark » Tue, 14. Jun 05, 18:49

Nazgutek wrote:To recap, all I cared about was that FLDS would task switch, irrelevant of whether a specific instance lost the plot and infinite looped. I preferred a script locking up one ship (easily cured by the player by stopped and restarting FLDS on it) than it locking up the whole game.
I've completed my lock library, and it could use some real-world testing.... Do you want to try it? It would allow both to put waits in your loops while avoiding ship lock-ups.
Cut your micromanagement with the HDS (for X2)

Aye Capn
Posts: 2611
Joined: Sat, 15. Feb 03, 07:17
x3tc

Post by Aye Capn » Wed, 15. Jun 05, 02:42

Nazgutek lives! It's great to find you're a "kindred spirit", an old hand at programming just getting into scripting.

First let me compliment you on a great script. Your experience as a programmer shows.

Bear that in mind as I recap:

CRITICAL SECTION

This one's a killer. Only one ship in the universe can run FLDS route-finder at a time, so any delay within a critical section will eventually bottleneck the whole system. It doesn't help that task-switching in MSCI is the equivalent of breaking for a 2-martini lunch.

I see three possible solutions:

1. Run the route-finder in "atomic time" and limit the number of linked stations to 20, that's 20^2 = 400 stations to check for routes before giving up a time slice (yes, that means you're the one taking the 2-martini lunch). This is in fact how I modified FLDS (except I didn't put a station limit in).

It is possible to move some chunks of the big critical section outside by breaking it into separate steps. For instance, the defining of routes isn't critical until they're quantified, so you could build your route array with well-behaved waits then in the atomic section load the array with actual quantities. (There are also fewer routes than the #/stations squared, so a good chunk of work is cleared away by this point.)

2. Run the route-finder continuously, like NASA plots telemmetry, and update results to a "job board" for the transports to pick from. The route-finders, one per hub, could run slowly and hold critical sections against other route-finders as needed, but the job board would never be locked. (Any job board updates would be atomic.)

3. Devise some other route-finding algorithm robust enough that it works most of the time without needing critical sections or an over-large block of "atomic code". A scheme using local variables at stations to create a virtual inventory might do the trick, although I'm strictly guessing here. ASDS doesn't use critical sections, but I don't know how well it actually performs.

ROUTE PRIORITY

The big problem in your route priority is that it doesn't take source inventory into account in the scoring algorithm. That's even true if one of two routes moves less cargo, unless the lesser route is so bad it gets vetoed and the veto wasn't overridden by the "critical shortage" exception.

I have my own theory about the "flashing yellow critical shortage problem". Consider this in the spirit of the Laws of Thermodynamics:

1. A maximally efficient freighter would make every trip fully loaded.

2. A minimal buildup of inventory requires constant shipping of tiny cargoes the moment they become available.

3. More efficient use of fewer freighters requires larger inventories; keeping smaller inventories requires more freighters carry smaller loads.

4. Buildup of inventory, necessary to run fewer freighters more efficiently, takes time, and it is this span of time that shows up as a blinking yellow factory.

5. Assuming sufficient overall transport capacity, a factory blinking yellow is normal, a sign that freighter efficiency has not yet reached equilibrium with transport requirements.

FLDS should ideally balance the competing goals of maximum efficiency and minimum inventory, increasing efficiency only as needed to offset increased demand. That's why I chose the balanced priority (full source and empty destination equal).

***

Whatever changes I made consider yours. Feel free to use the modified "FLDS" and the modifications within in any way you wish. Let me know when / if you want DeadlyDA to take down his link.

Oh, and welcome back! :)

Nazgutek
Posts: 127
Joined: Wed, 16. Mar 05, 10:42
x3tc

Post by Nazgutek » Wed, 15. Jun 05, 10:50

Aye Capn wrote: CRITICAL SECTION

This one's a killer. Only one ship in the universe can run FLDS route-finder at a time, so any delay within a critical section will eventually bottleneck the whole system. It doesn't help that task-switching in MSCI is the equivalent of breaking for a 2-martini lunch.
Indeed, technically, the Critical Section is a bottleneck. However, it will bottleneck when the flight time of a ship performing a shipment exceeds the total amount of time every other ship spends processing route information. Before that point is reached, ships will collide on the CS, but not in a bottleneck scenario. Or at least, going from the top of my head (still not had a chance to review source), that's the intent at least.
1. Run the route-finder in "atomic time" and limit the number of linked stations to 20, that's 20^2 = 400 stations to check for routes before giving up a time slice (yes, that means you're the one taking the 2-martini lunch). This is in fact how I modified FLDS (except I didn't put a station limit in).
One nice idea. You'd have to ensure that when a given instance of FLDS re-enters on a new timeslice that it interrogates all the stations to update available and needed amounts, but workable for sure.
It is possible to move some chunks of the big critical section outside by breaking it into separate steps. For instance, the defining of routes isn't critical until they're quantified, so you could build your route array with well-behaved waits then in the atomic section load the array with actual quantities. (There are also fewer routes than the #/stations squared, so a good chunk of work is cleared away by this point.)
Now that's a great idea. A lot of grunt work is done by doing a N^2 search through the list of linked stations at a hub, and breaking into two stages works. The first stage can identify possible routes (where a route is defined, as you know, as a journey between a station that produces and a station that needs a specific resource) without grabbing available and needed amounts, and this means it can go outside the critical section. Then inside the critical section, we can go through the routes we found, grab the amounts, perform our checks and comparisons, decide on a route and exit the critical section.

I like it!
2. Run the route-finder continuously, like NASA plots telemmetry, and update results to a "job board" for the transports to pick from. The route-finders, one per hub, could run slowly and hold critical sections against other route-finders as needed, but the job board would never be locked. (Any job board updates would be atomic.)
Another workable idea. It would require a paradigm shift away from the ships back to the hub, but there's no reason why we couldn't have a 'manager' running on a Hub who maintains a list of necessary and efficient shipments. All the critical section would need to do is to lock access to the list whilst the manager updates or whilst a ship accepts a job.
3. Devise some other route-finding algorithm robust enough that it works most of the time without needing critical sections or an over-large block of "atomic code". A scheme using local variables at stations to create a virtual inventory might do the trick, although I'm strictly guessing here. ASDS doesn't use critical sections, but I don't know how well it actually performs.
With multiple ships, some sort of critical section is needed. One ship could be working out which route to take whilst "at the same time" another ship could accept a job. FLDS tracks current jobs, and jobs that are taken but en-route are figured into the available and needed amounts at stations.
The big problem in your route priority is that it doesn't take source inventory into account in the scoring algorithm. That's even true if one of two routes moves less cargo, unless the lesser route is so bad it gets vetoed and the veto wasn't overridden by the "critical shortage" exception.
I'm not a AI programmer, as the route prority rating system shows! There's definitely room for improvement, and taking into account source inventory is one aspect I didn't have time to fully account for. I decided on a simple 'veto' scheme just so I would have a script that worked. Using a weighted score which accounts for source inventory is definitely a way forward.

Another issue to be aware of is for routes that require pickup at the station where the ship is currently docked. These pickups save a lot of time because only one flight is needed to complete the shipment, not two. This starts to add complexity into the rating system, as does accounting for the current cargo on the ship.
I have my own theory about the "flashing yellow critical shortage problem". Consider this in the spirit of the Laws of Thermodynamics:

1. A maximally efficient freighter would make every trip fully loaded.

2. A minimal buildup of inventory requires constant shipping of tiny cargoes the moment they become available.

3. More efficient use of fewer freighters requires larger inventories; keeping smaller inventories requires more freighters carry smaller loads.

4. Buildup of inventory, necessary to run fewer freighters more efficiently, takes time, and it is this span of time that shows up as a blinking yellow factory.

5. Assuming sufficient overall transport capacity, a factory blinking yellow is normal, a sign that freighter efficiency has not yet reached equilibrium with transport requirements.

FLDS should ideally balance the competing goals of maximum efficiency and minimum inventory, increasing efficiency only as needed to offset increased demand. That's why I chose the balanced priority (full source and empty destination equal).
Well, FLDS considers a stalled factory as bad, hence that "critically low" formula. As MSCI doesn't have an easy way to obtain resources needed per cycle, I plumped for the 5% figure, up to 50% for factories that only stock 2 final products (I'm quietly chuffed with that little formula, in a few lines it knows if a factory is stalled, with some overflow for large volume producers which doesn't matter too much).

Once we've got all our factories running and not "critical", FLDS just moves stuff around based on need and efficiency. Again, it's a system that should take into account all the factors (need, supply, distance, ship capacity, danger and flashing-yellow-ness) but I didn't have time to come up with a numerical score that accounts for everything. Hence the rather simple priority system with the second-pass veto on crap shipments.

Really, how routes are rated and ordered is an AI task and is pretty hard to nail down in what I call "normal logic". As long as a set of rules result in FLDS being sensible, keeping things running and not making bad decisions (which is slightly different to "making good decisions"), then it works. But the way I see things, if a factory flashes yellow, we've lost possible production time. And as a player sets up factories to produce stuff, lost production time, in my eyes, is the absolute worst-case that we aim to avoid.

Final idea on this: I'm actually tempted, when I get the chance after incorporating suggestions and changes already mentioned (with permission of course), to move the whole rating system out of the main script into a separate script. That way, we can have any number of rating systems present, and a simple rename of the script (eg from "plugin.FLDS.Route.Rating.AyeCapt" to "plugin.FLDS.Route.Rating") will allow a user to swap between them at will. And with the typical dependency snafu, script calls are interrupt points, so we'll need critical sectioning still (I think).
Whatever changes I made consider yours. Feel free to use the modified "FLDS" and the modifications within in any way you wish. Let me know when / if you want DeadlyDA to take down his link.

Oh, and welcome back! :)
Ultimately, I designed FLDS to take all the setup pain out of player run factory loops. I think it succeeded. Yes, I admit it gets a bit ropey in certain situations, but as long as FLDS doesn't die, I'm happy.

Now, my time is limited these days, so I can't guarantee being able to update it. But, I don't mind others hosting it, or making changes and releasing those.

As a suggestion, those who make changes could clearly identify new versions. For now, I'll "own" the normal version number progression, but feel to spawn a new version number tree (eg, FLDS v0.13-AC) that clearly identifies in some way your versions from mine and others'. And when I get time, with your permission I can try to incorporate changes in other version trees into my version.

Ultimately though, I'm happy that people have shown this much interest in FLDS. Quietly proud, almost :)

BlueSwede
Posts: 251
Joined: Sat, 7. May 05, 19:05
x3tc

Post by BlueSwede » Thu, 16. Jun 05, 00:48

I like the script. It's very usefull. I just completed a loop for 125MW shields yesterday. Never knew a 125MW shield needed that many factories, about 10.

If I may ask for a feature, it would be able to buy/sell excess products that your loop produces/lacks.
It could be in the form of axess to the normal MK 1 / MK II trading scripts.
For instance, the script could see that your loop does not produce energy cells, then the scripts calls the trading scripts and set a ship to buy it.

I don't know if this is possible, since I haven't tried any X2 scripting.

Aye Capn
Posts: 2611
Joined: Sat, 15. Feb 03, 07:17
x3tc

Post by Aye Capn » Thu, 16. Jun 05, 02:34

Then if you don't mind I'd like to call my mod "FLDS+LB".

The "LB" stands for "load-balancing", the goal that got me into this mess in the first place! (My first "load-balancing" effort consisted of overlapping SDS'es, each silicon mine of 26 yield or higher sending to 3 targets at a time. It was a pain to set up and a hideous tangle to extend.)

Incidentally I kept your "ship at source doubles priority" rule. It works well. It slightly conflicts with the goal of "load balancing", but only by a little, and the efficiency gain is easily worth it.

The "flashing yellow" is not as big a problem as freighters not maintaining sufficient efficiency to meet demand. Imagine a scenario where instead of moving ecells to a food factory I move 4 units of food to the critically short processing plant, over and over, until the food factory runs critically short of ecells. Now I deliver ecells, but the food factory has shut down for want of energy. You can see where that is headed -- I should've moved a full load of ecells before they got critical, even if it meant not moving another 4 units of food to the processing plant.

By moving another job, a bit less critical in demand but far greater in supply, I take care of a future problem, and when I return to the food plant it has built up to 8 units of stock, which I transport at a gain of 100% transport efficiency. At some point responding to critical shortages versus taking efficient loads will bring me to a balance, an equilibrium of transport demand versus efficiency: if I'm running 8 factories, I can't afford to keep moving 4 units of food to the processing plant.

Remember that since most producers and consumers are exactly balanced, those internal resources will ALWAYS be in critical shortage. The question is whether you can, given the transport efficiency demands of the system, afford to keep moving 4 units of food to the processing plant -- indefinitely, as it is consumed as fast as it is produced -- while the rest of the system nears collapse.

"... it will bottleneck when the flight time of a ship performing a shipment exceeds the total amount of time every other ship spends processing route information ..."

That happens at around 30 ships. Every ship in the universe from Getsu Fune to Priest's Pity shares the same critical section flag; at around 24 there is always a ship waiting to use it and at 30 there are always several, so you're not really getting 30 ships' worth of transport as half a dozen of them are always waiting in line. (Imagine a city in which only one toilet could flush at any given time ... at some point more bathrooms become useless.)

Cut the delay and you only increase the ceiling of ships that can run FLDS usefully. I am of the opinion the delay has to go entirely, unless ships can keep moving despite the delays.

BlueSwede:
If you set up FLDS properly, selling from one supplier will cause the other suppliers to pick up the balance. The cool part is as long as your surplus is big enough to support your loop plus some minimum level of sales FLDS will create an equilibrium, as increased demand for a product prompts FLDS to draw from the seller-supplier at a lower inventory threshold, leaving less inventory for sale. You can tweak that equilibrium by selling from more or fewer suppliers. (Moving a seller-ship to a higher or lower yield mine also works. My silicon seller is attached to a 64-yield mine, but if I encounter silicon shortages I can move it to a 54 or even a 26.)

Buying resources is another matter -- since FLDS doesn't transfer credits, you could only buy from a station that sells its products, not from a station that gives up its products to FLDS.

George Jetson
Posts: 7
Joined: Sat, 10. Apr 04, 06:05
x2

Post by George Jetson » Mon, 1. Aug 05, 10:44

Nazgutek,

This script rocks, thanks mate.

matrixx
Posts: 25
Joined: Wed, 18. Aug 04, 06:12
x3

Post by matrixx » Wed, 21. Sep 05, 17:43

Excellent Script saved me a lot of ships and time, Restarted game and I now using a few unsigned scripts. Currently this script has saved me about 15 ships in one sector alone. My only comment on this script is that it is not very effective at filling a station with needed resources and I have a lot of problems with station flashing yellow with lack of energy and not due to a lack of available ec's. While using BPH on most of stations was never a problem after first setup time. Hoping that Aye Capn changes will improve the ships and the delivery of there ec, and also the ships that is just sitting at HUB station.

Post Reply

Return to “X²: The Threat - Scripts and Modding”