update
This commit is contained in:
parent
ce3c235e68
commit
f72ad83067
@ -6,3 +6,8 @@
|
||||
|
||||
Place your save in **factorio_vol/saves/** as **main_save.zip**
|
||||
|
||||
## Mods
|
||||
|
||||
Something something place in **factorio_vol/mods**
|
||||
|
||||
|
||||
|
24
docker-compose.yml
Normal file
24
docker-compose.yml
Normal file
@ -0,0 +1,24 @@
|
||||
networks:
|
||||
proxy_net:
|
||||
external: yes
|
||||
|
||||
services:
|
||||
factorio:
|
||||
image: factoriotools/factorio
|
||||
container_name: factorio
|
||||
ports:
|
||||
- 34197:34197/udp
|
||||
# - 27015:27015/tcp
|
||||
|
||||
volumes:
|
||||
- ./factorio_vol:/factorio:rw
|
||||
restart: always
|
||||
networks:
|
||||
proxy_net:
|
||||
|
||||
# https://github.com/factoriotools/factorio-docker#environment-variables
|
||||
|
||||
environment:
|
||||
GENERATE_NEW_SAVE: "false"
|
||||
LOAD_LATEST_SAVE: "true"
|
||||
SAVE_NAME: main_save
|
78
factorio_vol/config/map-gen-settings.json
Executable file
78
factorio_vol/config/map-gen-settings.json
Executable file
@ -0,0 +1,78 @@
|
||||
{
|
||||
"_terrain_segmentation_comment": "The inverse of 'water scale' in the map generator GUI.",
|
||||
"terrain_segmentation": 1,
|
||||
|
||||
"_water_comment":
|
||||
[
|
||||
"The equivalent to 'water coverage' in the map generator GUI. Higher coverage means more water in larger oceans.",
|
||||
"Water level = 10 * log2(this value)"
|
||||
],
|
||||
"water": 1,
|
||||
|
||||
"_comment_width+height": "Width and height of map, in tiles; 0 means infinite",
|
||||
"width": 0,
|
||||
"height": 0,
|
||||
|
||||
"_starting_area_comment": "Multiplier for 'biter free zone radius'",
|
||||
"starting_area": 1,
|
||||
|
||||
"peaceful_mode": false,
|
||||
"autoplace_controls":
|
||||
{
|
||||
"coal": {"frequency": 1, "size": 1, "richness": 1},
|
||||
"stone": {"frequency": 1, "size": 1, "richness": 1},
|
||||
"copper-ore": {"frequency": 1, "size": 1,"richness": 1},
|
||||
"iron-ore": {"frequency": 1, "size": 1, "richness": 1},
|
||||
"uranium-ore": {"frequency": 1, "size": 1, "richness": 1},
|
||||
"crude-oil": {"frequency": 1, "size": 1, "richness": 1},
|
||||
"trees": {"frequency": 1, "size": 1, "richness": 1},
|
||||
"enemy-base": {"frequency": 1, "size": 1, "richness": 1}
|
||||
},
|
||||
|
||||
"cliff_settings":
|
||||
{
|
||||
"_name_comment": "Name of the cliff prototype",
|
||||
"name": "cliff",
|
||||
|
||||
"_cliff_elevation_0_comment": "Elevation of first row of cliffs",
|
||||
"cliff_elevation_0": 10,
|
||||
|
||||
"_cliff_elevation_interval_comment":
|
||||
[
|
||||
"Elevation difference between successive rows of cliffs.",
|
||||
"This is inversely proportional to 'frequency' in the map generation GUI. Specifically, when set from the GUI the value is 40 / frequency."
|
||||
],
|
||||
"cliff_elevation_interval": 40,
|
||||
|
||||
"_richness_comment": "Called 'cliff continuity' in the map generator GUI. 0 will result in no cliffs, 10 will make all cliff rows completely solid",
|
||||
"richness": 1
|
||||
},
|
||||
|
||||
"_property_expression_names_comment":
|
||||
[
|
||||
"Overrides for property value generators (map type)",
|
||||
"Leave 'elevation' blank to get 'normal' terrain.",
|
||||
"Use 'elevation': '0_16-elevation' to reproduce terrain from 0.16.",
|
||||
"Use 'elevation': '0_17-island' to get an island.",
|
||||
"Moisture and terrain type are also controlled via this.",
|
||||
"'control-setting:moisture:frequency:multiplier' is the inverse of the 'moisture scale' in the map generator GUI.",
|
||||
"'control-setting:moisture:bias' is the 'moisture bias' in the map generator GUI.",
|
||||
"'control-setting:aux:frequency:multiplier' is the inverse of the 'terrain type scale' in the map generator GUI.",
|
||||
"'control-setting:aux:bias' is the 'terrain type bias' in the map generator GUI."
|
||||
],
|
||||
"property_expression_names":
|
||||
{
|
||||
"control-setting:moisture:frequency:multiplier": "1",
|
||||
"control-setting:moisture:bias": "0",
|
||||
"control-setting:aux:frequency:multiplier": "1",
|
||||
"control-setting:aux:bias": "0"
|
||||
},
|
||||
|
||||
"starting_points":
|
||||
[
|
||||
{ "x": 0, "y": 0}
|
||||
],
|
||||
|
||||
"_seed_comment": "Use null for a random seed, number for a specific seed.",
|
||||
"seed": null
|
||||
}
|
120
factorio_vol/config/map-settings.json
Executable file
120
factorio_vol/config/map-settings.json
Executable file
@ -0,0 +1,120 @@
|
||||
{
|
||||
"difficulty_settings":
|
||||
{
|
||||
"recipe_difficulty": 0,
|
||||
"technology_difficulty": 0,
|
||||
"technology_price_multiplier": 1,
|
||||
"research_queue_setting": "after-victory"
|
||||
},
|
||||
"pollution":
|
||||
{
|
||||
"enabled": true,
|
||||
"_comment_min_to_diffuse_1": "these are values for 60 ticks (1 simulated second)",
|
||||
"_comment_min_to_diffuse_2": "amount that is diffused to neighboring chunk",
|
||||
"diffusion_ratio": 0.02,
|
||||
"min_to_diffuse": 15,
|
||||
"ageing": 1,
|
||||
"expected_max_per_chunk": 150,
|
||||
"min_to_show_per_chunk": 50,
|
||||
"min_pollution_to_damage_trees": 60,
|
||||
"pollution_with_max_forest_damage": 150,
|
||||
"pollution_per_tree_damage": 50,
|
||||
"pollution_restored_per_tree_damage": 10,
|
||||
"max_pollution_to_restore_trees": 20,
|
||||
"enemy_attack_pollution_consumption_modifier": 1
|
||||
},
|
||||
"enemy_evolution":
|
||||
{
|
||||
"enabled": true,
|
||||
"time_factor": 0.000004,
|
||||
"destroy_factor": 0.002,
|
||||
"pollution_factor": 0.0000009
|
||||
},
|
||||
"enemy_expansion":
|
||||
{
|
||||
"enabled": true,
|
||||
"min_base_spacing": 3,
|
||||
"max_expansion_distance": 7,
|
||||
"friendly_base_influence_radius": 2,
|
||||
"enemy_building_influence_radius": 2,
|
||||
"building_coefficient": 0.1,
|
||||
"other_base_coefficient": 2.0,
|
||||
"neighbouring_chunk_coefficient": 0.5,
|
||||
"neighbouring_base_chunk_coefficient": 0.4,
|
||||
"max_colliding_tiles_coefficient": 0.9,
|
||||
"settler_group_min_size": 5,
|
||||
"settler_group_max_size": 20,
|
||||
"min_expansion_cooldown": 14400,
|
||||
"max_expansion_cooldown": 216000
|
||||
},
|
||||
"unit_group":
|
||||
{
|
||||
"min_group_gathering_time": 3600,
|
||||
"max_group_gathering_time": 36000,
|
||||
"max_wait_time_for_late_members": 7200,
|
||||
"max_group_radius": 30.0,
|
||||
"min_group_radius": 5.0,
|
||||
"max_member_speedup_when_behind": 1.4,
|
||||
"max_member_slowdown_when_ahead": 0.6,
|
||||
"max_group_slowdown_factor": 0.3,
|
||||
"max_group_member_fallback_factor": 3,
|
||||
"member_disown_distance": 10,
|
||||
"tick_tolerance_when_member_arrives": 60,
|
||||
"max_gathering_unit_groups": 30,
|
||||
"max_unit_group_size": 200
|
||||
},
|
||||
"steering":
|
||||
{
|
||||
"default":
|
||||
{
|
||||
"radius": 1.2,
|
||||
"separation_force": 0.005,
|
||||
"separation_factor": 1.2,
|
||||
"force_unit_fuzzy_goto_behavior": false
|
||||
},
|
||||
"moving":
|
||||
{
|
||||
"radius": 3,
|
||||
"separation_force": 0.01,
|
||||
"separation_factor": 3,
|
||||
"force_unit_fuzzy_goto_behavior": false
|
||||
}
|
||||
},
|
||||
"path_finder":
|
||||
{
|
||||
"fwd2bwd_ratio": 5,
|
||||
"goal_pressure_ratio": 2,
|
||||
"max_steps_worked_per_tick": 100,
|
||||
"max_work_done_per_tick": 8000,
|
||||
"use_path_cache": true,
|
||||
"short_cache_size": 5,
|
||||
"long_cache_size": 25,
|
||||
"short_cache_min_cacheable_distance": 10,
|
||||
"short_cache_min_algo_steps_to_cache": 50,
|
||||
"long_cache_min_cacheable_distance": 30,
|
||||
"cache_max_connect_to_cache_steps_multiplier": 100,
|
||||
"cache_accept_path_start_distance_ratio": 0.2,
|
||||
"cache_accept_path_end_distance_ratio": 0.15,
|
||||
"negative_cache_accept_path_start_distance_ratio": 0.3,
|
||||
"negative_cache_accept_path_end_distance_ratio": 0.3,
|
||||
"cache_path_start_distance_rating_multiplier": 10,
|
||||
"cache_path_end_distance_rating_multiplier": 20,
|
||||
"stale_enemy_with_same_destination_collision_penalty": 30,
|
||||
"ignore_moving_enemy_collision_distance": 5,
|
||||
"enemy_with_different_destination_collision_penalty": 30,
|
||||
"general_entity_collision_penalty": 10,
|
||||
"general_entity_subsequent_collision_penalty": 3,
|
||||
"extended_collision_penalty": 3,
|
||||
"max_clients_to_accept_any_new_request": 10,
|
||||
"max_clients_to_accept_short_new_request": 100,
|
||||
"direct_distance_to_consider_short_request": 100,
|
||||
"short_request_max_steps": 1000,
|
||||
"short_request_ratio": 0.5,
|
||||
"min_steps_to_check_path_find_termination": 2000,
|
||||
"start_to_goal_cost_multiplier_to_terminate_path_find": 500.0,
|
||||
"overload_levels": [0, 100, 500],
|
||||
"overload_multipliers": [2, 3, 4],
|
||||
"negative_path_cache_delay_interval": 20
|
||||
},
|
||||
"max_failed_behavior_count": 3
|
||||
}
|
1
factorio_vol/config/rconpw
Executable file
1
factorio_vol/config/rconpw
Executable file
@ -0,0 +1 @@
|
||||
theeyaeChoote6n
|
72
factorio_vol/config/server-settings.json
Executable file
72
factorio_vol/config/server-settings.json
Executable file
@ -0,0 +1,72 @@
|
||||
{
|
||||
"name": "Boobacord server",
|
||||
"description": "Lorem ipsum",
|
||||
"tags": ["game", "tags"],
|
||||
|
||||
"_comment_max_players": "Maximum number of players allowed, admins can join even a full server. 0 means unlimited.",
|
||||
"max_players": 15,
|
||||
|
||||
"_comment_visibility": ["public: Game will be published on the official Factorio matching server",
|
||||
"lan: Game will be broadcast on LAN"],
|
||||
"visibility":
|
||||
{
|
||||
"public": false,
|
||||
"lan": true
|
||||
},
|
||||
|
||||
"_comment_credentials": "Your factorio.com login credentials. Required for games with visibility public",
|
||||
"username": "",
|
||||
"password": "",
|
||||
|
||||
"_comment_token": "Authentication token. May be used instead of 'password' above.",
|
||||
"token": "",
|
||||
|
||||
"game_password": "",
|
||||
|
||||
"_comment_require_user_verification": "When set to true, the server will only allow clients that have a valid Factorio.com account",
|
||||
"require_user_verification": true,
|
||||
|
||||
"_comment_max_upload_in_kilobytes_per_second" : "optional, default value is 0. 0 means unlimited.",
|
||||
"max_upload_in_kilobytes_per_second": 0,
|
||||
|
||||
"_comment_max_upload_slots" : "optional, default value is 5. 0 means unlimited.",
|
||||
"max_upload_slots": 5,
|
||||
|
||||
"_comment_minimum_latency_in_ticks": "optional one tick is 16ms in default speed, default value is 0. 0 means no minimum.",
|
||||
"minimum_latency_in_ticks": 0,
|
||||
|
||||
"_comment_max_heartbeats_per_second": "Network tick rate. Maximum rate game updates packets are sent at before bundling them together. Minimum value is 6, maximum value is 240.",
|
||||
"max_heartbeats_per_second": 60,
|
||||
|
||||
"_comment_ignore_player_limit_for_returning_players": "Players that played on this map already can join even when the max player limit was reached.",
|
||||
"ignore_player_limit_for_returning_players": false,
|
||||
|
||||
"_comment_allow_commands": "possible values are, true, false and admins-only",
|
||||
"allow_commands": "admins-only",
|
||||
|
||||
"_comment_autosave_interval": "Autosave interval in minutes",
|
||||
"autosave_interval": 10,
|
||||
|
||||
"_comment_autosave_slots": "server autosave slots, it is cycled through when the server autosaves.",
|
||||
"autosave_slots": 50,
|
||||
|
||||
"_comment_afk_autokick_interval": "How many minutes until someone is kicked when doing nothing, 0 for never.",
|
||||
"afk_autokick_interval": 0,
|
||||
|
||||
"_comment_auto_pause": "Whether should the server be paused when no players are present.",
|
||||
"auto_pause": true,
|
||||
|
||||
"only_admins_can_pause_the_game": true,
|
||||
|
||||
"_comment_autosave_only_on_server": "Whether autosaves should be saved only on server or also on all connected clients. Default is true.",
|
||||
"autosave_only_on_server": true,
|
||||
|
||||
"_comment_non_blocking_saving": "Highly experimental feature, enable only at your own risk of losing your saves. On UNIX systems, server will fork itself to create an autosave. Autosaving on connected Windows clients will be disabled regardless of autosave_only_on_server option.",
|
||||
"non_blocking_saving": false,
|
||||
|
||||
"_comment_segment_sizes": "Long network messages are split into segments that are sent over multiple ticks. Their size depends on the number of peers currently connected. Increasing the segment size will increase upload bandwidth requirement for the server and download bandwidth requirement for clients. This setting only affects server outbound messages. Changing these settings can have a negative impact on connection stability for some clients.",
|
||||
"minimum_segment_size": 25,
|
||||
"minimum_segment_size_peer_count": 20,
|
||||
"maximum_segment_size": 100,
|
||||
"maximum_segment_size_peer_count": 10
|
||||
}
|
57
factorio_vol/factorio-current.log
Executable file
57
factorio_vol/factorio-current.log
Executable file
@ -0,0 +1,57 @@
|
||||
0.000 2022-01-02 15:52:41; Factorio 1.1.50 (build 59278, linux64, headless)
|
||||
0.000 Operating system: Linux
|
||||
0.000 Program arguments: "/opt/factorio/bin/x64/factorio" "--port" "34197" "--server-settings" "/factorio/config/server-settings.json" "--server-banlist" "/factorio/config/server-banlist.json" "--rcon-port" "27015" "--server-whitelist" "/factorio/config/server-whitelist.json" "--use-server-whitelist" "--server-adminlist" "/factorio/config/server-adminlist.json" "--rcon-password" <private> "--server-id" "/factorio/config/server-id.json" "--start-server-load-latest"
|
||||
0.000 Read data path: /opt/factorio/data
|
||||
0.000 Write data path: /factorio [1854625/3754531MB]
|
||||
0.000 Binaries path: /opt/factorio/bin
|
||||
0.008 System info: [CPU: AMD FX(tm)-8350 Eight-Core Processor, 8 cores, RAM: 15778 MB]
|
||||
0.008 Environment: DISPLAY=<unset> WAYLAND_DISPLAY=<unset> DESKTOP_SESSION=<unset> XDG_SESSION_DESKTOP=<unset> XDG_CURRENT_DESKTOP=<unset> __GL_FSAA_MODE=<unset> __GL_LOG_MAX_ANISO=<unset> __GL_SYNC_TO_VBLANK=<unset> __GL_SORT_FBCONFIGS=<unset> __GL_YIELD=<unset>
|
||||
0.008 Running in headless mode
|
||||
0.012 Loading mod core 0.0.0 (data.lua)
|
||||
0.066 Loading mod base 1.1.50 (data.lua)
|
||||
0.395 Loading mod base 1.1.50 (data-updates.lua)
|
||||
0.533 Checksum for core: 1625176034
|
||||
0.533 Checksum of base: 321760681
|
||||
0.826 Prototype list checksum: 3034860339
|
||||
0.899 Info PlayerData.cpp:71: Local player-data.json available, timestamp 1641138761
|
||||
0.899 Info PlayerData.cpp:78: Cloud player-data.json unavailable
|
||||
0.900 Factorio initialised
|
||||
0.905 Info ServerSynchronizer.cpp:29: nextHeartbeatSequenceNumber(0) initialized Synchronizer nextTickClosureTick(0).
|
||||
0.905 Info ServerMultiplayerManager.cpp:797: updateTick(4294967295) changing state from(Ready) to(PreparedToHostGame)
|
||||
0.905 Info ServerMultiplayerManager.cpp:797: updateTick(4294967295) changing state from(PreparedToHostGame) to(CreatingGame)
|
||||
0.905 Loading map /factorio/saves/_autosave1.zip: 557756 bytes.
|
||||
0.920 Loading level.dat: 997147 bytes.
|
||||
0.925 Info Scenario.cpp:198: Map version 1.1.50-1
|
||||
0.950 Loading script.dat: 1171 bytes.
|
||||
0.954 Checksum for script /factorio/temp/currently-playing/control.lua: 3795083680
|
||||
0.956 Info UDPSocket.cpp:27: Opening socket at (IP ADDR:({0.0.0.0:34197}))
|
||||
0.956 Hosting game at IP ADDR:({0.0.0.0:34197})
|
||||
0.957 Info HttpSharedState.cpp:54: Downloading https://auth.factorio.com/generate-server-padlock-2?api_version=4
|
||||
1.336 Info AuthServerConnector.cpp:68: Obtained serverPadlock for serverHash (mXmrJA5Ea657a0fCxdY5isrCzXbznfed) from the auth server.
|
||||
1.336 Info ServerMultiplayerManager.cpp:797: updateTick(0) changing state from(CreatingGame) to(InGame)
|
||||
1.528 Info ServerRouter.cpp:657: Asking pingpong servers (pingpong1.factorio.com:34197, pingpong2.factorio.com:34197, pingpong3.factorio.com:34197, pingpong4.factorio.com:34197) for own address
|
||||
1.528 Info UDPSocket.cpp:39: Opening socket for broadcast
|
||||
1.528 Error InterruptibleStdioStream.cpp:61: Got EOF on stdin; closing
|
||||
1.528 Info RemoteCommandProcessor.cpp:130: Starting RCON interface at IP ADDR:({0.0.0.0:27015})
|
||||
1.528 Info CommandLineMultiplayer.cpp:284: Maximum segment size = 100; minimum segment size = 25; maximum-segment-size peer count = 10; minimum-segment-size peer count = 20
|
||||
1.646 Info ServerRouter.cpp:540: Own address is IP ADDR:({83.44.243.138:34197}) (confirmed by pingpong1)
|
||||
1.662 Error ServerMultiplayerManager.cpp:734: Matching server connection failed: Error when creating server game: Missing token.
|
||||
1.696 Info ServerRouter.cpp:540: Own address is IP ADDR:({83.44.243.138:34197}) (confirmed by pingpong3)
|
||||
1.812 Info ServerRouter.cpp:540: Own address is IP ADDR:({83.44.243.138:34197}) (confirmed by pingpong4)
|
||||
6.007 Received SIGTERM, shutting down
|
||||
6.007 Quitting: signal.
|
||||
6.007 Info MainLoop.cpp:417: Saving map as /factorio/saves/_autosave1.zip
|
||||
6.050 Info MainLoop.cpp:428: Saving progress: 0.250000%
|
||||
6.054 Info MainLoop.cpp:428: Saving progress: 100.000000%
|
||||
6.077 Info ServerMultiplayerManager.cpp:113: Disconnecting multiplayer connection.
|
||||
6.077 Info ServerMultiplayerManager.cpp:797: updateTick(0) changing state from(InGame) to(DisconnectingScheduled)
|
||||
6.110 Info ServerMultiplayerManager.cpp:797: updateTick(0) changing state from(DisconnectingScheduled) to(Disconnecting)
|
||||
6.144 Info ServerMultiplayerManager.cpp:797: updateTick(0) changing state from(Disconnecting) to(Disconnected)
|
||||
6.144 Info ServerMultiplayerManager.cpp:140: Quitting multiplayer connection.
|
||||
6.144 Info ServerMultiplayerManager.cpp:797: updateTick(0) changing state from(Disconnected) to(Closed)
|
||||
6.347 Info UDPSocket.cpp:218: Closing socket
|
||||
6.347 Info UDPSocket.cpp:248: Socket closed
|
||||
6.347 Info UDPSocket.cpp:218: Closing socket
|
||||
6.415 Info UDPSocket.cpp:218: Closing socket
|
||||
6.415 Info UDPSocket.cpp:248: Socket closed
|
||||
6.460 Goodbye
|
23
factorio_vol/factorio-previous.log
Executable file
23
factorio_vol/factorio-previous.log
Executable file
@ -0,0 +1,23 @@
|
||||
0.000 2022-01-02 15:52:39; Factorio 1.1.50 (build 59278, linux64, headless)
|
||||
0.000 Operating system: Linux
|
||||
0.000 Program arguments: "/opt/factorio/bin/x64/factorio" "--create" "/factorio/saves/_autosave1.zip" "--map-gen-settings" "/factorio/config/map-gen-settings.json" "--map-settings" "/factorio/config/map-settings.json"
|
||||
0.000 Read data path: /opt/factorio/data
|
||||
0.000 Write data path: /factorio [1854625/3754531MB]
|
||||
0.000 Binaries path: /opt/factorio/bin
|
||||
0.008 System info: [CPU: AMD FX(tm)-8350 Eight-Core Processor, 8 cores, RAM: 15778 MB]
|
||||
0.008 Environment: DISPLAY=<unset> WAYLAND_DISPLAY=<unset> DESKTOP_SESSION=<unset> XDG_SESSION_DESKTOP=<unset> XDG_CURRENT_DESKTOP=<unset> __GL_FSAA_MODE=<unset> __GL_LOG_MAX_ANISO=<unset> __GL_SYNC_TO_VBLANK=<unset> __GL_SORT_FBCONFIGS=<unset> __GL_YIELD=<unset>
|
||||
0.008 Running in headless mode
|
||||
0.012 Loading mod core 0.0.0 (data.lua)
|
||||
0.067 Loading mod base 1.1.50 (data.lua)
|
||||
0.398 Loading mod base 1.1.50 (data-updates.lua)
|
||||
0.537 Checksum for core: 1625176034
|
||||
0.537 Checksum of base: 321760681
|
||||
0.825 Prototype list checksum: 3034860339
|
||||
0.887 Info PlayerData.cpp:73: Local player-data.json unavailable
|
||||
0.887 Info PlayerData.cpp:78: Cloud player-data.json unavailable
|
||||
0.888 Factorio initialised
|
||||
0.888 Info Main.cpp:740: Creating new map /factorio/saves/_autosave1.zip
|
||||
1.812 Loading level.dat: 997127 bytes.
|
||||
1.812 Info Scenario.cpp:198: Map version 1.1.50-1
|
||||
1.840 Checksum for script /factorio/temp/currently-playing/control.lua: 3795083680
|
||||
1.969 Goodbye
|
11
factorio_vol/mods/mod-list.json
Executable file
11
factorio_vol/mods/mod-list.json
Executable file
@ -0,0 +1,11 @@
|
||||
|
||||
{
|
||||
"mods":
|
||||
[
|
||||
|
||||
{
|
||||
"name": "base",
|
||||
"enabled": true
|
||||
}
|
||||
]
|
||||
}
|
558
factorio_vol/player-data.json
Executable file
558
factorio_vol/player-data.json
Executable file
@ -0,0 +1,558 @@
|
||||
|
||||
{
|
||||
"available-campaign-levels":
|
||||
{
|
||||
"tight-spot":
|
||||
{
|
||||
"level-01": "hard"
|
||||
},
|
||||
"transport-belt-madness":
|
||||
{
|
||||
"level-01": "hard"
|
||||
},
|
||||
"tutorial":
|
||||
{
|
||||
"level-01": "hard"
|
||||
}
|
||||
},
|
||||
"tips":
|
||||
{
|
||||
"introduction":
|
||||
{
|
||||
"status": "unlocked",
|
||||
"elapsed": 0
|
||||
},
|
||||
"show-info":
|
||||
{
|
||||
"status": "dependencies-not-met"
|
||||
},
|
||||
"e-confirm":
|
||||
{
|
||||
"status": "locked"
|
||||
},
|
||||
"clear-cursor":
|
||||
{
|
||||
"status": "dependencies-not-met"
|
||||
},
|
||||
"pipette":
|
||||
{
|
||||
"status": "locked"
|
||||
},
|
||||
"stack-transfers":
|
||||
{
|
||||
"status": "locked",
|
||||
"skip_status":
|
||||
{
|
||||
"conditions":
|
||||
[
|
||||
|
||||
{},
|
||||
|
||||
{},
|
||||
|
||||
{}
|
||||
]
|
||||
}
|
||||
},
|
||||
"entity-transfers":
|
||||
{
|
||||
"status": "locked",
|
||||
"conditions":
|
||||
[
|
||||
|
||||
{},
|
||||
|
||||
{
|
||||
"elapsed": 0
|
||||
}
|
||||
],
|
||||
"skip_status":
|
||||
{
|
||||
"conditions":
|
||||
[
|
||||
|
||||
{},
|
||||
|
||||
{}
|
||||
]
|
||||
}
|
||||
},
|
||||
"z-dropping":
|
||||
{
|
||||
"status": "locked",
|
||||
"conditions":
|
||||
[
|
||||
|
||||
{},
|
||||
|
||||
{
|
||||
"elapsed": 0
|
||||
}
|
||||
]
|
||||
},
|
||||
"shoot-targeting":
|
||||
{
|
||||
"status": "locked",
|
||||
"conditions":
|
||||
[
|
||||
|
||||
{},
|
||||
|
||||
{
|
||||
"elapsed": 0
|
||||
}
|
||||
]
|
||||
},
|
||||
"bulk-crafting":
|
||||
{
|
||||
"status": "locked"
|
||||
},
|
||||
"rotating-assemblers":
|
||||
{
|
||||
"status": "locked",
|
||||
"conditions":
|
||||
[
|
||||
|
||||
{},
|
||||
|
||||
{}
|
||||
]
|
||||
},
|
||||
"circuit-network":
|
||||
{
|
||||
"status": "locked",
|
||||
"conditions":
|
||||
[
|
||||
|
||||
{},
|
||||
|
||||
{
|
||||
"elapsed": 0
|
||||
}
|
||||
]
|
||||
},
|
||||
"inserters":
|
||||
{
|
||||
"status": "locked"
|
||||
},
|
||||
"burner-inserter-refueling":
|
||||
{
|
||||
"status": "locked"
|
||||
},
|
||||
"long-handed-inserters":
|
||||
{
|
||||
"status": "locked"
|
||||
},
|
||||
"move-between-labs":
|
||||
{
|
||||
"status": "locked"
|
||||
},
|
||||
"insertion-limits":
|
||||
{
|
||||
"status": "locked"
|
||||
},
|
||||
"limit-chests":
|
||||
{
|
||||
"status": "locked",
|
||||
"conditions":
|
||||
[
|
||||
|
||||
{},
|
||||
|
||||
{}
|
||||
]
|
||||
},
|
||||
"transport-belts":
|
||||
{
|
||||
"status": "locked"
|
||||
},
|
||||
"belt-lanes":
|
||||
{
|
||||
"status": "locked"
|
||||
},
|
||||
"splitters":
|
||||
{
|
||||
"status": "locked"
|
||||
},
|
||||
"splitter-filters":
|
||||
{
|
||||
"status": "locked"
|
||||
},
|
||||
"underground-belts":
|
||||
{
|
||||
"status": "locked"
|
||||
},
|
||||
"electric-network":
|
||||
{
|
||||
"status": "locked",
|
||||
"conditions":
|
||||
[
|
||||
|
||||
{
|
||||
"conditions":
|
||||
[
|
||||
|
||||
{
|
||||
"conditions":
|
||||
[
|
||||
|
||||
{},
|
||||
|
||||
{}
|
||||
]
|
||||
},
|
||||
|
||||
{
|
||||
"elapsed": 0
|
||||
}
|
||||
]
|
||||
},
|
||||
|
||||
{},
|
||||
|
||||
{},
|
||||
|
||||
{},
|
||||
|
||||
{}
|
||||
]
|
||||
},
|
||||
"steam-power":
|
||||
{
|
||||
"status": "dependencies-not-met"
|
||||
},
|
||||
"electric-pole-connections":
|
||||
{
|
||||
"status": "locked",
|
||||
"conditions":
|
||||
[
|
||||
|
||||
{
|
||||
"elapsed": 0
|
||||
},
|
||||
|
||||
{}
|
||||
]
|
||||
},
|
||||
"low-power":
|
||||
{
|
||||
"status": "locked"
|
||||
},
|
||||
"connect-switch":
|
||||
{
|
||||
"status": "locked"
|
||||
},
|
||||
"copy-entity-settings":
|
||||
{
|
||||
"status": "locked"
|
||||
},
|
||||
"copy-paste-trains":
|
||||
{
|
||||
"status": "locked"
|
||||
},
|
||||
"copy-paste-filters":
|
||||
{
|
||||
"status": "locked"
|
||||
},
|
||||
"copy-paste-requester-chest":
|
||||
{
|
||||
"status": "locked",
|
||||
"conditions":
|
||||
[
|
||||
|
||||
{},
|
||||
|
||||
{}
|
||||
]
|
||||
},
|
||||
"copy-paste-spidertron":
|
||||
{
|
||||
"status": "locked"
|
||||
},
|
||||
"drag-building":
|
||||
{
|
||||
"status": "locked"
|
||||
},
|
||||
"drag-building-poles":
|
||||
{
|
||||
"status": "locked"
|
||||
},
|
||||
"pole-dragging-coverage":
|
||||
{
|
||||
"status": "dependencies-not-met"
|
||||
},
|
||||
"drag-building-underground-belts":
|
||||
{
|
||||
"status": "locked"
|
||||
},
|
||||
"fast-belt-bending":
|
||||
{
|
||||
"status": "locked"
|
||||
},
|
||||
"fast-obstacle-traversing":
|
||||
{
|
||||
"status": "locked",
|
||||
"conditions":
|
||||
[
|
||||
|
||||
{},
|
||||
|
||||
{}
|
||||
]
|
||||
},
|
||||
"trains":
|
||||
{
|
||||
"status": "locked"
|
||||
},
|
||||
"rail-building":
|
||||
{
|
||||
"status": "locked",
|
||||
"conditions":
|
||||
[
|
||||
|
||||
{},
|
||||
|
||||
{}
|
||||
]
|
||||
},
|
||||
"train-stops":
|
||||
{
|
||||
"status": "locked",
|
||||
"conditions":
|
||||
[
|
||||
|
||||
{},
|
||||
|
||||
{
|
||||
"conditions":
|
||||
[
|
||||
|
||||
{},
|
||||
|
||||
{}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"rail-signals-basic":
|
||||
{
|
||||
"status": "locked",
|
||||
"conditions":
|
||||
[
|
||||
|
||||
{},
|
||||
|
||||
{
|
||||
"conditions":
|
||||
[
|
||||
|
||||
{},
|
||||
|
||||
{}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"rail-signals-advanced":
|
||||
{
|
||||
"status": "locked",
|
||||
"conditions":
|
||||
[
|
||||
|
||||
{},
|
||||
|
||||
{}
|
||||
]
|
||||
},
|
||||
"gate-over-rail":
|
||||
{
|
||||
"status": "locked",
|
||||
"conditions":
|
||||
[
|
||||
|
||||
{},
|
||||
|
||||
{},
|
||||
|
||||
{}
|
||||
]
|
||||
},
|
||||
"pump-connection":
|
||||
{
|
||||
"status": "locked",
|
||||
"conditions":
|
||||
[
|
||||
|
||||
{},
|
||||
|
||||
{
|
||||
"conditions":
|
||||
[
|
||||
|
||||
{},
|
||||
|
||||
{}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"train-stop-same-name":
|
||||
{
|
||||
"status": "locked"
|
||||
},
|
||||
"logistic-network":
|
||||
{
|
||||
"status": "locked",
|
||||
"conditions":
|
||||
[
|
||||
|
||||
{},
|
||||
|
||||
{}
|
||||
]
|
||||
},
|
||||
"personal-logistics":
|
||||
{
|
||||
"status": "locked"
|
||||
},
|
||||
"construction-robots":
|
||||
{
|
||||
"status": "locked"
|
||||
},
|
||||
"passive-provider-chest":
|
||||
{
|
||||
"status": "dependencies-not-met"
|
||||
},
|
||||
"storage-chest":
|
||||
{
|
||||
"status": "dependencies-not-met"
|
||||
},
|
||||
"requester-chest":
|
||||
{
|
||||
"status": "locked"
|
||||
},
|
||||
"active-provider-chest":
|
||||
{
|
||||
"status": "locked"
|
||||
},
|
||||
"buffer-chest":
|
||||
{
|
||||
"status": "locked"
|
||||
},
|
||||
"ghost-building":
|
||||
{
|
||||
"status": "locked",
|
||||
"skip_status":
|
||||
{
|
||||
"conditions":
|
||||
[
|
||||
|
||||
{},
|
||||
|
||||
{}
|
||||
]
|
||||
}
|
||||
},
|
||||
"ghost-rail-planner":
|
||||
{
|
||||
"status": "locked",
|
||||
"conditions":
|
||||
[
|
||||
|
||||
{
|
||||
"conditions":
|
||||
[
|
||||
|
||||
{},
|
||||
|
||||
{},
|
||||
|
||||
{}
|
||||
]
|
||||
},
|
||||
|
||||
{}
|
||||
]
|
||||
},
|
||||
"copy-paste":
|
||||
{
|
||||
"status": "locked",
|
||||
"conditions":
|
||||
[
|
||||
|
||||
{},
|
||||
|
||||
{
|
||||
"elapsed": 0
|
||||
}
|
||||
]
|
||||
},
|
||||
"fast-replace":
|
||||
{
|
||||
"status": "locked",
|
||||
"conditions":
|
||||
[
|
||||
|
||||
{},
|
||||
|
||||
{},
|
||||
|
||||
{}
|
||||
]
|
||||
},
|
||||
"fast-replace-direction":
|
||||
{
|
||||
"status": "locked"
|
||||
},
|
||||
"fast-replace-belt-splitter":
|
||||
{
|
||||
"status": "locked",
|
||||
"skip_status":
|
||||
{
|
||||
"conditions":
|
||||
[
|
||||
|
||||
{},
|
||||
|
||||
{}
|
||||
]
|
||||
}
|
||||
},
|
||||
"fast-replace-belt-underground":
|
||||
{
|
||||
"status": "locked"
|
||||
}
|
||||
},
|
||||
"service-username": "",
|
||||
"service-token": "",
|
||||
"last-used-filters":
|
||||
{
|
||||
"players": "any",
|
||||
"password": "any",
|
||||
"mods": "any",
|
||||
"friends": "any"
|
||||
},
|
||||
"column-ordering":
|
||||
{
|
||||
"public-index": "name",
|
||||
"public-ascending": true,
|
||||
"lan-index": "name",
|
||||
"lan-ascending": true
|
||||
},
|
||||
"editor-lua-snippets":
|
||||
[
|
||||
|
||||
{
|
||||
"name": "Example (Turn trees into biters)",
|
||||
"code": "local surface = game.player.surface\nlocal entities = surface.find_entities_filtered{area = area, type = 'tree'}\nfor k, tree in pairs(entities) do\n local position = tree.position\n tree.destroy()\n surface.create_entity{name = 'small-biter', position = position}\nend"
|
||||
}
|
||||
],
|
||||
"last-played-version":
|
||||
{
|
||||
"game_version": "1.1.50",
|
||||
"build_version": 59278,
|
||||
"build_mode": "headless",
|
||||
"platform": "linux64"
|
||||
},
|
||||
"blueprint-view": "grid"
|
||||
}
|
12
notes.md
Normal file
12
notes.md
Normal file
@ -0,0 +1,12 @@
|
||||
### Commands
|
||||
|
||||
```sh
|
||||
mkdir -p ./factorio
|
||||
sudo chown 845:845 factorio
|
||||
docker run -d \
|
||||
-p 34197:34197/udp \
|
||||
-p 27015:27015/tcp \
|
||||
-v "$(pwd)/factorio:/factorio" \
|
||||
--name factorio \
|
||||
factoriotools/factorio
|
||||
```
|
5
prepare.sh
Executable file
5
prepare.sh
Executable file
@ -0,0 +1,5 @@
|
||||
#!/bin/sh
|
||||
|
||||
mkdir factorio_vol
|
||||
chown -R 845:845 factorio_vol
|
||||
chmod -R 750 factorio_vol
|
Loading…
x
Reference in New Issue
Block a user