Archipelago icon indicating copy to clipboard operation
Archipelago copied to clipboard

Factorio: support 2.0 update

Open Berserker66 opened this issue 1 year ago • 1 comments

What is this fixing or adding?

Adds support for Factorio 2.0 Removes support for rocket part liquid crafting. I didn't add it myself, it was a contribution, and how it works got completely broken in the update, and since I don't know how it worked in the first place well enough to understand what changed, I turned it off. Fixing it is a welcome contribution. Fixes Y offset in lib being 1024 instead of the variable. Adds Space Age DLC as explicitly not compatible, preventing loading both at the same time. Quality and Elevated Rails seems to work fine, so they are not listed. I don't really get where, if anywhere, terrain segmentation and water went. There is now a new system that allows evaluation of string expressions, which is fancy, but nearly impossible to validate on our end. Canned it for now. There is a new helper function to convert a map exchange string into a world gen preset, something I've wanted before. So maybe we just switch to exchange strings entirely, Making it a FreeText, I don't know yet. For now, it works. RCON has a 5 second timeout now, in case the server dies because of the command send. Removed 2.0 Tutorialization and unlocked those items from the start. Used fresh data extraction on 2.0.11

How was this tested?

locally a bit, recieved a few AP items, send some AP locations. Did not play to completion.

Berserker66 avatar Oct 28 '24 00:10 Berserker66

Using main, this file weight.json, and seed 43763751007784144776:

  File "..\Fill.py", line 214, in fill_restrictive
    raise FillError(f"No more spots to place {len(unplaced_items)} items. Remaining locations are invalid.\n"
Fill.FillError: No more spots to place 12 items. Remaining locations are invalid.
Unplaced items:
concrete (Player 1), advanced-circuit (Player 1), processing-unit (Player 1), steel-processing (Player 1), sulfur-processing (Player 1), electric-engine (Player 1), plastics (Player 1), oil-processing (Player 1), lubricant (Player 1), engine (Player 1), advanced-oil-processing (Player 1), oil-gathering (Player 1)
Unfilled locations:
AP-1-089, AP-1-759, AP-1-851, AP-1-301, AP-1-462, AP-1-213, AP-1-938, AP-1-031, AP-1-746, AP-1-730, AP-1-772, AP-1-662, AP-1-077, AP-1-419, AP-1-113, AP-1-873, AP-1-960, AP-1-459, AP-1-091, AP-1-952, AP-1-717, AP-1-793, AP-1-532, AP-1-194, AP-1-112, AP-1-589, AP-1-626, AP-1-107, AP-1-561, AP-1-478, AP-1-944, AP-1-732, AP-1-888, AP-1-430, AP-1-058, AP-1-282, AP-1-412, AP-1-553, AP-1-167, AP-1-617, AP-1-335, AP-1-398, AP-1-729, AP-1-347, AP-1-751, AP-1-915, AP-1-535, AP-1-090, AP-1-525, AP-1-244, AP-1-269, AP-1-702, AP-1-034, AP-1-456, AP-1-911, AP-1-120, AP-1-377, AP-1-799, AP-1-757, AP-1-171, AP-1-431, AP-1-243, AP-1-706, AP-1-479, AP-1-511, AP-1-017, AP-1-047, AP-1-160, AP-1-186, AP-1-792, AP-1-695, AP-1-956, AP-1-305, AP-1-359, AP-1-405, AP-1-522, AP-1-173, AP-1-225, AP-1-145, AP-1-857, AP-1-981, AP-1-569, AP-1-388, AP-1-156, AP-1-619, AP-1-400, AP-1-963, AP-1-971, AP-1-275, AP-1-874, AP-1-839, AP-1-306, AP-1-117, AP-1-018, AP-1-994, AP-1-364, AP-1-912, AP-1-550, AP-1-240, AP-1-394, AP-1-780, AP-1-925, AP-1-303, AP-1-783, AP-1-185, AP-1-311, AP-1-674, AP-1-513, AP-1-408, AP-1-482, AP-1-258, AP-1-110, AP-1-897, AP-1-396, AP-1-611, AP-1-381, AP-1-837, AP-1-548, AP-1-016, AP-1-371, AP-1-071, AP-1-797, AP-1-148, AP-1-907, AP-1-747, AP-1-940, AP-1-521, AP-1-226, AP-1-516, AP-1-866, AP-1-564, AP-1-677, AP-1-712, AP-1-727, AP-1-273, AP-1-014, AP-1-859, AP-1-538, AP-1-579, AP-1-954, AP-1-214, AP-1-281, AP-1-109, AP-1-832, AP-1-819, AP-1-789, AP-1-346, AP-1-540, AP-1-934, AP-1-134, AP-1-056, AP-1-537, AP-1-254, AP-1-057, AP-1-927, AP-1-622, AP-1-317, AP-1-937, AP-1-900, AP-1-964, AP-1-571, AP-1-921, AP-1-838, AP-1-466, AP-1-389, AP-1-686, AP-1-349, AP-1-277, AP-1-645, AP-1-149, AP-1-222, AP-1-764, AP-1-942, AP-1-825, AP-1-735, AP-1-740, AP-1-209, AP-1-189, AP-1-460, AP-1-506, AP-1-073, AP-1-688, AP-1-005
Already placed 0:

All Placements:
[(AP-1-004, logistics), (AP-1-003, automation), (AP-1-995, rocket-silo), (Rocket Launch, Victory), (Automate automation-science-pack, Automated automation-science-pack)]

Seeds 22392616436460806980, 69431285635489689499:

Exception: Could not access required locations for accessibility check. Missing: [Rocket Launch (Player1)]

And a lot more similar errors quite often, so something probably needs fixing

Exempt-Medic avatar Oct 28 '24 13:10 Exempt-Medic

Using main, this file weight.json, and seed 43763751007784144776:

  File "..\Fill.py", line 214, in fill_restrictive
    raise FillError(f"No more spots to place {len(unplaced_items)} items. Remaining locations are invalid.\n"
Fill.FillError: No more spots to place 12 items. Remaining locations are invalid.
Unplaced items:
concrete (Player 1), advanced-circuit (Player 1), processing-unit (Player 1), steel-processing (Player 1), sulfur-processing (Player 1), electric-engine (Player 1), plastics (Player 1), oil-processing (Player 1), lubricant (Player 1), engine (Player 1), advanced-oil-processing (Player 1), oil-gathering (Player 1)
Unfilled locations:
AP-1-089, AP-1-759, AP-1-851, AP-1-301, AP-1-462, AP-1-213, AP-1-938, AP-1-031, AP-1-746, AP-1-730, AP-1-772, AP-1-662, AP-1-077, AP-1-419, AP-1-113, AP-1-873, AP-1-960, AP-1-459, AP-1-091, AP-1-952, AP-1-717, AP-1-793, AP-1-532, AP-1-194, AP-1-112, AP-1-589, AP-1-626, AP-1-107, AP-1-561, AP-1-478, AP-1-944, AP-1-732, AP-1-888, AP-1-430, AP-1-058, AP-1-282, AP-1-412, AP-1-553, AP-1-167, AP-1-617, AP-1-335, AP-1-398, AP-1-729, AP-1-347, AP-1-751, AP-1-915, AP-1-535, AP-1-090, AP-1-525, AP-1-244, AP-1-269, AP-1-702, AP-1-034, AP-1-456, AP-1-911, AP-1-120, AP-1-377, AP-1-799, AP-1-757, AP-1-171, AP-1-431, AP-1-243, AP-1-706, AP-1-479, AP-1-511, AP-1-017, AP-1-047, AP-1-160, AP-1-186, AP-1-792, AP-1-695, AP-1-956, AP-1-305, AP-1-359, AP-1-405, AP-1-522, AP-1-173, AP-1-225, AP-1-145, AP-1-857, AP-1-981, AP-1-569, AP-1-388, AP-1-156, AP-1-619, AP-1-400, AP-1-963, AP-1-971, AP-1-275, AP-1-874, AP-1-839, AP-1-306, AP-1-117, AP-1-018, AP-1-994, AP-1-364, AP-1-912, AP-1-550, AP-1-240, AP-1-394, AP-1-780, AP-1-925, AP-1-303, AP-1-783, AP-1-185, AP-1-311, AP-1-674, AP-1-513, AP-1-408, AP-1-482, AP-1-258, AP-1-110, AP-1-897, AP-1-396, AP-1-611, AP-1-381, AP-1-837, AP-1-548, AP-1-016, AP-1-371, AP-1-071, AP-1-797, AP-1-148, AP-1-907, AP-1-747, AP-1-940, AP-1-521, AP-1-226, AP-1-516, AP-1-866, AP-1-564, AP-1-677, AP-1-712, AP-1-727, AP-1-273, AP-1-014, AP-1-859, AP-1-538, AP-1-579, AP-1-954, AP-1-214, AP-1-281, AP-1-109, AP-1-832, AP-1-819, AP-1-789, AP-1-346, AP-1-540, AP-1-934, AP-1-134, AP-1-056, AP-1-537, AP-1-254, AP-1-057, AP-1-927, AP-1-622, AP-1-317, AP-1-937, AP-1-900, AP-1-964, AP-1-571, AP-1-921, AP-1-838, AP-1-466, AP-1-389, AP-1-686, AP-1-349, AP-1-277, AP-1-645, AP-1-149, AP-1-222, AP-1-764, AP-1-942, AP-1-825, AP-1-735, AP-1-740, AP-1-209, AP-1-189, AP-1-460, AP-1-506, AP-1-073, AP-1-688, AP-1-005
Already placed 0:

All Placements:
[(AP-1-004, logistics), (AP-1-003, automation), (AP-1-995, rocket-silo), (Rocket Launch, Victory), (Automate automation-science-pack, Automated automation-science-pack)]

Seeds 22392616436460806980, 69431285635489689499:

Exception: Could not access required locations for accessibility check. Missing: [Rocket Launch (Player1)]

And a lot more similar errors quite often, so something probably needs fixing

This should now work, it wasn't seeing a custom automation science as something that doesn't need a technology unlock. In 2.0 it does need a tech unlock, but not through actual science but new tutorialization, so there is a tech for it that the rando falsely latches onto, it's supposed to delete it, but the rule builder wasn`t aware of that yet... I hope that makes some sense to someone?

Berserker66 avatar Nov 04 '24 06:11 Berserker66

I guess the short version is, that it was assuming a technology is needed for logic that later gets deleted, so it was functional but didn't know it.

Berserker66 avatar Nov 04 '24 06:11 Berserker66

There continue to be failing seeds. (Fill Error with Rocket Launch not reachable)

81101846489975118673 62904900941227376146 96568704314689116755

Factorio.json

NewSoupVi avatar Nov 08 '24 17:11 NewSoupVi

Did 50 random generations, seeds that failed:

"fill_restrictive FillError(f"No more spots to place {len(unplaced_items)} items. Remaining locations are invalid.\n" ": 23815633847072339945 83218274987330048002 48586561033597431500 32892771627070122591 1833620347695733599 5938550427451584027 9047164522656622084 18901378836269442609 75904407305102621730 98419003364533745295 33395929260490439667 99238837665253410757 62049195984636577608 12184305280800471357 45966342011047463554 19375501769454141996 37021057110788556776 93726773297974080006 3127580122429868305 46254761910675021268 28400934063762175154 96213491659038074482 27649132049462434680 50024167128838102441 56120479930092159751 3786061902561560064 24666235034482244707

"Could not access required locations for accessibility check. Missing: [Rocket Launch] Fill.FillError: Game appears as unbeatable. Aborting. 77013167689265252883 50814991520965939238 22233278224051815053 83677266631490456746 88713685386217843473

Yaml: weights.json

Exempt-Medic avatar Nov 11 '24 12:11 Exempt-Medic

Dafuq, I did generations too and I had no more issues. Strange

NewSoupVi avatar Nov 11 '24 12:11 NewSoupVi

Hmmmm I don't think I'm getting these issues.

NewSoupVi avatar Nov 11 '24 12:11 NewSoupVi

I love accidentally leaving in an old APWorld and there being no indication or warning for this :(

I guess I could have noticed order of the big list of world types. So false alarm 🤦

Exempt-Medic avatar Nov 11 '24 12:11 Exempt-Medic